Changeset 37576 in webkit for trunk/JavaScriptCore/VM/Machine.cpp


Ignore:
Timestamp:
Oct 13, 2008, 10:29:39 PM (17 years ago)
Author:
[email protected]
Message:

2008-10-13 Maciej Stachowiak <[email protected]>

Reviewed by Cameron Zwarich.


  • make Machine::getArgumentsData an Arguments method and inline it


~2% on v8 raytrace

  • VM/Machine.cpp:
  • kjs/Arguments.h: (JSC::Machine::getArgumentsData):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/Machine.cpp

    r37570 r37576  
    39743974}
    39753975
    3976 void Machine::getArgumentsData(CallFrame* callFrame, JSFunction*& function, ptrdiff_t& firstParameterIndex, Register*& argv, int& argc)
    3977 {
    3978     function = callFrame->callee();
    3979    
    3980     CodeBlock* codeBlock = &function->m_body->generatedByteCode();
    3981     int numParameters = codeBlock->numParameters;
    3982     argc = callFrame->argumentCount();
    3983 
    3984     if (argc <= numParameters)
    3985         argv = callFrame->registers() - RegisterFile::CallFrameHeaderSize - numParameters + 1; // + 1 to skip "this"
    3986     else
    3987         argv = callFrame->registers() - RegisterFile::CallFrameHeaderSize - numParameters - argc + 1; // + 1 to skip "this"
    3988 
    3989     argc -= 1; // - 1 to skip "this"
    3990     firstParameterIndex = -RegisterFile::CallFrameHeaderSize - numParameters + 1; // + 1 to skip "this"
    3991 }
    3992 
    39933976#if ENABLE(CTI)
    39943977
Note: See TracChangeset for help on using the changeset viewer.