v8/test/cctest/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_expectations Reland "[esnext] re-implement template strings" 2018-03-14 18:12:09 +00:00
bytecode-expectations-printer.cc Move exception handler table into instruction stream. 2018-02-27 10:20:35 +00:00
bytecode-expectations-printer.h [objects.h splitting] Move Code & related classes. 2017-10-13 14:22:11 +00:00
generate-bytecode-expectations.cc [class] Add bytecode expectations test for private class fields 2018-02-22 17:34:55 +00:00
interpreter-tester.cc [presubmit] Enable and fix "build/namespaces" linter check. 2017-09-04 11:24:26 +00:00
interpreter-tester.h [cleanup] Introduce a dedicated FeedbackCell. 2018-02-22 13:18:48 +00:00
source-position-matcher.cc [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
source-position-matcher.h Use source position table for unoptimized code. 2016-06-28 05:52:52 +00:00
test-bytecode-generator.cc [cleanup] Drop spread.js for good. 2018-03-12 09:44:11 +00:00
test-interpreter-intrinsics.cc Remove %_ClassOf and SharedFunctionInfo::instance_class_name 2018-02-15 11:52:08 +00:00
test-interpreter.cc [bigint,interpreter] Add more tests for type feedback. 2017-12-12 13:19:23 +00:00
test-source-positions.cc [iwyu] Remove obsolete "api.h" include from "handles-inl.h". 2017-09-11 12:52:20 +00:00