v8/test/unittests
Daniel Clifford bd21c2bd04 [ignition] Optimize reloading of registers before Dispatch
Before this patch, the registers needed for bytecode dispatch in interpreter
handlers were inconsistently stored in the interpreter frame and/or kept in
values that remained live across calls.

After this patch, these registers are explicitly reloaded after calls, making it
possible to elide the spills of those registers before the call in many cases.

Some highlights from the CL:

* Added methods to the CSA and InterpreterAssembler to efficiently store and
  load Smis values and Smi interpreter registers on x64 without explicit
  tagging/untagging.

* Created Variables for all of the interpreter-internal values that need to be
  reloaded before bytecode dispatch at the end of an interpreter handler.

* The bytecode offset can be written out early in a handler by marking it
  has having a call along it's critical path. By moving this early in a
  handler, it becomes possible to use memory operands for pushes used to
  marshall parameters when making calls.

Change-Id: Icf8d7798789f88a4489e06a7092616bbbb881577
Reviewed-on: https://chromium-review.googlesource.com/442566
Commit-Queue: Daniel Clifford <danno@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43260}
2017-02-16 19:30:39 +00:00
..
api Fixes Object::SetAccessor to return false if the prop is unconfigurable. 2017-02-10 05:56:00 +00:00
base Fix CHECK_OP implementation in Release builds 2017-01-20 15:28:54 +00:00
compiler [turbofan] Handle arithmetic addition in early lowering. 2017-02-16 09:32:32 +00:00
compiler-dispatcher [Compiler] Avoid stepping a job in EnqueueAndStep if job is already enqueued. 2017-02-10 22:40:24 +00:00
heap [heap] Fix address space leak in Unmapper 2017-02-10 14:26:04 +00:00
interpreter [ignition] Optimize reloading of registers before Dispatch 2017-02-16 19:30:39 +00:00
libplatform Add support for idle tasks to the default platform 2017-01-03 08:41:40 +00:00
wasm [iwyu, wasm] Remove unallowed includes to objects-inl.h from wasm. 2017-02-13 15:05:37 +00:00
zone Ensure we align zone memory at 8 byte boundaries on all platforms 2017-02-06 11:14:56 +00:00
BUILD.gn [heap] Fix address space leak in Unmapper 2017-02-10 14:26:04 +00:00
cancelable-tasks-unittest.cc Implement async AbortAll for the compiler dispatcher 2017-01-04 13:45:56 +00:00
char-predicates-unittest.cc
counters-unittest.cc [counters] RuntimeStats: fix wrong bookkeeping when dynamically changing counters 2016-11-24 10:05:37 +00:00
DEPS
eh-frame-iterator-unittest.cc [turbofan] Fix more -Wsign-compare warnings. 2016-11-11 12:01:08 +00:00
eh-frame-writer-unittest.cc [turbofan] Fix more -Wsign-compare warnings. 2016-11-11 12:01:08 +00:00
locked-queue-unittest.cc
object-unittest.cc Add unittests to keep InstanceType lists in sync 2016-12-19 12:50:30 +00:00
register-configuration-unittest.cc [Turbofan] Add concept of FP register aliasing on ARM 32. 2016-10-26 16:04:33 +00:00
run-all-unittests.cc Disable automatic handling of SEH exceptions in gtest 2017-01-05 12:22:26 +00:00
source-position-table-unittest.cc This CL enables precise source positions for all V8 compilers. It merges compiler::SourcePosition and internal::SourcePosition to a single class used throughout the codebase. The new internal::SourcePosition instances store an id identifying an inlined function in addition to a script offset. 2016-11-14 17:22:32 +00:00
test-utils.cc [iwyu] Remove include debug.h -> arguments.h 2017-02-09 09:19:23 +00:00
test-utils.h [Compiler] Ensure we enter the correct context for compiler-dispatcher jobs. 2017-02-10 16:01:38 +00:00
unicode-unittest.cc Fix out-of-range access in unibrow::Utf8::CalculateValue. 2016-11-22 09:27:59 +00:00
unittests.gyp [heap] Fix address space leak in Unmapper 2017-02-10 14:26:04 +00:00
unittests.isolate
unittests.status [tests] Skip RuntimeCallStatsTest due to flaky timers 2016-11-28 10:51:20 +00:00
value-serializer-unittest.cc ValueDeserializer: Only allow valid keys when deserializing object properties. 2017-02-16 13:59:56 +00:00