Changeset 38412 in webkit for trunk/JavaScriptCore/VM/CodeBlock.h


Ignore:
Timestamp:
Nov 14, 2008, 5:33:36 PM (17 years ago)
Author:
[email protected]
Message:

2008-11-14 Gavin Barraclough <[email protected]>

Reviewed by Geoff Garen.

Generate less code for the slow cases of op_call and op_construct.
https://bugs.webkit.org/show_bug.cgi?id=22272

1% progression on v8 tests.

  • VM/CTI.cpp: (JSC::CTI::emitRetrieveArg): (JSC::CTI::emitNakedCall): (JSC::CTI::compileOpCallInitializeCallFrame): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompileCTIMachineTrampolines):
  • VM/CTI.h:
  • VM/CodeBlock.h: (JSC::getCallLinkInfoReturnLocation): (JSC::CodeBlock::getCallLinkInfo):
  • VM/Machine.cpp: (JSC::Machine::Machine): (JSC::Machine::cti_vm_dontLazyLinkCall): (JSC::Machine::cti_vm_lazyLinkCall):
  • VM/Machine.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/CodeBlock.h

    r38369 r38412  
    121121    }
    122122
     123    inline void* getCallLinkInfoReturnLocation(CallLinkInfo* callLinkInfo)
     124    {
     125        return callLinkInfo->callReturnLocation;
     126    }
     127
    123128    // Binary chop algorithm, calls valueAtPosition on pre-sorted elements in array,
    124129    // compares result with key (KeyTypes should be comparable with '--', '<', '>').
     
    301306        }
    302307
     308        CallLinkInfo& getCallLinkInfo(void* returnAddress)
     309        {
     310            return *(binaryChop<CallLinkInfo, void*, getCallLinkInfoReturnLocation>(callLinkInfos.begin(), callLinkInfos.size(), returnAddress));
     311        }
     312
    303313        ScopeNode* ownerNode;
    304314        JSGlobalData* globalData;
Note: See TracChangeset for help on using the changeset viewer.