v8/test/cctest
Jakob Gruber c51041f454 [nci] Replace CompilationTarget with a new Code::Kind value
With the new Turbofan variants (NCI and Turboprop), we need a way to
distinguish between them both during and after compilation. We
initially introduced CompilationTarget to track the variant during
compilation, but decided to reuse the code kind as the canonical spot to
store this information instead.

Why? Because it is an established mechanism, already available in most
of the necessary spots (inside the pipeline, on Code objects, in
profiling traces).

This CL removes CompilationTarget and adds a new
NATIVE_CONTEXT_INDEPENDENT kind, plus helper functions to determine
various things about a given code kind (e.g.: does this code kind
deopt?).

As a (very large) drive-by, refactor both Code::Kind and
AbstractCode::Kind into a new CodeKind enum class.

Bug: v8:8888
Change-Id: Ie858b9a53311b0731630be35cf5cd108dee95b39
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336793
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69244}
2020-08-05 12:27:22 +00:00
..
compiler [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
heap [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
interpreter [compiler] Make is_compiled_scope take an explicit Isolate 2020-07-06 15:49:55 +00:00
libplatform [cpu-profiler] Remove hi-res options via tracing category 2020-05-14 15:30:04 +00:00
libsampler [cpu-profiler] Only record SIGPROF-based samples for samplers that request samples 2019-02-13 09:29:38 +00:00
parsing Fix tests to work with single generation heap 2020-07-07 09:30:57 +00:00
torque [tests] Fix parameter indices in test-code-generator and test-torque 2020-07-16 14:26:15 +00:00
wasm [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
assembler-helper-arm.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
assembler-helper-arm.h Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
BUILD.gn [turbofan] Concurrent ScriptContextTable access 2020-07-22 07:59:13 +00:00
cctest.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
cctest.h [zone-compr] Add kCompressGraphZone constant 2020-07-24 08:50:11 +00:00
cctest.status [test] Skip slow tests 2020-08-03 19:57: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 [owners] Remove redundant OWNERS files in test/ 2019-06-24 12:44:32 +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 [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-accessors.cc [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +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 [arraybuffer][test] Test creating a BackingStore with nullptr 2020-07-27 14:04:40 +00:00
test-api-icu.cc Correct typo of Chinese locale zn_CN to zh_CN 2020-04-21 08:05:43 +00:00
test-api-interceptors.cc Rename and retype Symbol name to description 2019-10-30 10:38:55 +00:00
test-api-stack-traces.cc [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +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 [wasm-simd] Add use counter for SIMD opcodes 2020-05-08 19:14:00 +00:00
test-api.cc [turbofan] Add tests for int64 in fast API calls 2020-08-05 10:51:12 +00:00
test-api.h [test-api] Extract arraybufs and typed arrays 2019-06-17 15:27:01 +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 [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-assembler-arm.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-assembler-ia32.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-assembler-mips64.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-assembler-mips.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-assembler-ppc.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-assembler-s390.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-assembler-x64.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +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 [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-code-pages.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-code-stub-assembler.cc [csa][cleanup] Remove ParameterMode from ExtractFixedArray 2020-07-29 10:49:33 +00:00
test-compiler.cc [nci] Consume cached code 2020-07-15 08:44:40 +00:00
test-concurrent-descriptor-array.cc [compiler] Test to search TransitionArrays on background and main thread 2020-07-14 11:55:24 +00:00
test-concurrent-prototype.cc [compiler] Don't serialize BytecodeArrayData's source_positions_ 2020-07-14 11:01:44 +00:00
test-concurrent-script-context-table.cc [turbofan] More ScriptContextTable concurrency 2020-07-22 09:23:37 +00:00
test-concurrent-transition-array.cc [compiler] Test background thread accessing old TransitionArray 2020-07-29 12:39:53 +00:00
test-constantpool.cc [ptr-compr][ppc] Implement pointer compression 2020-05-06 19:06:32 +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] Remove hi-res options via tracing category 2020-05-14 15:30:04 +00:00
test-date.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-debug-helper.cc Reland "[heap] Make ReadOnlySpace use bump pointer allocation" 2020-06-18 11:48:38 +00:00
test-debug.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +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 Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-dictionary.cc [objects] Pass isolate to HashTable accesses 2020-07-09 08:11:08 +00:00
test-disasm-arm64.cc [arm64] Use B instruction key for return address signing 2020-06-16 11:02:59 +00:00
test-disasm-arm.cc [wasm-simd][arm] Prototype f32x4.nearest 2020-06-24 20:40:24 +00:00
test-disasm-ia32.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +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-s390.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-x64.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +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 [compiler][cleanup] Move Make(String|Name) helper methods to cctest.h 2020-05-26 15:26:28 +00:00
test-factory.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +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 [Turbofan] Allow CallIC to be polymorphic for same SharedFunctionInfos 2020-02-29 09:09:42 +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 [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +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 [api] Create v8::String::NewFromLiteral that returns Local<String> 2020-03-09 12:02:07 +00:00
test-fuzz-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-global-handles.cc Fix tests to work with single generation heap 2020-07-07 09:30:57 +00:00
test-global-object.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-hashcode.cc [ptr-compr] Pass Isolate to JSObject::NormalizeProperties() 2019-06-11 11:11:10 +00:00
test-hashmap.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-heap-profiler.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-icache.cc [arm64] Use BTI instructions for forward CFI 2020-03-17 17:52:28 +00:00
test-identity-map.cc Fix tests to work with single generation heap 2020-07-07 09:30:57 +00:00
test-inobject-slack-tracking.cc Use consistent capitalization rules for instance types 2019-10-09 17:44:42 +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-weak-refs.cc [torque] port FinalizationGroup methods to torque 2020-07-30 14:34:06 +00:00
test-liveedit.cc Add quotes around unexpected token SyntaxError 2019-06-11 06:11:58 +00:00
test-local-handles.cc [handle] Zap local and persistent handles 2020-07-29 11:06:33 +00:00
test-lockers.cc Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
test-log-stack-tracer.cc [cleanup] Remove unused TickSample class from the public API 2019-08-22 07:27:35 +00:00
test-log.cc Revert "s390: [arm] Add missing RELATIVE_CODE_TARGET iteration" 2020-05-12 15:13:59 +00:00
test-macro-assembler-arm64.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-macro-assembler-arm.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-macro-assembler-mips64.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-macro-assembler-mips.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-macro-assembler-x64.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +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 [runtime] Use TLA in more tests 2020-03-16 14:43:53 +00:00
test-object.cc Make ToInteger always truncate -0 2020-03-02 20:40:01 +00:00
test-orderedhashtable.cc [offthread] Deisolatify dictionaries 2020-03-03 20:08:54 +00:00
test-parsing.cc [zone] Cleanup zone allocations in src/ast and tests 2020-07-10 13:48:20 +00:00
test-persistent-handles.cc [heap] Attach PersistentHandles with EnsurePersistentHandles 2020-07-31 12:06:39 +00:00
test-platform.cc s390: Edited Generate_CEntry to correctly return buffer when built with clang 2018-09-05 07:01:16 +00:00
test-pointer-auth-arm64.cc [arm64] Add support for pointer authentication instructions 2019-07-24 17:00:26 +00:00
test-poison-disasm-arm64.cc [arm64] Intentionally corrupt the upper half of decompressed SMIs 2019-11-19 12:14:12 +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 [cpu-profiler] Rename RecordTickSample to SymbolizeTickSample 2020-05-18 07:13:59 +00:00
test-random-number-generator.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-regexp.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +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 Reland "[arm64] Protect return addresses stored on stack" 2020-02-13 12:26:25 +00:00
test-serialize.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +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 Unwind V8 frames correctly on Windows ARM64 2019-07-31 06:24:45 +00:00
test-strings.cc Fix tests to work with single generation heap 2020-07-07 09:30:57 +00:00
test-strtod.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-symbols.cc Move utility code to src/utils 2019-05-23 14:13:34 +00:00
test-sync-primitives-arm64.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-sync-primitives-arm.cc Reland "[d8] Remove maximum workers limitation" 2019-07-30 07:56:17 +00:00
test-thread-termination.cc [weakrefs] Call Isolate::ClearKeptObjects() as part of microtask checkpoint 2020-02-19 02:25:34 +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 Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +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 [compiler] Test transition from Uninitialized to kFullTransitionArray 2020-07-28 13:03:31 +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-unboxed-doubles.cc [compiler][cleanup] Move Make(String|Name) helper methods to cctest.h 2020-05-26 15:26:28 +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 [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-unwinder.cc [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
test-usecounters.cc Adding counters for elements on Array.prototype and Object.prototype 2020-02-04 00:07:49 +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-version.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-weakmaps.cc Fix tests to work with single generation heap 2020-07-07 09:30:57 +00:00
test-weaksets.cc [objects] rename kSize to kHeaderSize for JSObject subclasses 2019-11-18 15:17:52 +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