Summary: | Use currentStackPointer more | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Yusuke Suzuki <ysuzuki> | ||||
Component: | New Bugs | Assignee: | Yusuke Suzuki <ysuzuki> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | benjamin, cdumez, cmarcelo, dbates, ews-watchlist, keith_miller, mark.lam, msaboff, saam, webkit-bug-importer | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | WebKit Nightly Build | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Yusuke Suzuki
2018-10-11 18:03:44 PDT
Created attachment 352115 [details]
Patch
Comment on attachment 352115 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=352115&action=review > Source/WTF/wtf/StackBounds.cpp:55 > + volatile uint8_t* stackValue = bitwise_cast<uint8_t*>(currentStackPointer()); Does this work on debug builds where this is an actual function call? (In reply to Saam Barati from comment #2) > Comment on attachment 352115 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=352115&action=review > > > Source/WTF/wtf/StackBounds.cpp:55 > > + volatile uint8_t* stackValue = bitwise_cast<uint8_t*>(currentStackPointer()); > > Does this work on debug builds where this is an actual function call? Yeah, at least in x64, it works :) Landed in https://trac.webkit.org/r237059 (In reply to Yusuke Suzuki from comment #3) > (In reply to Saam Barati from comment #2) > > Comment on attachment 352115 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=352115&action=review > > > > > Source/WTF/wtf/StackBounds.cpp:55 > > > + volatile uint8_t* stackValue = bitwise_cast<uint8_t*>(currentStackPointer()); > > > > Does this work on debug builds where this is an actual function call? > > Yeah, at least in x64, it works :) Yes, currentStackPointer() is designed to work on both release and debug builds. They work differently though: the release build version relies on it being inlined, while the debug build version relies on it not being inlined. |