Ignore:
Timestamp:
Jun 30, 2008, 10:45:21 PM (17 years ago)
Author:
[email protected]
Message:

2008-06-30 Geoffrey Garen <[email protected]>

Reviewed by Oliver Hunt.


Removed the "registerBase" abstraction. Since the register file never
reallocates, we can keep direct pointers into it, instead of
<registerBase, offset> tuples.


SunSpider says 0.8% faster.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/ExecState.h

    r34684 r34906  
    3939    class Machine;
    4040    class ProgramNode;
     41    class Register;
    4142    class RegisterFile;
    4243    class ScopeNode;
     
    9495        ExecState() { }
    9596
    96         ExecState(ExecState*, RegisterFile*, ScopeChainNode*, int callFrameOffset);
     97        ExecState(ExecState*, RegisterFile*, ScopeChainNode*, Register* callFrame);
    9798
    9899        bool isGlobalObject(JSObject*) const;
     
    109110        RegisterFile* m_registerFile;
    110111        ScopeChainNode* m_scopeChain;
    111         int m_callFrameOffset; // A negative offset indicates a non-function scope.
     112        Register* m_callFrame; // The most recent call frame.
    112113    };
    113114
Note: See TracChangeset for help on using the changeset viewer.