v8/test/unittests/interpreter
Ross McIlroy a021b6c42d [Ignition] [TurboFan] Generate speculation poison in code generator.
Moves generation of speculation poison to be based on the PC target vs the
actual PC being executed. The speculation poison is generated in the prologue
of the generated code if CompilationInfo::kGenerateSpeculationPoison is set.
The result is stored in a known register, which can then be read using the
SpeculationPoison machine node.

Currently we need to ensure the SpeculationPoison node is scheduled right after
the code prologue so that the poison register doesn't get clobbered. This is
currently not verified, however it's only use is in RawMachineAssembler where
it is manually scheduled early.

The Ignition bytecode handlers are updated to use this speculation poison
rather than one generated by comparing the target bytecode.

BUG=chromium:798964

Change-Id: I2a3d0cfc694e88d7a8fe893282bd5082f693d5e2
Reviewed-on: https://chromium-review.googlesource.com/893160
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51229}
2018-02-12 09:26:58 +00:00
..
bytecode-array-builder-unittest.cc [ignition] Single-switch generator bytecode 2018-01-23 14:27:02 +00:00
bytecode-array-iterator-unittest.cc [Interpreter] Make RegisterList constructor private to avoid missue. 2017-12-13 13:15:35 +00:00
bytecode-array-random-iterator-unittest.cc [Interpreter] Make RegisterList constructor private to avoid missue. 2017-12-13 13:15:35 +00:00
bytecode-array-writer-unittest.cc [jumbo] fix B macro/symbol clashes in arm64 builds 2017-11-09 09:33:45 +00:00
bytecode-decoder-unittest.cc [jumbo] fix B macro/symbol clashes in arm64 builds 2017-11-09 09:33:45 +00:00
bytecode-node-unittest.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
bytecode-operands-unittest.cc [Interpreter] Templatize AccumulatorUsage and OperandType for bytecode creation. 2016-12-15 07:56:21 +00:00
bytecode-register-allocator-unittest.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
bytecode-register-optimizer-unittest.cc [Interpreter] Make RegisterList constructor private to avoid missue. 2017-12-13 13:15:35 +00:00
bytecode-source-info-unittest.cc [Interpreter] Remove BytecodePipeline. 2017-04-12 15:18:50 +00:00
bytecode-utils.h [Interpreter] Make RegisterList constructor private to avoid missue. 2017-12-13 13:15:35 +00:00
bytecodes-unittest.cc [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
constant-array-builder-unittest.cc [ast] Move AstValue implementation into Literal 2017-10-27 20:21:29 +00:00
interpreter-assembler-unittest.cc [Ignition] [TurboFan] Generate speculation poison in code generator. 2018-02-12 09:26:58 +00:00
interpreter-assembler-unittest.h [Ignition] [TurboFan] Generate speculation poison in code generator. 2018-02-12 09:26:58 +00:00