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

Reply via email to