• tebbi's avatar
    [turbofan] Fixed reuse of nested ObjectState in escape analysis · 288d3812
    tebbi authored
    The problem is that writes to nested objects do not lead to a copy of a referencing VirtualObject, and that each VirtualObjects maintains a cache of an ObjectState node. Together, this leads to inappropriate reuse of ObjectState nodes.
    This fix simply always copies all virtual objects when a new VirtualState is created. This is clearly not optimal to avoid clones, but determining precisely which virtual objects are affected by a write is a transitive closure computation on the virtual objects of a virtual state. Alternatively, one could change the semantics of the node cache.
    
    BUG=v8:5611
    
    Review-Url: https://codereview.chromium.org/2488713002
    Cr-Commit-Position: refs/heads/master@{#40854}
    288d3812
escape-analysis.cc 55 KB