[JSC] Use emitDumbVirtualCall in 32bit JIT
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Oct 2017 16:42:16 +0000 (16:42 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Oct 2017 16:42:16 +0000 (16:42 +0000)
https://bugs.webkit.org/show_bug.cgi?id=178644

Reviewed by Mark Lam.

This patch aligns 32bit JIT op_call_eval slow case to 64bit version by using emitDumbVirtualCall.

* jit/JITCall32_64.cpp:
(JSC::JIT::compileCallEvalSlowCase):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223892 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jit/JITCall32_64.cpp

index ed2ef8f..e05ec2e 100644 (file)
@@ -1,3 +1,15 @@
+2017-10-24  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        [JSC] Use emitDumbVirtualCall in 32bit JIT
+        https://bugs.webkit.org/show_bug.cgi?id=178644
+
+        Reviewed by Mark Lam.
+
+        This patch aligns 32bit JIT op_call_eval slow case to 64bit version by using emitDumbVirtualCall.
+
+        * jit/JITCall32_64.cpp:
+        (JSC::JIT::compileCallEvalSlowCase):
+
 2017-10-22  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         [JSC] Drop ArityCheckData
index 417348d..1a267e6 100644 (file)
@@ -212,12 +212,8 @@ void JIT::compileCallEvalSlowCase(Instruction* instruction, Vector<SlowCaseEntry
 
     addPtr(TrustedImm32(registerOffset * sizeof(Register) + sizeof(CallerFrameAndPC)), callFrameRegister, stackPointerRegister);
 
-    move(TrustedImmPtr(info), regT2);
-
     emitLoad(callee, regT1, regT0);
-    MacroAssemblerCodeRef virtualThunk = virtualThunkFor(m_vm, *info);
-    info->setSlowStub(createJITStubRoutine(virtualThunk, *m_vm, nullptr, true));
-    emitNakedCall(virtualThunk.code());
+    emitDumbVirtualCall(*vm(), info);
     addPtr(TrustedImm32(stackPointerOffsetFor(m_codeBlock) * sizeof(Register)), callFrameRegister, stackPointerRegister);
     checkStackPointerAlignment();