Ignore:
Timestamp:
Jan 29, 2014, 11:18:54 AM (11 years ago)
Author:
[email protected]
Message:

Merge the jsCStack branch
https://bugs.webkit.org/show_bug.cgi?id=127763

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
up to changeset 162958.

Source/WebCore:

Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
up to changeset 162958.

Source/WTF:

Changes from http://svn.webkit.org/repository/webkit/branches/jsCStack
up to changeset 162958.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ftl/FTLOSREntry.cpp

    r161962 r163027  
    4444    VM& vm = exec->vm();
    4545    CodeBlock* baseline = dfgCodeBlock->baselineVersion();
     46    ExecutableBase* executable = dfgCodeBlock->ownerExecutable();
    4647    DFG::JITCode* dfgCode = dfgCodeBlock->jitCode()->dfg();
    4748    ForOSREntryJITCode* entryCode = entryCodeBlock->jitCode()->ftlForOSREntry();
     
    8182   
    8283    int stackFrameSize = entryCode->common.requiredRegisterCountForExecutionAndExit();
    83     if (!vm.interpreter->stack().grow(&exec->registers()[virtualRegisterForLocal(stackFrameSize).offset()])) {
     84    if (!vm.interpreter->stack().ensureCapacityFor(&exec->registers()[virtualRegisterForLocal(stackFrameSize - 1).offset()])) {
    8485        if (Options::verboseOSR())
    8586            dataLog("    OSR failed because stack growth failed.\n");
     
    8990    exec->setCodeBlock(entryCodeBlock);
    9091   
    91     void* result = entryCode->addressForCall().executableAddress();
     92    void* result = entryCode->addressForCall(
     93        vm, executable, ArityCheckNotRequired,
     94        RegisterPreservationNotRequired).executableAddress();
    9295    if (Options::verboseOSR())
    9396        dataLog("    Entry will succeed, going to address", RawPointer(result), "\n");
Note: See TracChangeset for help on using the changeset viewer.