• Adam Klein's avatar
    [ast] Move AstValue implementation into Literal · 317cf321
    Adam Klein authored
    This eliminates the AstValue class, effectively moving its
    implementation into the Literal AstNode. This should cause
    no difference in behavior, but it does signal some shifts
    in the underlying system. Biggest changes include:
    
      - Reduction in AST memory usage
      - No duplicate HeapNumbers in Ignition constant pools
      - Non-String values are allocated either at constant pool
        creation time (or at boilerplate creation time for literals),
        rather than at AstValueFactory::Internalize() time.
    
    There are a variety of test-only/debug-only changes due to these
    switches as well.
    
    Bug: v8:6984
    Change-Id: I5f178040ce2796d4e7370c24d1063419e1c843a1
    Reviewed-on: https://chromium-review.googlesource.com/731111
    Commit-Queue: Adam Klein <adamk@chromium.org>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#49013}
    317cf321
prettyprinter.cc 35.5 KB