RESOLVED FIXED184316
Add pointer profiling support to the DFG and supporting files.
https://bugs.webkit.org/show_bug.cgi?id=184316
Summary Add pointer profiling support to the DFG and supporting files.
Mark Lam
Reported 2018-04-04 14:38:19 PDT
Patch coming.
Attachments
proposed patch. (91.78 KB, patch)
2018-04-04 17:17 PDT, Mark Lam
fpizlo: review+
patch for landing. (91.87 KB, patch)
2018-04-04 20:07 PDT, Mark Lam
no flags
Radar WebKit Bug Importer
Comment 1 2018-04-04 14:39:03 PDT
Mark Lam
Comment 2 2018-04-04 17:17:10 PDT
Created attachment 337245 [details] proposed patch. Let's get some baking time on the EWS.
EWS Watchlist
Comment 3 2018-04-04 17:19:40 PDT
Attachment 337245 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h:170: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 1 in 30 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 4 2018-04-04 17:37:22 PDT
Comment on attachment 337245 [details] proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=337245&action=review > Source/JavaScriptCore/b3/air/AirCCallSpecial.cpp:137 > + jit.call(scratchRegister, B3CCallPtrTag); This might be OK, but can you file a bug for passing the ptrtag to the CCallValue, so that the client of B3 can select what tag is used for each call they emit? > Source/JavaScriptCore/dfg/DFGOSRExit.cpp:755 > +#if USE(POINTER_PROFILING) > + void* oldEntrySP = cpu.fp<uint8_t*>() + sizeof(CallerFrameAndPC); > + void* newEntrySP = cpu.fp<uint8_t*>() + inlineCallFrame->returnPCOffset() + sizeof(void*); > + returnPC = retagCodePtr(returnPC, bitwise_cast<PtrTag>(oldEntrySP), bitwise_cast<PtrTag>(newEntrySP)); > +#endif Wait... won't this fail miserably if the OSR exit is reused at a different stack height?
Filip Pizlo
Comment 5 2018-04-04 17:43:45 PDT
Comment on attachment 337245 [details] proposed patch. View in context: https://bugs.webkit.org/attachment.cgi?id=337245&action=review OK, now that Mark explained this to me, I get it. r=me >> Source/JavaScriptCore/dfg/DFGOSRExit.cpp:755 >> +#endif > > Wait... won't this fail miserably if the OSR exit is reused at a different stack height? Never mind, this is the probe code. It's right.
Mark Lam
Comment 6 2018-04-04 20:07:22 PDT
Created attachment 337254 [details] patch for landing.
EWS Watchlist
Comment 7 2018-04-04 20:10:15 PDT
Attachment 337254 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h:170: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 1 in 30 files If any of these errors are false positives, please file a bug against check-webkit-style.
Mark Lam
Comment 8 2018-04-04 21:31:03 PDT
Thanks for the review. Landed in r230294: <http://trac.webkit.org/r230294>.
Note You need to log in before you can comment on or make changes to this bug.