⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 161361 in webkit


Ignore:
Timestamp:
Jan 6, 2014, 12:23:07 PM (13 years ago)
Author:
mark.lam@apple.com
Message:

CStack: jsStackLimit fixup should not exceed native stack limit.
https://bugs.webkit.org/show_bug.cgi?id=126487.

Reviewed by Michael Saboff.

In doCallToJavaScript, we fixup VM::m_jsStackLimit once we know what the
stackPointerAtVMEntry is. However, we also need to ensure that the fixed
up jsStackLimit does not exceed the native stack limit. This check was
missing, and resulted in an assertion failure when running testapi on
platforms that have smaller stacks. This is now fixed.

  • llint/LowLevelInterpreter64.asm:
Location:
branches/jsCStack/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/jsCStack/Source/JavaScriptCore/ChangeLog

    r161326 r161361  
     12014-01-06  Mark Lam  <mark.lam@apple.com>
     2
     3        CStack: jsStackLimit fixup should not exceed native stack limit.
     4        https://bugs.webkit.org/show_bug.cgi?id=126487.
     5
     6        Reviewed by Michael Saboff.
     7
     8        In doCallToJavaScript, we fixup VM::m_jsStackLimit once we know what the
     9        stackPointerAtVMEntry is. However, we also need to ensure that the fixed
     10        up jsStackLimit does not exceed the native stack limit. This check was
     11        missing, and resulted in an assertion failure when running testapi on
     12        platforms that have smaller stacks. This is now fixed.
     13
     14        * llint/LowLevelInterpreter64.asm:
     15
    1162014-01-05  Michael Saboff  <msaboff@apple.com>
    217
  • branches/jsCStack/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm

    r161300 r161361  
    129129    subp VM::stackPointerAtVMEntry[vm], temp2, temp2
    130130    subp VM::m_jsStackLimit[vm], temp2, temp2
     131if C_LOOP
     132else
     133    bpaeq temp2, VM::m_stackLimit[vm], .noNeedToCapJSStackToNativeStackLimit
     134    loadp VM::m_stackLimit[vm], temp2
     135.noNeedToCapJSStackToNativeStackLimit:
     136end
    131137    storep temp2, VM::m_jsStackLimit[vm]
    132138    move sp, temp2
Note: See TracChangeset for help on using the changeset viewer.