v8/test
Caitlin Potter c6540ab1b7 [es6] don't use do-expressions to desugar ES6 classes
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: Marja Hölttä <marja@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45110}
2017-05-04 18:49:50 +00:00
..
benchmarks Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
cctest [es6] don't use do-expressions to desugar ES6 classes 2017-05-04 18:49:50 +00:00
common [wasm] [cleanup] Extract base class for Result<T> 2017-04-28 12:32:15 +00:00
debugger [mjsunit] Remove non-existing flags from tests. 2017-05-02 08:53:51 +00:00
fuzzer [fuzzer] Make parser fuzzer handle pending exceptions. 2017-05-02 10:31:32 +00:00
inspector [es6] don't use do-expressions to desugar ES6 classes 2017-05-04 18:49:50 +00:00
intl [intl] Mark date-format/timezone as pass/fail 2017-04-18 22:37:05 +00:00
js-perf-test [Interpreter] Fix compare bytecodehandler benchmarks for equals. 2017-04-27 11:14:21 +00:00
memory [snapshot] support multiple contexts in the same snapshot. 2016-06-15 15:39:06 +00:00
message [asm.js] Remove deprecated --fast-validate-asm flag. 2017-05-04 13:52:39 +00:00
mjsunit [es6] don't use do-expressions to desugar ES6 classes 2017-05-04 18:49:50 +00:00
mkgrokdump Introduce mkgrokdump to update tools/v8heapconst.py. 2017-04-20 06:15:02 +00:00
mozilla [asm.js] Widen test coverage to cctest and friends. 2017-03-28 08:00:40 +00:00
preparser [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
promises-aplus Make test262 test runner check for which exception is thrown 2016-03-14 21:20:37 +00:00
test262 [modules] Disallow HTML comments in modules 2017-05-04 18:42:12 +00:00
unittests [WASM SIMD] Replace primitive shuffles with general Shuffle. 2017-05-04 16:50:51 +00:00
wasm-spec-tests [test] Skip slow tests 2017-04-28 07:38:13 +00:00
webkit [asm.js] Widen test coverage to message tests. 2017-03-29 08:42:32 +00:00
bot_default.gyp [wasm] Add wasm spec tests to the v8 test runner 2017-04-27 13:00:13 +00:00
bot_default.isolate [wasm] Add wasm spec tests to the v8 test runner 2017-04-27 13:00:13 +00:00
BUILD.gn [wasm] Add wasm spec tests to the v8 test runner 2017-04-27 13:00:13 +00:00
default.gyp [wasm] Add wasm spec tests to the v8 test runner 2017-04-27 13:00:13 +00:00
default.isolate [wasm] Add wasm spec tests to the v8 test runner 2017-04-27 13:00:13 +00:00
optimize_for_size.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
optimize_for_size.isolate [debugger] basic test infrastructure for new debugger test api. 2016-10-21 06:38:05 +00:00
perf.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
perf.isolate Remove SIMD.js from V8. 2017-02-14 06:57:25 +00:00