[webkit-changes] [WebKit/WebKit] f4e684: [JSC] Do not fallback to slow C++ JSBoundFunction ...
Yusuke Suzuki
noreply at github.com
Wed Dec 13 14:21:29 PST 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f4e684d4ff33534862ab452e73691e49a36f8ed3
https://github.com/WebKit/WebKit/commit/f4e684d4ff33534862ab452e73691e49a36f8ed3
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2023-12-13 (Wed, 13 Dec 2023)
Changed paths:
M Source/JavaScriptCore/jit/JITOperations.cpp
M Source/JavaScriptCore/jit/JITOperations.h
M Source/JavaScriptCore/jit/ThunkGenerators.cpp
M Source/JavaScriptCore/runtime/VM.cpp
Log Message:
-----------
[JSC] Do not fallback to slow C++ JSBoundFunction code
https://bugs.webkit.org/show_bug.cgi?id=266311
rdar://119582604
Reviewed by Justin Michaud.
Let's not fallback to slow C++ JSBoundFunction code, which invokes function through interpreter again.
We can just materialize JIT code from JSBoundFunction thunk and continue running from JS world instead of jumping to C++ and jumping back to JS.
* Source/JavaScriptCore/jit/JITOperations.cpp:
(JSC::materializeTargetCode):
(JSC::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/jit/JITOperations.h:
* Source/JavaScriptCore/jit/ThunkGenerators.cpp:
(JSC::boundFunctionCallGenerator):
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::thunkGeneratorForIntrinsic):
Canonical link: https://commits.webkit.org/272004@main
More information about the webkit-changes
mailing list