• bjaideep's avatar
    PPC: Use a different map to distinguish eval contexts · cc48d2b1
    bjaideep authored
    Port 53fdf9d1
    
    Original Commit Message:
    
        eval() may introduce a scope which needs to be represented as a context at
        runtime, e.g.,
    
          eval('var x; let y; ()=>y')
    
        introduces a variable y which needs to have a context allocated for it. However,
        when traversing upwards to find the declaration context for a variable which leaks,
        as the declaration of x does above, this context has to be understood to not be
        a declaration context in sloppy mode.
    
        This patch makes that distinction by introducing a different map for eval-introduced
        contexts. A dynamic search for the appropriate context will continue past an eval
        context to find the appropriate context. Marking contexts as eval contexts rather
        than function contexts required updates in each compiler backend.
    
    R=littledan@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=v8:5295, chromium:648719
    LOG=N
    
    Review-Url: https://codereview.chromium.org/2590343002
    Cr-Commit-Position: refs/heads/master@{#41872}
    cc48d2b1
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
x87 Loading commit data...
OWNERS Loading commit data...
full-codegen.cc Loading commit data...
full-codegen.h Loading commit data...