Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: da370a1c5ebf5a65bc2a9f730088e292eaadaec1
https://github.com/WebKit/WebKit/commit/da370a1c5ebf5a65bc2a9f730088e292eaadaec1
Author: Yusuke Suzuki <[email protected]>
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
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes