Changeset 163337 in webkit


Ignore:
Timestamp:
Feb 3, 2014 4:13:01 PM (10 years ago)
Author:
akling@apple.com
Message:

Keep only captured symbols in CodeBlock symbol tables.
<https://webkit.org/b/128050>

Discard all uncaptured symbols at the end of codegen since only
the captured ones will be used after that point.

~2MB progression on Membuster OSUS.

Reviewed by Geoffrey Garen.

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::setSymbolTable):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):

Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r163334 r163337  
     12014-02-03  Andreas Kling  <akling@apple.com>
     2
     3        Keep only captured symbols in CodeBlock symbol tables.
     4        <https://webkit.org/b/128050>
     5
     6        Discard all uncaptured symbols at the end of codegen since only
     7        the captured ones will be used after that point.
     8
     9        ~2MB progression on Membuster OSUS.
     10
     11        Reviewed by Geoffrey Garen.
     12
     13        * bytecode/UnlinkedCodeBlock.h:
     14        (JSC::UnlinkedCodeBlock::setSymbolTable):
     15        * bytecompiler/BytecodeGenerator.cpp:
     16        (JSC::BytecodeGenerator::generate):
     17
    1182014-02-03  Mark Hahnenberg  <mhahnenberg@apple.com>
    219
  • trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h

    r163321 r163337  
    384384
    385385    SymbolTable* symbolTable() const { return m_symbolTable.get(); }
     386    void setSymbolTable(SymbolTable* table) { m_symbolTable.set(*m_vm, this, table); }
    386387
    387388    VM* vm() const { return m_vm; }
  • trunk/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp

    r163328 r163337  
    115115
    116116    m_codeBlock->shrinkToFit();
     117
     118    if (m_codeBlock->symbolTable())
     119        m_codeBlock->setSymbolTable(m_codeBlock->symbolTable()->cloneCapturedNames(*m_codeBlock->vm()));
    117120
    118121    if (m_expressionTooDeep)
Note: See TracChangeset for help on using the changeset viewer.