v8/test/unittests/interpreter
Caitlin Potter b8229612bf Reland "[esnext] re-implement template strings"
- Add a new bytecode for the ToString operation, replacing the old
intrinsic call (currently does not collect type feedback).
- Add a new AST node to represent TemplateLiterals, and avoid
generating unnecessary ToString operations in some simple cases.
- Use a single feedback slot for each string addition, because the
type feedback should always be the same for each addition

This seems to produce a very slight improvement on JSTests benchmarks
and bench-ruben.js from v8:7415, and it's possible that type feedback
for the ToString bytecode could provide more opportunities to eliminate
the runtime call in TurboFan.

Doesn't touch tagged templates

[esnext] fix OOB read in ASTPrinter::VisistTemplateLiteral

Fixes an error where TemplateLiteral printing in --print-ast
would try to read an element beyond the length of a vector.

BUG=v8:7415, chromium:820596
R=adamk@chromium.org, gsathya@chromum.org, rmcilroy@chromium.org, ishell@chromium.org, bmeurer@chromium.org

Change-Id: Ie56894f73a6445550a5f95f42160c4e29ab1da42
Reviewed-on: https://chromium-review.googlesource.com/958408
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Cr-Commit-Position: refs/heads/master@{#51933}
2018-03-14 18:12:09 +00:00
..
bytecode-array-builder-unittest.cc Reland "[esnext] re-implement template strings" 2018-03-14 18:12:09 +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 Move exception handler table into instruction stream. 2018-02-27 10:20:35 +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 Add external references macro list 2018-03-09 16:43:06 +00:00
interpreter-assembler-unittest.h [Ignition] [TurboFan] Generate speculation poison in code generator. 2018-02-12 09:26:58 +00:00