v8/test/unittests
Seth Brenith cf93071c91 [interpreter] Short Star bytecode
Design doc:
https://docs.google.com/document/d/1g_NExMT78II_KnIYNa9MvyPYIj23qAiFUEsyemY5KRk/edit

This change adds 16 new interpreter opcodes, kStar0 through kStar15, so
that we can use a single byte to represent the common operation of
storing to a low-numbered register. This generally reduces the quantity
of bytecode generated on web sites by 8-9%.

In order to not degrade speed, a couple of other changes are required:

The existing lookahead logic to check for Star after certain other
bytecode handlers is updated to check for these new short Star codes
instead. Furthermore, that lookahead logic is updated to contain its own
copy of the dispatch jump rather than merging control flow with the
lookahead-failed case, to improve branch prediction.

A bunch of constants use bytecode size in bytes as a proxy for the size
or complexity of a function, and are adjusted downward proportionally to
the decrease in generated bytecode size.

Other small drive-by fix: update generate-bytecode-expectations to emit
\n instead of \r\n on Windows.

Change-Id: I6307c2b0f5794a3a1088bb0fb94f6e1615441ed5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2641180
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#72773}
2021-02-16 14:43:36 +00:00
..
api [api] Change CreationContext to return a MaybeHandle 2021-02-16 12:52:31 +00:00
asmjs [Respect] Prefer inclusive terms 2020-06-22 18:11:23 +00:00
assembler Add RISC-V backend 2021-02-09 17:06:36 +00:00
base [logging] Fix expected death message in official builds 2021-01-05 13:37:28 +00:00
codegen Reland "Reland "Reland "[compiler][wasm] Align Frame slots to value size""" 2021-02-03 16:50:47 +00:00
compiler [interpreter] Short Star bytecode 2021-02-16 14:43:36 +00:00
compiler-dispatcher [cleanup] Pass Isolate to Compiler::Compile* 2021-02-16 11:34:17 +00:00
date Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
diagnostics Move unittest files 2019-05-27 08:52:23 +00:00
execution [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{common,unittests} 2020-11-06 06:07:54 +00:00
heap cppgc: Remove StatsCollector dependency on HeapBase 2021-02-15 17:16:35 +00:00
interpreter [interpreter] Short Star bytecode 2021-02-16 14:43:36 +00:00
libplatform [Jobs API]: Cleanup migration of missing Jobs pieces. 2020-09-02 20:51:29 +00:00
logging [heap] Fix GcTracer scopes for GC jobs 2021-01-14 15:40:42 +00:00
numbers [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
objects [regexp] Implement the /d flag for RegExp indices 2021-01-26 04:14:10 +00:00
parser [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{common,unittests} 2020-11-06 06:07:54 +00:00
profiler [cpu-profiler] Implement basic refcounting of CodeEntry strings 2020-12-22 02:39:09 +00:00
regress [runtime] Use release/acquire for JSGlobalObject's global dictionary 2020-11-13 16:12:39 +00:00
strings Fix some issues caught by _LIBCPP_DEBUG=0 2019-11-21 12:17:03 +00:00
tasks [test] Skip parallel compile tasks tests under off-thread 2020-11-16 15:50:20 +00:00
torque [torque] references and slices to off-heap data 2020-11-19 16:20:56 +00:00
utils [wasm] Add templatized methods for static bounds checks 2020-06-24 03:41:28 +00:00
wasm [wasm][interpreter][eh] Implement catch with immediate 2021-02-11 15:38:56 +00:00
zone [zone] Final cleanup of zone allocations 2020-07-16 17:47:46 +00:00
BUILD.gn cppgc: Collect heap statistics 2021-02-11 14:58:06 +00:00
DEPS Move unit tests to test/unittests. 2014-10-01 08:34:25 +00:00
run-all-unittests.cc cppgc: Avoid initializing cppgc platform through V8 2021-02-09 08:26:11 +00:00
test-helpers.cc [compile] Add an UnoptimizedCompileState class 2020-04-23 07:08:28 +00:00
test-helpers.h [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{common,unittests} 2020-11-06 06:07:54 +00:00
test-utils.cc [ptr-cmpr] Remove runtime Isolate allocation flag 2020-10-01 15:34:13 +00:00
test-utils.h [config] Add V8_NODISCARD for Scope classes 2020-11-26 11:08:45 +00:00
testcfg.py [unittests] initialize the loop variable 2020-06-05 12:24:10 +00:00
unittests.status Add RISC-V backend 2021-02-09 17:06:36 +00:00