• mvstanton's avatar
    Type Feedback Vector lives in the closure · a5200f7e
    mvstanton authored
    We get less "pollution" of type feedback if we have one vector per native
    context, rather than one for the whole system. This CL moves the vector
    appropriately.
    
    We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The
    vector actually lives in the first slot of the literals array (indeed there is
    great commonality between those arrays, they can be thought of as the same
    thing). So we make greater effort to ensure there is a valid literals array
    after compilation.
    
    This meant, for performance reasons, that we needed to extend
    FastNewClosureStub to support creating closures with literals. And ultimately,
    it drove us to move the optimized code map lookup out of FastNewClosureStub
    and into the compile lazy builtin.
    
    The heap change is trivial so I TBR Hannes for it...
    
    TBR=hpayer@chromium.org
    
    BUG=
    
    Review URL: https://codereview.chromium.org/1563213002
    
    Cr-Commit-Position: refs/heads/master@{#33518}
    a5200f7e
macro-assembler-ia32.cc 98.1 KB