Ignore:
Timestamp:
May 20, 2010, 7:01:25 PM (15 years ago)
Author:
[email protected]
Message:

2010-05-20 Geoffrey Garen <[email protected]>

Reviewed by Oliver Hunt.

Whittling away at CodeBlock use: Removed a little wonkiness in closure lookup
https://bugs.webkit.org/show_bug.cgi?id=39444


Calculate all lookup depths at compile time. I'm not sure why we couldn't
do this before, but whatever the reason, it seems to be gone now.

  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::findScopedProperty):
  • bytecompiler/BytecodeGenerator.h:
  • interpreter/Interpreter.cpp: (JSC::Interpreter::resolveSkip): (JSC::Interpreter::resolveGlobalDynamic): (JSC::Interpreter::privateExecute):
  • jit/JITOpcodes.cpp: (JSC::JIT::emit_op_get_scoped_var): (JSC::JIT::emit_op_put_scoped_var): (JSC::JIT::emit_op_resolve_skip): (JSC::JIT::emit_op_resolve_global_dynamic): (JSC::JIT::emitSlow_op_resolve_global_dynamic):
  • jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_get_scoped_var): (JSC::JIT::emit_op_put_scoped_var): (JSC::JIT::emit_op_resolve_skip):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp

    r59860 r59895  
    10321032                return false;
    10331033            }
    1034             stackDepth = depth;
     1034            stackDepth = depth + m_codeBlock->needsFullScopeChain();
    10351035            index = entry.getIndex();
    10361036            if (++iter == end)
     
    10441044    }
    10451045    // Can't locate the property but we're able to avoid a few lookups.
    1046     stackDepth = depth;
     1046    stackDepth = depth + m_codeBlock->needsFullScopeChain();
    10471047    index = missingSymbolMarker();
    10481048    JSObject* scope = *iter;
Note: See TracChangeset for help on using the changeset viewer.