[webkit-changes] [WebKit/WebKit] da370a: [JSC] Make all slow-path calls for IC thunk in Bas...
Yusuke Suzuki
noreply at github.com
Wed Sep 13 17:43:26 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: da370a1c5ebf5a65bc2a9f730088e292eaadaec1
https://github.com/WebKit/WebKit/commit/da370a1c5ebf5a65bc2a9f730088e292eaadaec1
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2023-09-13 (Wed, 13 Sep 2023)
Changed paths:
M Source/JavaScriptCore/jit/JIT.h
M Source/JavaScriptCore/jit/JITCall.cpp
M Source/JavaScriptCore/jit/JITInlines.h
M Source/JavaScriptCore/jit/JITOpcodes.cpp
Log Message:
-----------
[JSC] Make all slow-path calls for IC thunk in BaselineJIT DataIC
https://bugs.webkit.org/show_bug.cgi?id=261480
rdar://115392198
Reviewed by Mark Lam.
Now we aligned all register usage in BaselineJIT DataIC. So we can just use DataIC
slow path thunk in all places including more complicated opcodes.
1. instanceof should have slow path thunk in the same way to the other IC. Just doing it.
2. iterator_next / iterator_open includes some complicated get_by_id ops inside it.
Let's use get_by_id's slow path thunk in the slow path of them. This is totally OK since
they are using the same registers to get_by_id.
* Source/JavaScriptCore/jit/JIT.h:
* Source/JavaScriptCore/jit/JITCall.cpp:
(JSC::JIT::emit_op_iterator_open):
(JSC::JIT::emitSlow_op_iterator_open):
(JSC::JIT::emit_op_iterator_next):
(JSC::JIT::emitSlow_op_iterator_next):
* Source/JavaScriptCore/jit/JITInlines.h:
(JSC::JIT::emitValueProfilingSite):
* Source/JavaScriptCore/jit/JITOpcodes.cpp:
(JSC::JIT::emitSlow_op_instanceof):
(JSC::JIT::slow_op_instanceof_callSlowOperationThenCheckExceptionGenerator):
Canonical link: https://commits.webkit.org/267976@main
More information about the webkit-changes
mailing list