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/DebuggerCallFrame.cpp

    r34838 r34906  
    3737namespace KJS {
    3838
    39 Register* DebuggerCallFrame::r() const
    40 {
    41     return *m_registerBase + m_registerOffset;
    42 }
    43 
    4439Register* DebuggerCallFrame::callFrame() const
    4540{
    46     return r() - m_codeBlock->numLocals - RegisterFile::CallFrameHeaderSize;
     41    return m_registers - m_codeBlock->numLocals - RegisterFile::CallFrameHeaderSize;
    4742}
    4843
     
    7166        return 0;
    7267
    73     return static_cast<JSObject*>(r()[m_codeBlock->thisRegister].u.jsValue);
     68    return static_cast<JSObject*>(m_registers[m_codeBlock->thisRegister].u.jsValue);
    7469}
    7570
Note: See TracChangeset for help on using the changeset viewer.