• Caitlin Potter's avatar
    [es6] don't use do-expressions to desugar ES6 classes · c6540ab1
    Caitlin Potter authored
    Removes the do-expression wrapping, modifies BytecodeGenerator change
    to enter a class literal's block scope if needed.
    
    This does not solve the actual bug in v8:6322, but helps mitigate it in
    simple cases. The bug is caused by BytecodeGenerator not allocating a
    large enough array of context registers to hold its entire stack,
    allowing non-context registers to be overwritten during PushContext and
    PopContext bytecodes.
    
    Nevertheless, I like the idea of not depending on do-expressions when
    possible, so I think it's worth doing anyways.
    
    BUG=v8:6322
    R=rmcilroy@chromium.org, marja@chromium.org, littledan@chromium.org
    
    Change-Id: I82b7569db2a0eead1694bd04765fc4456c2f1a0a
    Reviewed-on: https://chromium-review.googlesource.com/491074
    Commit-Queue: Caitlin Potter <caitp@igalia.com>
    Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarDaniel Ehrenberg <littledan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#45110}
    c6540ab1
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
common Loading commit data...
debugger Loading commit data...
fuzzer Loading commit data...
inspector Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mkgrokdump Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
test262 Loading commit data...
unittests Loading commit data...
wasm-spec-tests Loading commit data...
webkit Loading commit data...
BUILD.gn Loading commit data...
bot_default.gyp Loading commit data...
bot_default.isolate Loading commit data...
default.gyp Loading commit data...
default.isolate Loading commit data...
optimize_for_size.gyp Loading commit data...
optimize_for_size.isolate Loading commit data...
perf.gyp Loading commit data...
perf.isolate Loading commit data...