• jochen's avatar
    Assign unique IDs to FunctionLiterals · cfebe603
    jochen authored
    They're supposed to be stable across several parse passes, so we'll also
    store them in the associated SharedFunctionInfos
    
    To achieve this, the PreParser and Parser need to generated the same number of
    FunctionLiterals. To achieve this, we teach the PreParser about desuggaring of
    class literals.
    
    For regular functions, the function IDs are assigned in the order they occur in
    the source. For arrow functions, however, we only know that it's an arrow function
    after parsing the parameter list, and so the ID assigned to the arrow function is
    larger than the IDs assigned to functions defined in the parameter list. This
    implies that we have to reset the function ID counter to before the parameter list
    when re-parsing an arrow function. To be able to do this, we store the number of
    function literals found in the parameter list of arrow functions as well.
    
    BUG=v8:5589
    
    Review-Url: https://codereview.chromium.org/2481163002
    Cr-Commit-Position: refs/heads/master@{#41309}
    cfebe603
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...