v8/test/cctest/interpreter
Benedikt Meurer 5ee1b7ad5a [turbofan] Add IC support for Call/ConstructWithSpread.
Properly hook up the (existing) IC slots for the CallWithSpread and
ConstructWithSpread bytecodes, and change the interpreter to collect
feedback (call counts and regular target function feedback) for those.
There's no integration with the Array constructor yet, since that
requires some yak shaving to thread through the AllocationSite to the
Array constructor stub. Once we have a solution for that, we can also
remove the current code duplication in the Call/Construct IC logic.

Also properly hook up the newly available feedback in TurboFan. This
will fix not only the missing target feedback, but more importantly
the tear-up decisions for optimization are correct now in the presence
of spread calls, and even more importantly the inlining heurstic has
proper call frequencies for those.

Some follow-up changes will be necessary to make sure we use the
feedback even for corner cases that aren't handled properly yet. Also
we should consider collecting feedback about the map of the spread
at some point to be able to always inline the spread calls.

Bug: v8:6399, v8:6527, v8:6630
Change-Id: I818dbcb411fd3951d8e9d31f5d7e794f8d60fa00
Reviewed-on: https://chromium-review.googlesource.com/582647
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46832}
2017-07-24 07:11:50 +00:00
..
bytecode_expectations [turbofan] Add IC support for Call/ConstructWithSpread. 2017-07-24 07:11:50 +00:00
bytecode-expectations-printer.cc [modules] Implement the new semantics of instantiation and evaluation. 2017-06-28 14:24:37 +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 [Interpreter] Replace --ignition flag with a --stress-fullcodegen 2017-07-13 13:05:00 +00:00
interpreter-tester.cc [Interpreter] Replace --ignition flag with a --stress-fullcodegen 2017-07-13 13:05:00 +00:00
interpreter-tester.h Link type feedback vectors to the shared function info. 2017-02-08 08:33:33 +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 Use source position table for unoptimized code. 2016-06-28 05:52:52 +00:00
test-bytecode-generator.cc [Interpreter] Replace --ignition flag with a --stress-fullcodegen 2017-07-13 13:05:00 +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 [Ignition / TurboFan] Revert all StringConcat bytecode implementation. 2017-07-19 16:03:46 +00:00
test-source-positions.cc [Interpreter] Replace --ignition flag with a --stress-fullcodegen 2017-07-13 13:05:00 +00:00