v8/test/cctest
Seth Brenith 7be64db45f Reland "[interpreter] Short Star bytecode"
This is a reland of cf93071c91

Original change's description:
> [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}

Change-Id: I1afb670c25694498b3989de615858f984a8c7f6f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2698057
Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#72821}
2021-02-17 16:18:26 +00:00
..
compiler [test] Fix UBSan failure 2021-02-12 11:24:53 +00:00
heap [api] Change CreationContext to return a MaybeHandle 2021-02-16 12:52:31 +00:00
interpreter Reland "[interpreter] Short Star bytecode" 2021-02-17 16:18:26 +00:00
libplatform [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{cctest,fuzzer,inspector} 2020-11-10 01:24:43 +00:00
libsampler [api] Use shorter 8::Local::As<*> casts in more places 2020-11-28 11:04:26 +00:00
parsing [cleanup] Replace all remaining Min/Max uses with std::min/max 2020-11-24 17:32:01 +00:00
torque [torque] Allow returning pairs from builtins 2021-01-19 18:03:12 +00:00
wasm [wasm][eh] Update catch_all encoding 2021-02-17 12:42:49 +00:00
assembler-helper-arm.cc [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
assembler-helper-arm.h [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
BUILD.gn [objects] Delete double field unboxing 2021-02-11 17:24:15 +00:00
cctest-utils.h Add RISC-V backend 2021-02-09 17:06:36 +00:00
cctest.cc [cleanup] Pass Isolate to Compiler::Compile* 2021-02-16 11:34:17 +00:00
cctest.h [compiler] Re-reland "Faster JS-to-Wasm calls" 2021-02-05 09:41:30 +00:00
cctest.status [wasm-simd] Add a decode failure if hardware does not support SIMD 2021-02-12 01:28:54 +00:00
collector.h Move remaining files in src/ 2019-05-24 18:24:36 +00:00
DEPS Reland "[tracing] Roll perfetto @ 28b633cd" 2019-09-06 13:42:02 +00:00
disasm-regex-helper.cc [turbofan] Improve load poisoning tests. 2019-07-02 17:55:04 +00:00
disasm-regex-helper.h [turbofan] Improve load poisoning tests. 2019-07-02 17:55:04 +00:00
expression-type-collector-macros.h [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
gay-fixed.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
gay-fixed.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
gay-precision.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
gay-precision.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
gay-shortest.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
gay-shortest.h Move utility code to src/utils 2019-05-23 14:13:34 +00:00
manually-externalized-buffer.h [api] Deprecate [Shared]ArrayBuffer::Externalize/GetContents and constructors 2019-10-29 22:01:54 +00:00
OWNERS Add myself as an owner for debug-helper and v8windbg 2020-09-21 15:19:27 +00:00
print-extension.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
print-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
profiler-extension.cc Reland "[Compile] Ensure we don't access the native context during bytecode finalization." 2018-10-26 22:33:56 +00:00
profiler-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
scope-test-helper.h [parser] Various Scope and Context speedups 2019-01-28 13:06:03 +00:00
setup-isolate-for-tests.cc [interpreter] Always put bytecode handlers in builtins table 2018-09-20 09:58:15 +00:00
setup-isolate-for-tests.h Move initialization code into src/init 2019-05-16 12:36:15 +00:00
test-access-checks.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
test-accessor-assembler.cc [asserts] Make assert scopes LocalHeap friendly 2020-11-20 17:39:14 +00:00
test-accessors.cc [api] Use shorter 8::Local::As<*> casts in more places 2020-11-28 11:04:26 +00:00
test-allocation.cc [zone-compr] Initial support for zone pointer compression 2020-07-24 08:27:21 +00:00
test-api-accessors.cc [Respect] Rename lists 2020-06-22 15:15:31 +00:00
test-api-array-buffer.cc [api] Use shorter 8::Local::As<*> casts in more places 2020-11-28 11:04:26 +00:00
test-api-icu.cc Update to ICU68-1 2020-11-04 19:14:59 +00:00
test-api-interceptors.cc [api] Use shorter 8::Local::As<*> casts in more places 2020-11-28 11:04:26 +00:00
test-api-stack-traces.cc [inspector][stack-traces] Remove support for "displayName". 2021-02-12 16:56:23 +00:00
test-api-typed-array.cc [api] Deprecate [Shared]ArrayBuffer::Externalize/GetContents and constructors 2019-10-29 22:01:54 +00:00
test-api-wasm.cc [cleanup] Remove API for the WebAssembly Threads origin trial 2021-02-16 12:30:54 +00:00
test-api.cc [api] Change CreationContext to return a MaybeHandle 2021-02-16 12:52:31 +00:00
test-api.h [compiler] Re-reland "Faster JS-to-Wasm calls" 2021-02-05 09:41:30 +00:00
test-array-list.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-assembler-arm64.cc [arm64][cfi] Enable sim_abort_on_bad_auth by default. 2021-02-05 10:23:40 +00:00
test-assembler-arm.cc [wasm-simd][arm] Prototype sign select 2020-12-10 01:29:47 +00:00
test-assembler-ia32.cc Reland "[Turboprop] Move dynamic check maps immediate args to deopt exit." 2020-12-16 18:38:52 +00:00
test-assembler-mips64.cc [mips][cleanup] Replace all remaining Min/Max uses with std::min/max 2020-11-26 08:01:15 +00:00
test-assembler-mips.cc [mips][cleanup] Replace all remaining Min/Max uses with std::min/max 2020-11-26 08:01:15 +00:00
test-assembler-ppc.cc Reland "Reland "[deoptimizer] Change deopt entries into builtins"" 2020-10-21 06:01:38 +00:00
test-assembler-riscv64.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-assembler-s390.cc Reland "Reland "[deoptimizer] Change deopt entries into builtins"" 2020-10-21 06:01:38 +00:00
test-assembler-x64.cc Reland "Reland "[deoptimizer] Change deopt entries into builtins"" 2020-10-21 06:01:38 +00:00
test-atomicops.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-backing-store.cc Reland x6 [arraybuffer] Rearchitect backing store ownership 2019-09-09 13:07:42 +00:00
test-bignum-dtoa.cc [cleanup] Remove V8_2PART_UINT64_C macro 2020-07-20 11:52:17 +00:00
test-bignum.cc [cleanup] Remove V8_2PART_UINT64_C macro 2020-07-20 11:52:17 +00:00
test-bit-vector.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-circular-queue.cc Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
test-code-layout.cc [code] Make metadata offsets relative to metadata section 2020-10-27 10:49:13 +00:00
test-code-pages.cc [TurboFan] Templatize GetBytecodeArray 2020-12-17 16:46:53 +00:00
test-code-stub-assembler.cc Reland "[compiler] Directly read PropertyCells" 2021-02-12 13:52:40 +00:00
test-compiler.cc [nci] Remove --turbo-nci-as-midtier and other flags 2021-02-02 11:28:18 +00:00
test-concurrent-descriptor-array.cc [heap, infra] Remove --local-heaps and --concurrent-allocation flags 2021-02-01 11:01:26 +00:00
test-concurrent-feedback-vector.cc [heap, infra] Remove --local-heaps and --concurrent-allocation flags 2021-02-01 11:01:26 +00:00
test-concurrent-prototype.cc [heap, infra] Remove --local-heaps and --concurrent-allocation flags 2021-02-01 11:01:26 +00:00
test-concurrent-script-context-table.cc Reland "[heap] Introduce LocalIsolate for main thread" 2020-11-19 10:44:43 +00:00
test-concurrent-string.cc [heap, infra] Remove --local-heaps and --concurrent-allocation flags 2021-02-01 11:01:26 +00:00
test-concurrent-transition-array.cc Reland "[heap] Introduce LocalIsolate for main thread" 2020-11-19 10:44:43 +00:00
test-constantpool.cc PPC: [cleanup] Replace all remaining Min/Max uses with std::min/max 2020-11-25 08:49:53 +00:00
test-conversions.cc [cleanup] Remove V8_2PART_UINT64_C macro 2020-07-20 11:52:17 +00:00
test-cpu-profiler.cc [cpu-profiler] Clear code entries from BytecodeFlushEvents 2021-02-12 09:08:29 +00:00
test-date.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-debug-helper.cc [v8windbg] Generate debug macros files 2021-01-19 12:07:38 +00:00
test-debug.cc [api] Make ScriptOrigin take isolate as parameter 2021-01-14 23:51:04 +00:00
test-decls.cc [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +00:00
test-deoptimization.cc [js-function] Remove deprecated predicates 2020-08-11 11:53:00 +00:00
test-descriptor-array.cc [asserts] Make assert scopes LocalHeap friendly 2020-11-20 17:39:14 +00:00
test-dictionary.cc Disable --stress-concurrent-allocation for tests that change free lists 2020-09-03 11:15:39 +00:00
test-disasm-arm64.cc [wasm-simd][arm64] Prototype prefetch arm64 2020-11-24 02:44:09 +00:00
test-disasm-arm.cc [wasm-simd][arm] Implement saturating rounding multiply high 2021-01-12 02:15:35 +00:00
test-disasm-ia32.cc Reland "[wasm-simd][ia32] Implement i64x2 signed compares" 2021-02-12 19:30:01 +00:00
test-disasm-mips64.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-mips.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-ppc.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-riscv64.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-disasm-s390.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-x64.cc [wasm-simd][x64] Fix encoding of vcvtdq2pd 2021-01-27 22:48:59 +00:00
test-diy-fp.cc [cleanup] Remove V8_2PART_UINT64_C macro 2020-07-20 11:52:17 +00:00
test-double.cc [cleanup] Remove V8_2PART_UINT64_C macro 2020-07-20 11:52:17 +00:00
test-dtoa.cc [cleanup] Remove V8_2PART_UINT64_C macro 2020-07-20 11:52:17 +00:00
test-elements-kind.cc [factory] Remove deprecated JSFunction ctors 2020-11-11 06:12:35 +00:00
test-factory.cc [heap] Make maximum regular code object size a runtime value. 2020-10-16 13:32:13 +00:00
test-fast-dtoa.cc [cleanup] Remove V8_2PART_UINT64_C macro 2020-07-20 11:52:17 +00:00
test-feedback-vector.cc [feedback] Minor name and type changes 2020-11-03 11:50:29 +00:00
test-feedback-vector.h [compiler] Make is_compiled_scope take an explicit Isolate 2020-07-06 15:49:55 +00:00
test-field-type-tracking.cc [objects] Delete double field unboxing 2021-02-11 17:24:15 +00:00
test-fixed-dtoa.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-flags.cc [wasm] Remove the --wasm-interpret-all flag 2020-04-28 08:14:52 +00:00
test-func-name-inference.cc [asserts] Make assert scopes LocalHeap friendly 2020-11-20 17:39:14 +00:00
test-fuzz-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-global-handles.cc global-handles: Fix ASAN fake stack handling 2020-10-30 13:56:36 +00:00
test-global-object.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-hashcode.cc [dict-proto] Add support for ordered property dicts, pt.3 2020-11-19 11:54:24 +00:00
test-hashmap.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-heap-profiler.cc Reland "[turboprop] Add a slot for optimization marker in feedback vector" 2020-10-28 11:09:14 +00:00
test-helper-riscv64.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-helper-riscv64.h Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-icache.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-identity-map.cc Reland^4 "[serializer] Allocate during deserialization" 2020-10-07 08:15:50 +00:00
test-inobject-slack-tracking.cc [objects] Delete double field unboxing 2021-02-11 17:24:15 +00:00
test-inspector.cc Implement protocol::Binary to/from base64 conversion 2020-04-30 08:46:05 +00:00
test-intl.cc [lookup] Refactor LookupIterator "property or element" creation 2020-01-09 18:39:11 +00:00
test-javascript-arm64.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-js-arm64-variables.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-js-to-wasm.cc [compiler] Re-reland "Faster JS-to-Wasm calls" 2021-02-05 09:41:30 +00:00
test-js-weak-refs.cc Revert "[heap] Convert WeakObjects to heap::base::Worklist" 2020-10-06 14:21:55 +00:00
test-liveedit.cc Add quotes around unexpected token SyntaxError 2019-06-11 06:11:58 +00:00
test-local-handles.cc [heap, infra] Remove --local-heaps and --concurrent-allocation flags 2021-02-01 11:01:26 +00:00
test-lockers.cc Reland "[heap] Introduce LocalIsolate for main thread" 2020-11-19 10:44:43 +00:00
test-log-stack-tracer.cc [TurboFan] Templatize GetBytecodeArray 2020-12-17 16:46:53 +00:00
test-log.cc [sparkplug] Upstream Sparkplug 2021-02-12 09:31:06 +00:00
test-macro-assembler-arm64.cc Reland "[Turboprop] Move dynamic check maps immediate args to deopt exit." 2020-12-16 18:38:52 +00:00
test-macro-assembler-arm.cc Reland "[Turboprop] Move dynamic check maps immediate args to deopt exit." 2020-12-16 18:38:52 +00:00
test-macro-assembler-mips64.cc [mips][Turboprop] Move dynamic check maps immediate args to deopt exit. 2020-12-19 10:21:56 +00:00
test-macro-assembler-mips.cc [mips][Turboprop] Move dynamic check maps immediate args to deopt exit. 2020-12-19 10:21:56 +00:00
test-macro-assembler-riscv64.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-macro-assembler-x64.cc [codegen] Use smaller instructions for smi loading on x64 2021-01-25 11:54:56 +00:00
test-managed.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-mementos.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-modules.cc [api] Change CreationContext to return a MaybeHandle 2021-02-16 12:52:31 +00:00
test-object.cc Reland2 [super] Store home object in Context instead of JSFunction 2021-01-29 09:19:23 +00:00
test-orderedhashtable.cc [dict-proto] make small ordered hash tables use InternalIndex, too 2020-10-29 13:00:53 +00:00
test-parsing.cc Reland2 [super] Store home object in Context instead of JSFunction 2021-01-29 09:19:23 +00:00
test-persistent-handles.cc [heap, infra] Remove --local-heaps and --concurrent-allocation flags 2021-02-01 11:01:26 +00:00
test-platform.cc [test] Fix StackAlignment test 2020-10-14 10:48:27 +00:00
test-pointer-auth-arm64.cc [arm64][cfi] Enable sim_abort_on_bad_auth by default. 2021-02-05 10:23:40 +00:00
test-poison-disasm-arm64.cc [objects] Delete double field unboxing 2021-02-11 17:24:15 +00:00
test-poison-disasm-arm.cc [cctest][turboprop] Disable DisasmPoisonMonomorphicLoadFloat64 for arm 2020-07-30 10:41:36 +00:00
test-profile-generator.cc [Callback] Execute DiscardedSamplesDelegate Callback when 2021-02-16 22:09:21 +00:00
test-property-details.cc [dict-proto] Allow storing certain PropertyDetails in single byte 2021-02-04 13:45:13 +00:00
test-random-number-generator.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-regexp.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-representation.cc Move relevant files to src/objects 2019-05-20 08:57:47 +00:00
test-roots.cc [heap] Use BasicMemoryChunk::FromHeapObject more 2020-06-17 14:05:48 +00:00
test-sampler-api.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-serialize.cc Revert "[objects] Remove MakeExternal case for uncached internal strings" 2021-01-15 20:57:04 +00:00
test-simple-riscv64.cc Add RISC-V backend 2021-02-09 17:06:36 +00:00
test-smi-lexicographic-compare.cc [cleanup] Eliminate non-const reference parameters 2019-09-10 09:31:07 +00:00
test-stack-unwinding-win64.cc Make Windows stack walking test use runtime-compiled code 2020-10-19 21:50:52 +00:00
test-strings.cc [test] Re-add mistakenly deleted string tests 2021-02-17 12:03:49 +00:00
test-strtod.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-symbols.cc [runtime] Rename Name::Hash() to Name::EnsureHash() 2020-11-16 10:48:15 +00:00
test-sync-primitives-arm64.cc Reland "Reland "[deoptimizer] Change deopt entries into builtins"" 2020-10-21 06:01:38 +00:00
test-sync-primitives-arm.cc [test, arm] Take isolate as argument for AssembleCode 2020-11-18 14:17:05 +00:00
test-thread-termination.cc [regexp] Use experimental engine if backtrack limit exceeded 2020-10-14 11:18:37 +00:00
test-threads.cc Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
test-trace-event.cc [cleanup] Remove DISALLOW_COPY_AND_ASSIGN in test/{cctest,fuzzer,inspector} 2020-11-10 01:24:43 +00:00
test-traced-value.cc [tracing] Improve tracing signals for compilation/optimization. 2019-03-25 14:49:08 +00:00
test-transitions.cc [ptr-compr] Isolatify Map::MigrateToMap() and friends 2019-07-03 08:08:05 +00:00
test-transitions.h [asserts] Make assert scopes LocalHeap friendly 2020-11-20 17:39:14 +00:00
test-typedarrays.cc [api] Deprecate [Shared]ArrayBuffer::Externalize/GetContents and constructors 2019-10-29 22:01:54 +00:00
test-types.cc [turbofan] Normalize types for Oddball constants 2020-03-12 14:28:52 +00:00
test-unscopables-hidden-prototype.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-unwinder-code-pages.cc [arm][arm64] Use normal fp semantics in JSEntry 2021-01-19 16:13:51 +00:00
test-usecounters.cc [atomics] Remove the deprecated Atomics.wake 2020-08-10 23:02:17 +00:00
test-utils-arm64.cc [arm64][cleanup] Remove CPURegister::Is and CPURegister::is 2019-11-14 12:58:09 +00:00
test-utils-arm64.h Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-utils.cc [cleanup] Split out bit-field.h and bounds.h from utils/utils.h 2019-11-15 13:00:08 +00:00
test-v8windbg.cc [tools] Add v8windbg, a WinDbg extension for V8 2020-02-18 19:16:18 +00:00
test-verifiers.cc [asserts] Make assert scopes LocalHeap friendly 2020-11-20 17:39:14 +00:00
test-version.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-weakmaps.cc [factory] Remove deprecated JSFunction ctors 2020-11-11 06:12:35 +00:00
test-weaksets.cc [factory] Remove deprecated JSFunction ctors 2020-11-11 06:12:35 +00:00
testcfg.py Reland "Preparing v8 to use with python3 /test" 2019-03-20 09:56:06 +00:00
trace-extension.cc [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +00:00
trace-extension.h [cleanup] Remove unused TickSample class from the public API 2019-08-22 07:27:35 +00:00
unicode-helpers.cc Move string-related files to src/strings 2019-05-21 07:17:48 +00:00
unicode-helpers.h Move string-related files to src/strings 2019-05-21 07:17:48 +00:00