Skip to content
Permalink
Browse files
[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):


Canonical link: https://commits.webkit.org/194888@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@223892 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
Constellation committed Oct 24, 2017
1 parent 787633e commit ec9976162c519762631868f02e8f24044d3a884a
Showing with 13 additions and 5 deletions.
  1. +12 −0 Source/JavaScriptCore/ChangeLog
  2. +1 −5 Source/JavaScriptCore/jit/JITCall32_64.cpp
@@ -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
@@ -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();

0 comments on commit ec99761

Please sign in to comment.