v8/test/cctest
Andreas Haas 258371bd44 [wasm][anyref] Support anyref stack parameters
Anyref parameters can exist across GC runs. Therefore the GC has to
know where anyref parameters are on the stack so that it can mark them
in its marking phase, and update them in the compaction phase.

Already in a previous CL we grouped all anyref parameters so that they
can be found more easily in a stack frame, see
https://crrev.com/c/1371827. In this CL we implement the stack scanning
itself.

Note that anyref parameters are not scanned while iterating over the
caller's frame (to which they actually belong), but while iterating
over the callee's frame. The reason is that with tail-calls, only the
callee knows how many tagged stack parameters (aka anyref parameters)
there are.

R=mstarzinger@chromium.org
also-by=mstarzinger@chromium.org

Bug: v8:7581
Change-Id: I7a41ce11d06c0d420146fdb0bb8d5606f28824d7
Reviewed-on: https://chromium-review.googlesource.com/c/1424955
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59099}
2019-01-25 18:00:46 +00:00
..
compiler [wasm] Move Isolate management to WasmEngine 2019-01-25 11:19:54 +00:00
heap Defer inferring language mode as far as possible 2019-01-25 11:53:19 +00:00
interpreter Cleanup after removing language mode parameter from SetProperty 2019-01-25 10:51:10 +00:00
libplatform [tracing] Custom tag for the traceEvents array 2018-05-07 16:54:59 +00:00
libsampler [cpu-profiler] Remove registration and sampling depth from Sampler 2019-01-21 11:45:12 +00:00
parsing [parser] Use shared buffer to create PreparseData 2019-01-23 15:32:06 +00:00
torque [torque] Implement methods and constructors for structs and classes 2019-01-16 17:13:13 +00:00
wasm [wasm][anyref] Support anyref stack parameters 2019-01-25 18:00:46 +00:00
assembler-helper-arm.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
assembler-helper-arm.h [ubsan] Port Object to the new design 2018-12-26 20:54:07 +00:00
BUILD.gn Reland "[deoptimizer] Refactor GenerateDeoptimizationEntries" 2018-12-21 14:30:17 +00:00
cctest.cc [cctest] Reenable V8 disposal 2019-01-23 14:34:49 +00:00
cctest.h [cleanup] Clean up base::EnumSet 2019-01-16 18:17:35 +00:00
cctest.status [test] Add interpreted-regexp testing variant 2019-01-24 19:11:22 +00:00
DEPS [torque]: Add the ability to test Torque functionality with cctest 2018-05-13 10:58:56 +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 Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-fixed.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-precision.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-precision.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-shortest.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-shortest.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
log-eq-of-logging-and-traversal.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
OWNERS [MIPS] Add Predrag Rudic and Aleksandar Rikalo as owners of MIPS files 2019-01-09 13:40:20 +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] Rename PreParsedScopeData to PreparseData 2019-01-07 14:49:21 +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 [interpreter] Always put bytecode handlers in builtins table 2018-09-20 09:58:15 +00:00
test-access-checks.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
test-accessor-assembler.cc [ubsan] Port Map to the new design 2018-11-13 06:59:12 +00:00
test-accessors.cc [ubsan] Port Code to the new design 2018-11-12 18:47:04 +00:00
test-allocation.cc Clean up VirtualMemory allocation 2018-09-17 10:16:38 +00:00
test-api-accessors.cc [cleanup] Replace 0 and NULL with nullptr for test files. 2018-09-14 12:56:00 +00:00
test-api-interceptors.cc [ubsan] Port JSReceiver and subclasses to the new design 2018-12-08 04:05:50 +00:00
test-api.cc Cleanup after removing language mode parameter from SetProperty 2019-01-25 10:51:10 +00:00
test-api.h [ubsan] Replace a few more Object** with alternatives 2018-12-17 14:17:22 +00:00
test-array-list.cc [explicit isolates] Remove GetIsolate from objects.cc 2018-07-13 12:42:14 +00:00
test-assembler-arm64.cc [test] Remove TEARDOWN macro, use managed pointers instead 2019-01-17 13:45:46 +00:00
test-assembler-arm.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-assembler-ia32.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-assembler-mips64.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-assembler-mips.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-assembler-ppc.cc PPC/s390: [test] Refactor AllocateAssemblerBuffer 2019-01-17 17:37:32 +00:00
test-assembler-s390.cc PPC/s390: [test] Refactor AllocateAssemblerBuffer 2019-01-17 17:37:32 +00:00
test-assembler-x64.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-atomicops.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-bignum-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-bignum.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-bit-vector.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-circular-queue.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
test-code-layout.cc Reland "Reland "Reland "[code-comments] Put code comments into the code object""" 2018-12-13 22:35:55 +00:00
test-code-stub-assembler.cc Defer inferring language mode as far as possible 2019-01-25 11:53:19 +00:00
test-compiler.cc Defer inferring language mode as far as possible 2019-01-25 11:53:19 +00:00
test-constantpool.cc [assembler] Move ConstantPools out of src/assembler.h 2018-10-19 11:38:39 +00:00
test-conversions.cc [objects.h splitting] Move HeapNumber to heap-number.h 2018-12-17 17:58:09 +00:00
test-cpu-profiler.cc [logger] Untangle log.h includes 2019-01-22 10:56:52 +00:00
test-date.cc [Intl] Move cachedOrNewService to C++ w/o caching 2018-11-02 07:08:26 +00:00
test-debug.cc [js] Remove CORE JS Natives (prologue.js), port extra utils to C++/Torque 2019-01-07 11:57:46 +00:00
test-decls.cc [iwyu] Include heap-inl.h less. 2018-11-26 09:25:05 +00:00
test-deoptimization.cc [deprecation] Deprecate ToBoolean(Local<Context>) 2018-09-24 12:02:09 +00:00
test-dictionary.cc [ubsan] Port Object to the new design 2018-12-26 20:54:07 +00:00
test-disasm-arm64.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-disasm-arm.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-disasm-ia32.cc [logger] Untangle log.h includes 2019-01-22 10:56:52 +00:00
test-disasm-mips64.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-disasm-mips.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-disasm-ppc.cc PPC/s390: [assembler] Remove legacy constructor 2019-01-17 17:11:57 +00:00
test-disasm-s390.cc PPC/s390: [assembler] Remove legacy constructor 2019-01-17 17:11:57 +00:00
test-disasm-x64.cc [logger] Untangle log.h includes 2019-01-22 10:56:52 +00:00
test-diy-fp.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-double.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-elements-kind.cc [cleanup][csa] Introduce Times[SystemPointer|Tagged]Size instead of TimesPointerSize 2018-12-27 03:48:55 +00:00
test-extra.js [js] Remove CORE JS Natives (prologue.js), port extra utils to C++/Torque 2019-01-07 11:57:46 +00:00
test-factory.cc [factory] Make sure large code objects actually go to large code space 2018-12-05 16:54:30 +00:00
test-fast-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-feedback-vector.cc [ubsan] Port HeapObject to the new design 2018-12-20 16:43:49 +00:00
test-feedback-vector.h [objects] Merge SFI outer_scope_info and feedback_metadata 2018-04-06 15:06:04 +00:00
test-field-type-tracking.cc [logger] Untangle log.h includes 2019-01-22 10:56:52 +00:00
test-fixed-dtoa.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-flags.cc [nojit] Add a few flag implications based on --jitless 2019-01-15 11:20:19 +00:00
test-func-name-inference.cc [Cleanup] String::GetChars() should take a DisallowHeapAllocation ref. 2018-12-04 16:07:46 +00:00
test-fuzz-arm64.cc Reland "Add Windows ARM64 ABI support to V8" 2018-10-24 19:46:36 +00:00
test-global-handles.cc Reland "[api, global-handles] Fix moving weak Global<T>" 2019-01-24 10:32:39 +00:00
test-global-object.cc [iwyu] api.h iwyu 2018-07-20 11:49:02 +00:00
test-hashcode.cc Optionally use halfsiphash for integer hashing. 2019-01-09 15:20:51 +00:00
test-hashmap.cc [ubsan] Fix various cases of undefined behavior 2019-01-10 13:52:04 +00:00
test-heap-profiler.cc [logger] Untangle log.h includes 2019-01-22 10:56:52 +00:00
test-icache.cc [test] Refactor AllocateAssemblerBuffer 2019-01-17 11:57:07 +00:00
test-identity-map.cc [objects.h splitting] Move HeapNumber to heap-number.h 2018-12-17 17:58:09 +00:00
test-inobject-slack-tracking.cc [ubsan] Port Object to the new design 2018-12-26 20:54:07 +00:00
test-inspector.cc [cleanup] Refactor inspector to use default members. 2018-09-18 09:13:59 +00:00
test-intl.cc Defer inferring language mode as far as possible 2019-01-25 11:53:19 +00:00
test-javascript-arm64.cc [deprecation] Deprecate ToBoolean(Local<Context>) 2018-09-24 12:02:09 +00:00
test-js-arm64-variables.cc [jumbo] arm64 cctest fixes 2017-09-30 17:17:23 +00:00
test-js-weak-refs.cc Merge MicrotaskQueue::RunMicrotasks and Isolate::RunMicrotasks 2019-01-16 23:35:24 +00:00
test-liveedit.cc [cleanup] Replace calls to deprecated String::Concat and ToInt32 from tests. 2018-07-24 17:30:14 +00:00
test-lockers.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
test-log-stack-tracer.cc [logger] Start cleaning up Logger class 2019-01-21 11:53:32 +00:00
test-log.cc [arm] Add missing RELATIVE_CODE_TARGET iteration 2019-01-23 10:45:50 +00:00
test-macro-assembler-arm.cc [logger] Untangle log.h includes 2019-01-22 10:56:52 +00:00
test-macro-assembler-mips64.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-macro-assembler-mips.cc MIPS32: Fix failing build 2019-01-17 16:54:49 +00:00
test-macro-assembler-x64.cc [test] Refactor AllocateAssemblerBuffer 2019-01-17 11:57:07 +00:00
test-managed.cc Add size estimate to Managed<T> 2018-05-30 10:26:21 +00:00
test-mementos.cc [ubsan] Rename ObjectPtr to Object 2019-01-08 09:08:59 +00:00
test-modules.cc [api,modules] Allow GetModuleNamespace on unevaluated modules. 2018-01-08 09:01:25 +00:00
test-object.cc [ubsan] Port Object to the new design 2018-12-26 20:54:07 +00:00
test-orderedhashtable.cc [dict] Add more useful methods 2019-01-07 19:39:34 +00:00
test-parsing.cc [parser] Allow declaring variables without a proxy 2019-01-25 09:10:59 +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-poison-disasm-arm.cc [test] Add type confusion poisoning test for polymorhic access. 2018-10-10 17:57:57 +00:00
test-profile-generator.cc [logger] Untangle log.h includes 2019-01-22 10:56:52 +00:00
test-random-number-generator.cc [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
test-regexp.cc [nojit] Ship the regexp interpreter unconditionally 2019-01-23 16:06:31 +00:00
test-representation.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-roots.cc [arm] Add missing RELATIVE_CODE_TARGET iteration 2019-01-23 10:45:50 +00:00
test-sampler-api.cc [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
test-serialize.cc [nojit] Ship the regexp interpreter unconditionally 2019-01-23 16:06:31 +00:00
test-smi-lexicographic-compare.cc [ubsan] Port Smi to the new design 2018-11-05 20:52:51 +00:00
test-strings.cc [api] simplify String::WriteToUtf8. 2018-12-18 11:08:04 +00:00
test-strtod.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-symbols.cc [cleanup] Remove Isolate parameter from object print 2018-07-12 11:31:57 +00:00
test-sync-primitives-arm64.cc [assembler] Remove legacy constructor 2019-01-17 12:39:57 +00:00
test-sync-primitives-arm.cc [base] Introduce MutexGuard as typedef for LockGuard<Mutex> 2018-10-12 15:44:51 +00:00
test-thread-termination.cc [nojit] Ship the regexp interpreter unconditionally 2019-01-23 16:06:31 +00:00
test-threads.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
test-trace-event.cc [deprecation] Deprecate ToBoolean(Local<Context>) 2018-09-24 12:02:09 +00:00
test-traced-value.cc [tracing] Escape UTF8 strings in JSON compliant form. 2018-10-31 17:46:52 +00:00
test-transitions.cc [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
test-transitions.h [ubsan] Port Map to the new design 2018-11-13 06:59:12 +00:00
test-typedarrays.cc Remove always-true --harmony-bigint runtime flag 2018-10-01 11:31:13 +00:00
test-types.cc [turbofan] Put some tests under a canonical handle scope. 2018-07-31 18:20:53 +00:00
test-unbound-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unboxed-doubles.cc [cleanup] Use Page::FromHeapObject where applicable 2019-01-15 01:20:11 +00:00
test-unscopables-hidden-prototype.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unwinder.cc [nojit] Migrate JSEntry variants to builtins 2018-12-07 10:16:06 +00:00
test-usecounters.cc [counters] remove "override mistake" use counters 2019-01-18 19:27:29 +00:00
test-utils-arm64.cc [iwyu] Ensure that macro assembler includes happen correctly 2018-11-16 15:52:56 +00:00
test-utils-arm64.h [iwyu] Ensure that macro assembler includes happen correctly 2018-11-16 15:52:56 +00:00
test-utils.cc [cleanup] Split off api-inl.h from api.h to make latter self contained 2018-07-23 16:03:49 +00:00
test-version.cc [build] Introduce an embedder version string 2017-10-05 07:17:45 +00:00
test-weakmaps.cc [heap] Remove support for aborting incremental marking 2018-09-17 10:44:52 +00:00
test-weaksets.cc [heap] Remove support for aborting incremental marking 2018-09-17 10:44:52 +00:00
testcfg.py [test] Add non-d8 test suites to Android testing 2018-09-11 11:12:21 +00:00
trace-extension.cc [ubsan] Port Smi to the new design 2018-11-05 20:52:51 +00:00
trace-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
types-fuzz.h [turbofan] Prepare broker for serialization. 2018-07-23 17:20:49 +00:00
unicode-helpers.cc [Parser] Add support for Zone allocated ConsumedPreParsingScopeData. 2018-09-07 10:28:40 +00:00
unicode-helpers.h [Parser] Add support for Zone allocated ConsumedPreParsingScopeData. 2018-09-07 10:28:40 +00:00