v8/test/cctest
Clemens Backes 60ee70bb40 [wasm] Ensure that only TurboFan code is serialized
We have the implicit assumption that Liftoff code will never be
serialized, and we start relying on that when implementing new features
(debugging, dynamic tiering).

This CL makes the serializer fail if the module contains any Liftoff
code. Existing tests are changed to ensure that we fully tiered up
before serializing a module (similar to the logic in Chromium).
The "wasm-clone-module" test needs to serialize the module before
enabling the debugger.

Note that chrome currently only serializes a module after it fully
tiered up, so that should be fine. If other embedders need the ability
to serialize a module in an arbitrary state, we will have to fix this
later. With this CL we will be on the safe side though and (gracefully)
fail serialization instead of accidentally serializing Liftoff code.

R=ahaas@chromium.org

Bug: v8:10777
Change-Id: I1245e5f7fda3447a544c1e3525e1239cde759174
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2336799
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#69276}
2020-08-06 15:00:08 +00:00
..
compiler [nci] Replace CompilationTarget with a new Code::Kind value 2020-08-05 12:27:22 +00:00
heap [heap] Remove PagedSpace::SizeOfObjects 2020-08-05 13:24:42 +00:00
interpreter [runtime] Move string table off-heap 2020-08-06 12:27:18 +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 [torque][csa] fix word8 phi MachineRepresentation 2020-08-05 15:25:46 +00:00
wasm [wasm] Ensure that only TurboFan code is serialized 2020-08-06 15:00:08 +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 [wasm] Ensure that only TurboFan code is serialized 2020-08-06 15:00:08 +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 uint64 for fast API calls 2020-08-06 14:11:10 +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 [runtime] Move string table off-heap 2020-08-06 12:27:18 +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 [runtime] Move string table off-heap 2020-08-06 12:27:18 +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