• vogelheim's avatar
    [parser/ast] Reduce memory consumption for AstConsString. · 1769c703
    vogelheim authored
    The past re-factoring inadvertently increased memory consumption for
    AstConsString. This implements a micro-optimization to revert and slightly
    improve beyond the original state.
    
    Example, Zone size for parsing closure.js:
      - 20,999,848 B (before refactoring)
      - 21,651,056 B (after refactoring patch; 3.1% regression)
      - 20,641,320 B (after this CL; 1.7% improvement over original)
    
    (Reason: ZoneLinkedList requires 4 pointers to support
    the std::list functionality (Zone*, head/tail ptr, payload ptr).
    But since we only append and iterate in order and have the Zone*
    available in the context, a super simple linked list (value + next ptr)
    saves a bit of memory, especially for the common case of having 0 or 1
    string segments.)
    
    BUG=v8:6902, chromium:706935
    
    Review-Url: https://codereview.chromium.org/2792353002
    Cr-Commit-Position: refs/heads/master@{#44385}
    1769c703
Name
Last commit
Last update
..
OWNERS Loading commit data...
ast-expression-rewriter.cc Loading commit data...
ast-expression-rewriter.h Loading commit data...
ast-function-literal-id-reindexer.cc Loading commit data...
ast-function-literal-id-reindexer.h Loading commit data...
ast-numbering.cc Loading commit data...
ast-numbering.h Loading commit data...
ast-traversal-visitor.h Loading commit data...
ast-type-bounds.h Loading commit data...
ast-types.cc Loading commit data...
ast-types.h Loading commit data...
ast-value-factory.cc Loading commit data...
ast-value-factory.h Loading commit data...
ast.cc Loading commit data...
ast.h Loading commit data...
compile-time-value.cc Loading commit data...
compile-time-value.h Loading commit data...
context-slot-cache.cc Loading commit data...
context-slot-cache.h Loading commit data...
modules.cc Loading commit data...
modules.h Loading commit data...
prettyprinter.cc Loading commit data...
prettyprinter.h Loading commit data...
scopes.cc Loading commit data...
scopes.h Loading commit data...
variables.cc Loading commit data...
variables.h Loading commit data...