Title: [188773] branches/jsc-tailcall/Source/_javascript_Core
Revision
188773
Author
[email protected]
Date
2015-08-21 14:35:51 -0700 (Fri, 21 Aug 2015)

Log Message

jsc-tailcall: We should not assume that only the baseline JIT can have ById accesses
https://bugs.webkit.org/show_bug.cgi?id=148330

Reviewed by Michael Saboff.

We currently restore the stack pointer after a ById access by using
JIT::stackPointerOffsetFor, which will compute the *baseline* stack
pointer offset. Let's use CodeBlock::stackPointerOffset instead, so
that we have the correct result for non-baseline JIT tiers as well.

* jit/Repatch.cpp:
(JSC::generateByIdStub):

Modified Paths

Diff

Modified: branches/jsc-tailcall/Source/_javascript_Core/ChangeLog (188772 => 188773)


--- branches/jsc-tailcall/Source/_javascript_Core/ChangeLog	2015-08-21 20:50:59 UTC (rev 188772)
+++ branches/jsc-tailcall/Source/_javascript_Core/ChangeLog	2015-08-21 21:35:51 UTC (rev 188773)
@@ -1,5 +1,20 @@
 2015-08-21  Basile Clement  <[email protected]>
 
+        jsc-tailcall: We should not assume that only the baseline JIT can have ById accesses
+        https://bugs.webkit.org/show_bug.cgi?id=148330
+
+        Reviewed by Michael Saboff.
+
+        We currently restore the stack pointer after a ById access by using
+        JIT::stackPointerOffsetFor, which will compute the *baseline* stack
+        pointer offset. Let's use CodeBlock::stackPointerOffset instead, so
+        that we have the correct result for non-baseline JIT tiers as well.
+
+        * jit/Repatch.cpp:
+        (JSC::generateByIdStub):
+
+2015-08-21  Basile Clement  <[email protected]>
+
         Unreviewed, fixes the build.
         https://bugs.webkit.org/show_bug.cgi?id=148316
 

Modified: branches/jsc-tailcall/Source/_javascript_Core/jit/Repatch.cpp (188772 => 188773)


--- branches/jsc-tailcall/Source/_javascript_Core/jit/Repatch.cpp	2015-08-21 20:50:59 UTC (rev 188772)
+++ branches/jsc-tailcall/Source/_javascript_Core/jit/Repatch.cpp	2015-08-21 21:35:51 UTC (rev 188773)
@@ -515,7 +515,7 @@
             fastPathCall = stubJit.nearCall();
 
             stubJit.addPtr(
-                MacroAssembler::TrustedImm32(JIT::stackPointerOffsetFor(codeBlock) * sizeof(Register)),
+                MacroAssembler::TrustedImm32(codeBlock->stackPointerOffset() * sizeof(Register)),
                 GPRInfo::callFrameRegister,
                 MacroAssembler::stackPointerRegister);
             if (kind == CallGetter)
@@ -532,7 +532,7 @@
             slowPathCall = stubJit.nearCall();
             
             stubJit.addPtr(
-                MacroAssembler::TrustedImm32(JIT::stackPointerOffsetFor(codeBlock) * sizeof(Register)),
+                MacroAssembler::TrustedImm32(codeBlock->stackPointerOffset() * sizeof(Register)),
                 GPRInfo::callFrameRegister,
                 MacroAssembler::stackPointerRegister);
             if (kind == CallGetter)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to