Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In-place interpreter: fix clobbered register in call and reduce memory usage for if and br #16890

Conversation

danlliu
Copy link
Contributor

@danlliu danlliu commented Aug 21, 2023

fcf3ca8

In-place interpreter: fix clobbered register in call and reduce memory usage for if and br
https://bugs.webkit.org/show_bug.cgi?id=260471
rdar://114218539

Reviewed by Yusuke Suzuki.

Updated `call` instruction to save caller save registers around the operation call.
Reduce memory usage for if and br by 3B by saving the size of the instruction instead of the next PC.

* Source/JavaScriptCore/llint/InPlaceInterpreter.asm:
* Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp:
(JSC::Wasm::IPIntGenerator::addIf):
(JSC::Wasm::IPIntGenerator::addBranch):
(JSC::Wasm::IPIntGenerator::addSwitch):

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

a9fbe41

Misc iOS, tvOS & watchOS macOS Linux Windows
βœ… πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe βœ… πŸ›  wincairo
βœ… πŸ›  ios-sim βœ… πŸ›  mac-AS-debug βœ… πŸ§ͺ wpe-wk2
βœ… πŸ§ͺ webkitperl βœ… πŸ§ͺ ios-wk2 βœ… πŸ§ͺ api-mac βœ… πŸ›  gtk
βœ… πŸ§ͺ ios-wk2-wpt βœ… πŸ§ͺ mac-wk1 βœ… πŸ§ͺ gtk-wk2
βœ… πŸ›  πŸ§ͺ jsc βœ… πŸ§ͺ api-ios βœ… πŸ§ͺ mac-wk2 βœ… πŸ§ͺ api-gtk
βœ… πŸ›  πŸ§ͺ jsc-arm64 βœ… πŸ›  tv βœ… πŸ§ͺ mac-AS-debug-wk2 βœ… πŸ›  jsc-armv7
βœ… πŸ›  tv-sim βœ… πŸ§ͺ jsc-armv7-tests
βœ… πŸ›  watch ❌ πŸ›  jsc-mips
βœ… πŸ›  πŸ§ͺ unsafe-merge βœ… πŸ›  watch-sim ❌ πŸ§ͺ jsc-mips-tests

@danlliu danlliu requested a review from a team as a code owner August 21, 2023 16:58
@danlliu danlliu self-assigned this Aug 21, 2023
@danlliu danlliu added the JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues. label Aug 21, 2023
Copy link
Member

@Constellation Constellation 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

@danlliu danlliu added the merge-queue Applied to send a pull request to merge-queue label Aug 21, 2023
@webkit-commit-queue
Copy link
Collaborator

Commit message contains (OOPS!), blocking PR #16890

@webkit-commit-queue webkit-commit-queue added merging-blocked Applied to prevent a change from being merged and removed merge-queue Applied to send a pull request to merge-queue labels Aug 21, 2023
@danlliu danlliu removed the merging-blocked Applied to prevent a change from being merged label Aug 21, 2023
@danlliu danlliu force-pushed the eng/In-place-interpreter-fix-clobbered-register-in-call-and-reduce-memory-usage-for-if-and-br branch from 8a9ff9f to a9fbe41 Compare August 21, 2023 21:40
@danlliu danlliu added the unsafe-merge-queue Applied to send a pull request to merge-queue, but skip building and testing label Aug 22, 2023
…y usage for if and br

https://bugs.webkit.org/show_bug.cgi?id=260471
rdar://114218539

Reviewed by Yusuke Suzuki.

Updated `call` instruction to save caller save registers around the operation call.
Reduce memory usage for if and br by 3B by saving the size of the instruction instead of the next PC.

* Source/JavaScriptCore/llint/InPlaceInterpreter.asm:
* Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp:
(JSC::Wasm::IPIntGenerator::addIf):
(JSC::Wasm::IPIntGenerator::addBranch):
(JSC::Wasm::IPIntGenerator::addSwitch):

Canonical link: https://commits.webkit.org/267142@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/In-place-interpreter-fix-clobbered-register-in-call-and-reduce-memory-usage-for-if-and-br branch from a9fbe41 to fcf3ca8 Compare August 22, 2023 18:08
@webkit-commit-queue
Copy link
Collaborator

Committed 267142@main (fcf3ca8): https://commits.webkit.org/267142@main

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

@webkit-commit-queue webkit-commit-queue merged commit fcf3ca8 into WebKit:main Aug 22, 2023
@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 Aug 22, 2023
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
4 participants