c6540ab1b7
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} |
||
---|---|---|
.. | ||
bytecode_expectations | ||
bytecode-expectations-printer.cc | ||
bytecode-expectations-printer.h | ||
generate-bytecode-expectations.cc | ||
interpreter-tester.cc | ||
interpreter-tester.h | ||
source-position-matcher.cc | ||
source-position-matcher.h | ||
test-bytecode-generator.cc | ||
test-interpreter-intrinsics.cc | ||
test-interpreter.cc | ||
test-source-positions.cc |