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

[JSC] Avoid allocating heap Function for forEachDebugger #3978

Conversation

Constellation
Copy link
Member

@Constellation Constellation commented Sep 2, 2022

2d6f6e3

[JSC] Avoid allocating heap Function for forEachDebugger
https://bugs.webkit.org/show_bug.cgi?id=244741

Reviewed by Devin Rousso.

We should keep NativeExecutable creation cheap. This patch moves VM::forEachDebugger to
VMInlines, and avoid allocating heap data structure for Function.

* Source/JavaScriptCore/runtime/NativeExecutable.cpp:
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::forEachDebugger): Deleted.
* Source/JavaScriptCore/runtime/VM.h:
* Source/JavaScriptCore/runtime/VMInlines.h:
(JSC::VM::forEachDebugger):

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

a810c76

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

@Constellation Constellation requested a review from a team as a code owner September 2, 2022 23:53
@Constellation Constellation self-assigned this Sep 2, 2022
@Constellation Constellation added JavaScriptCore For bugs in JavaScriptCore, the JS engine used by WebKit, other than kxmlcore issues. WebKit Nightly Build labels Sep 2, 2022
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Sep 3, 2022
@Constellation Constellation removed the merging-blocked Applied to prevent a change from being merged label Sep 3, 2022
@Constellation Constellation force-pushed the eng/JSC-Avoid-allocating-heap-Function-for-forEachDebugger branch from 96bb532 to a810c76 Compare September 3, 2022 00:11
@Constellation
Copy link
Member Author

@dcrousso thank you!

@dcrousso
Copy link
Member

dcrousso commented Sep 3, 2022

@Constellation thanks for fixing this! apologies for the trouble πŸ˜…

@Constellation Constellation added the merge-queue Applied to send a pull request to merge-queue label Sep 3, 2022
@webkit-early-warning-system webkit-early-warning-system force-pushed the eng/JSC-Avoid-allocating-heap-Function-for-forEachDebugger branch from a810c76 to 2d6f6e3 Compare September 3, 2022 03:22
@webkit-commit-queue
Copy link
Collaborator

Committed 254125@main (2d6f6e3): https://commits.webkit.org/254125@main

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

@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Sep 3, 2022
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
5 participants