• 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...
duplicate-finder.h Loading commit data...
expression-classifier.h Loading commit data...
func-name-inferrer.cc Loading commit data...
func-name-inferrer.h Loading commit data...
parameter-initializer-rewriter.cc Loading commit data...
parameter-initializer-rewriter.h Loading commit data...
parse-info.cc Loading commit data...
parse-info.h Loading commit data...
parser-base.h Loading commit data...
parser.cc Loading commit data...
parser.h Loading commit data...
parsing.cc Loading commit data...
parsing.h Loading commit data...
pattern-rewriter.cc Loading commit data...
preparse-data-format.h Loading commit data...
preparse-data.cc Loading commit data...
preparse-data.h Loading commit data...
preparsed-scope-data.cc Loading commit data...
preparsed-scope-data.h Loading commit data...
preparser.cc Loading commit data...
preparser.h Loading commit data...
rewriter.cc Loading commit data...
rewriter.h Loading commit data...
scanner-character-streams.cc Loading commit data...
scanner-character-streams.h Loading commit data...
scanner.cc Loading commit data...
scanner.h Loading commit data...
token.cc Loading commit data...
token.h Loading commit data...