Ignore:
Timestamp:
Nov 15, 2008, 12:22:22 AM (17 years ago)
Author:
[email protected]
Message:

2008-11-15 Maciej Stachowiak <[email protected]>

Reviewed by Sam Weinig.


  • Remove SymbolTable from FunctionBodyNode and move it to CodeBlock


It's not needed for functions that have never been executed, so no
need to waste the memory. Saves ~4M on membuster after 30 pages.

  • VM/CodeBlock.h:
  • VM/Machine.cpp: (JSC::Machine::retrieveArguments):
  • parser/Nodes.cpp: (JSC::EvalNode::generateCode): (JSC::FunctionBodyNode::generateCode):
  • parser/Nodes.h:
  • runtime/JSActivation.h: (JSC::JSActivation::JSActivationData::JSActivationData):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/parser/Nodes.cpp

    r38349 r38420  
    24322432    JSGlobalObject* globalObject = scopeChain.globalObject();
    24332433
    2434     SymbolTable symbolTable;
    24352434    m_code.set(new EvalCodeBlock(this, globalObject, source().provider()));
    24362435
    2437     CodeGenerator generator(this, globalObject->debugger(), scopeChain, &symbolTable, m_code.get());
     2436    CodeGenerator generator(this, globalObject->debugger(), scopeChain, &m_code->symbolTable, m_code.get());
    24382437    generator.generate();
    24392438}
     
    25012500    m_code.set(new CodeBlock(this, FunctionCode, source().provider(), source().startOffset()));
    25022501
    2503     CodeGenerator generator(this, globalObject->debugger(), scopeChain, &m_symbolTable, m_code.get());
     2502    CodeGenerator generator(this, globalObject->debugger(), scopeChain, &m_code->symbolTable, m_code.get());
    25042503    generator.generate();
    25052504}
Note: See TracChangeset for help on using the changeset viewer.