v8/test/cctest/interpreter
Ross McIlroy c820b89bc5 [Interpreter] Remove new.target from fixed frame slot.
Removes the new.target slot from the interpreter's fixed frame. Instead
adds a field to BytecodeArray to get the bytecode's incoming
new.target or generator object register. The InterpreterEntryTrampoline
then sets this register with the incoming new.target (or generator object)
when the function is called. This register can be directly the new.target
or generator object variable if they are LOCAL location, otherwise it is a
temporary register which is then moved to the variable's location during the
function prologue.

This fixes a hack in the deoptimizer where we would set the new.target fixed
slot to undefined in order to avoid extending it's lifetime through the
optimized code - now it's just a standard register and can be optimized away
as normal.

Bug=v8:6644

Change-Id: Ieb8cc34cccefd9fb6634a90cbc77c6002a54f2ae
Reviewed-on: https://chromium-review.googlesource.com/608966
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47320}
2017-08-11 17:04:08 +00:00
..
bytecode_expectations [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
bytecode-expectations-printer.cc [Interpreter] Remove new.target from fixed frame slot. 2017-08-11 17:04:08 +00:00
bytecode-expectations-printer.h [interpreter] Add some bytecode tests for modules. 2016-10-04 18:42:36 +00:00
generate-bytecode-expectations.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
interpreter-tester.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
interpreter-tester.h Reland "[builtins] Remove Builtins::Name() accessors" 2017-08-01 10:39:10 +00:00
source-position-matcher.cc [inspector] cache stack frame for call sites 2017-04-12 18:33:20 +00:00
source-position-matcher.h
test-bytecode-generator.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-interpreter-intrinsics.cc [interpreter] Split function into Receiver() and Parameter(i). 2017-03-30 09:40:08 +00:00
test-interpreter.cc [turbofan] Collect and use SignedSmall input feedback for Divide. 2017-08-11 08:50:00 +00:00
test-source-positions.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00