Skip to content

Enable BUILTIN_FRAME_ADDRESS using _AddressOfReturnAddress()#30043

Merged
webkit-commit-queue merged 1 commit into
WebKit:mainfrom
iangrunert:eng/Win-Enable-BUILTIN_FRAME_ADDRESS-using-_AddressOfReturnAddress
Jun 25, 2024
Merged

Enable BUILTIN_FRAME_ADDRESS using _AddressOfReturnAddress()#30043
webkit-commit-queue merged 1 commit into
WebKit:mainfrom
iangrunert:eng/Win-Enable-BUILTIN_FRAME_ADDRESS-using-_AddressOfReturnAddress

Conversation

@iangrunert
Copy link
Copy Markdown
Contributor

@iangrunert iangrunert commented Jun 21, 2024

0ced454

Enable BUILTIN_FRAME_ADDRESS using _AddressOfReturnAddress()
https://bugs.webkit.org/show_bug.cgi?id=275567

Reviewed by Justin Michaud.

Use _AddressOfReturnAddress(), as the __builtin_frame_address(0) returns
a location after local variables and saved nonvolatile registers on
Windows (see https://learn.microsoft.com/en-us/cpp/build/stack-usage).
We explicitly clobber the frame pointer, otherwise it's not always saved
like it is on other platforms.

* Source/JavaScriptCore/interpreter/CallFrame.h:
* Source/WTF/wtf/PlatformUse.h:

Canonical link: https://commits.webkit.org/280335@main

eb6b367

Misc iOS, visionOS, tvOS & watchOS macOS Linux Windows
✅ 🧪 style ✅ 🛠 ios ✅ 🛠 mac ✅ 🛠 wpe ✅ 🛠 wincairo
✅ 🛠 ios-sim ✅ 🛠 mac-AS-debug ✅ 🧪 wpe-wk2 ✅ 🧪 wincairo-tests
✅ 🧪 webkitperl ✅ 🧪 ios-wk2 ✅ 🧪 api-mac ✅ 🧪 api-wpe
✅ 🧪 ios-wk2-wpt ✅ 🧪 mac-wk1 ✅ 🛠 wpe-cairo
✅ 🛠 🧪 jsc ✅ 🧪 api-ios ✅ 🧪 mac-wk2 ✅ 🛠 gtk
✅ 🛠 🧪 jsc-arm64 ⏳ 🛠 vision ✅ 🧪 mac-AS-debug-wk2 ✅ 🧪 gtk-wk2
⏳ 🛠 vision-sim ✅ 🧪 mac-wk2-stress ✅ 🧪 api-gtk
⏳ 🧪 vision-wk2 ✅ 🛠 jsc-armv7
✅ 🛠 🧪 unsafe-merge ✅ 🛠 tv ✅ 🧪 jsc-armv7-tests
✅ 🛠 tv-sim
✅ 🛠 watch
✅ 🛠 watch-sim

@iangrunert iangrunert requested a review from a team as a code owner June 21, 2024 14:45
@iangrunert iangrunert added the JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues. label Jun 21, 2024
@iangrunert iangrunert self-assigned this Jun 21, 2024
@iangrunert iangrunert force-pushed the eng/Win-Enable-BUILTIN_FRAME_ADDRESS-using-_AddressOfReturnAddress branch from b0086b4 to eb6b367 Compare June 21, 2024 14:51
Copy link
Copy Markdown
Contributor

@justinmichaud justinmichaud left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me

@Constellation Constellation added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Jun 25, 2024
https://bugs.webkit.org/show_bug.cgi?id=275567

Reviewed by Justin Michaud.

Use _AddressOfReturnAddress(), as the __builtin_frame_address(0) returns
a location after local variables and saved nonvolatile registers on
Windows (see https://learn.microsoft.com/en-us/cpp/build/stack-usage).
We explicitly clobber the frame pointer, otherwise it's not always saved
like it is on other platforms.

* Source/JavaScriptCore/interpreter/CallFrame.h:
* Source/WTF/wtf/PlatformUse.h:

Canonical link: https://commits.webkit.org/280335@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/Win-Enable-BUILTIN_FRAME_ADDRESS-using-_AddressOfReturnAddress branch from eb6b367 to 0ced454 Compare June 25, 2024 15:17
@webkit-commit-queue
Copy link
Copy Markdown
Collaborator

Committed 280335@main (0ced454): https://commits.webkit.org/280335@main

Reviewed commits have been landed. Closing PR #30043 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 0ced454 into WebKit:main Jun 25, 2024
@webkit-commit-queue webkit-commit-queue removed the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Jun 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants