v8/test/cctest
Ulan Degenbaev 4af9cfccf6 [heap] Refactor object marking state.
This patch merges ObjectMarking and MarkingState. The new marking state
encapsulates object marking, live byte tracking, and access atomicity.

The old ObjectMarking calls are now replaced with calls to marking
state. For example:
ObjectMarking::WhiteToGrey<kAtomicity>(obj, marking_state(obj)
becomes
marking_state()->WhiteToGrey(obj)

This simplifies custom handling of live bytes and allows to chose
atomicity of markbit accesses depending on collector's state.

This also decouples marking bitmap from the marking code, which will
allows in future to use different data-structure for mark-bits.

Bug: chromium:694255
Change-Id: Ifb4bc0144187bac1c08f6bc74a9d5c618fe77740
Reviewed-on: https://chromium-review.googlesource.com/602132
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47288}
2017-08-10 17:28:03 +00:00
..
compiler [TurboFan] Delete AstGraphBuilder. 2017-08-10 15:56:21 +00:00
ffi Add COMPONENT tags to OWNERS files where appropriate 2017-05-22 10:15:28 +00:00
heap [heap] Refactor object marking state. 2017-08-10 17:28:03 +00:00
interpreter [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
libplatform Reland "Switch tracing to use v8::TracingController" 2017-07-03 11:49:23 +00:00
libsampler Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
parsing [Compiler] Seperate AttachOuterScopeInfo out of DeclarationScope::Analyze 2017-08-09 11:04:13 +00:00
wasm [wasm] Rename an internal wasm cctest member. 2017-08-10 15:59:21 +00:00
BUILD.gn [TurboFan] Delete AstGraphBuilder. 2017-08-10 15:56:21 +00:00
cctest_exe.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00
cctest.cc Rename "NoBarrier" memory operations to "Relaxed". 2017-05-30 07:44:37 +00:00
cctest.gyp [TurboFan] Delete AstGraphBuilder. 2017-08-10 15:56:21 +00:00
cctest.h [cctest] Simplify tests that mock v8::Platform. 2017-08-01 17:06:13 +00:00
cctest.isolate [Interpreter] Refactor bytecode generator test suite. 2016-02-25 12:07:19 +00:00
cctest.status PPC/s390: skip wasm atomic test cases 2017-08-09 15:41:14 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
expression-type-collector-macros.h Make typing-asm match spec more closely around load/store, add more tests. 2015-11-30 21:11:47 +00:00
gay-fixed.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-fixed.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-precision.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
gay-precision.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-shortest.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +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 Fix test-log/EquivalenceOfLoggingAndTraversal 2013-08-26 14:56:23 +00:00
OWNERS Remove x87 port 2017-07-18 18:20:40 +00:00
print-extension.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
print-extension.h Remove deprecated functions the smaller half of the remaing tests 2015-11-17 12:42:44 +00:00
profiler-extension.cc Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
profiler-extension.h Introduce v8::CpuProfiler::New and v8::CpuProfiler::Dispose API. 2016-07-08 15:01:10 +00:00
scope-test-helper.h [parser] Skipping inner funcs: Associate data to SharedFunctionInfo, not Script. 2017-06-30 11:12:52 +00:00
setup-isolate-for-tests.cc Reland "[snapshot] Move builtins generation into mksnapshot" 2017-04-07 13:31:29 +00:00
setup-isolate-for-tests.h [cleanup] Remove unnecessary entries in cctest.status 2017-06-09 16:05:09 +00:00
test-access-checks.cc Fix receiver checks for v8::Function on a remote context receiver. 2017-02-22 10:13:24 +00:00
test-accessor-assembler.cc [csa] Enforce using BIND macro 2017-05-19 16:47:56 +00:00
test-accessors.cc [cctest] Simplify the majority of callers of CcTest::CollectAllGarbage 2017-04-27 17:20:54 +00:00
test-allocation.cc [cctest] Simplify tests that mock v8::Platform. 2017-08-01 17:06:13 +00:00
test-api-accessors.cc Remove experimental fast accessor builder API 2017-03-14 08:14:48 +00:00
test-api-interceptors.cc [ic] Properly handle loads from global interceptor via prototype chain. 2017-07-06 08:09:12 +00:00
test-api.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-api.h Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-array-list.cc Add Smi::ToInt helper method 2017-07-10 13:33:03 +00:00
test-assembler-arm64.cc [arm64] Fix assertion in IsImmLLiteral and enable literal pool tests. 2017-06-14 13:52:00 +00:00
test-assembler-arm.cc [arm] Pass float immediates to vmov as uint32_t 2017-07-07 11:58:10 +00:00
test-assembler-ia32.cc [compiler] Delay allocation of code-embedded heap numbers. 2017-05-31 14:00:11 +00:00
test-assembler-mips64.cc MIPS64: Fix compilation failure on target MIPS64 because of invalid 2017-08-09 14:04:43 +00:00
test-assembler-mips.cc MIPS[64]: Add simulation support for MIPS SIMD MI10 instruction group 2017-08-08 14:32:27 +00:00
test-assembler-ppc.cc PPC/s390: [compiler] Delay allocation of code-embedded heap numbers. 2017-06-08 17:41:56 +00:00
test-assembler-s390.cc PPC/s390: [compiler] Delay allocation of code-embedded heap numbers. 2017-06-08 17:41:56 +00:00
test-assembler-x64.cc [compiler] Delay allocation of code-embedded heap numbers. 2017-05-31 14:00:11 +00:00
test-ast.cc [parser|ast] Simplify AstNodeFactory Zone usage. 2017-05-17 12:15:18 +00:00
test-atomicops.cc Rename "NoBarrier" memory operations to "Relaxed". 2017-05-30 07:44:37 +00:00
test-bignum-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bignum.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-bit-vector.cc [bitvector] Allow BitVector to resize 2017-06-21 15:13:05 +00:00
test-circular-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-code-cache.cc [elements] Rename FAST elements kinds 2017-06-30 13:31:44 +00:00
test-code-layout.cc Rename TypeFeedbackVector to FeedbackVector. 2017-02-07 14:46:36 +00:00
test-code-stub-assembler.cc [csa] Add C++ compile time type checks to CSA. 2017-08-04 01:09:24 +00:00
test-code-stubs-arm64.cc Remove compiler distinction from RegisterConfiguration. 2017-08-03 07:47:36 +00:00
test-code-stubs-arm.cc Remove compiler distinction from RegisterConfiguration. 2017-08-03 07:47:36 +00:00
test-code-stubs-ia32.cc Remove compiler distinction from RegisterConfiguration. 2017-08-03 07:47:36 +00:00
test-code-stubs-mips64.cc Remove compiler distinction from RegisterConfiguration. 2017-08-03 07:47:36 +00:00
test-code-stubs-mips.cc Remove compiler distinction from RegisterConfiguration. 2017-08-03 07:47:36 +00:00
test-code-stubs-x64.cc Remove compiler distinction from RegisterConfiguration. 2017-08-03 07:47:36 +00:00
test-code-stubs.cc [iwyu] Pre-work for removing unallowed include macro-assembler.h -> assembler-inl.h 2017-02-23 12:10:21 +00:00
test-code-stubs.h Introduce x87 port 2014-05-23 16:37:27 +00:00
test-compiler.cc [api] remove --harmony-function-tostring behavior from CompileFunctionInContext 2017-07-06 18:55:04 +00:00
test-constantpool.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-conversions.cc Rename TypeFeedbackVector to FeedbackVector. 2017-02-07 14:46:36 +00:00
test-cpu-profiler.cc Remove the unused hydrogen_track_positions flag. 2017-08-02 03:41:30 +00:00
test-date.cc [intl] Reorganize code 2017-04-24 13:54:15 +00:00
test-debug.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-decls.cc [runtime] Intercept function declarations. 2016-09-15 15:48:34 +00:00
test-deoptimization.cc Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
test-dictionary.cc Revert "[runtime] Store hash code in length field" 2017-08-09 22:04:36 +00:00
test-disasm-arm64.cc [iwyu] Do not include frames.h in macro assemblers. 2017-08-03 09:23:33 +00:00
test-disasm-arm.cc [iwyu] Do not include frames.h in macro assemblers. 2017-08-03 09:23:33 +00:00
test-disasm-ia32.cc [ia32] Add psignb/w/d and AVX version 2017-08-08 15:23:04 +00:00
test-disasm-mips64.cc [iwyu] Do not include frames.h in macro assemblers. 2017-08-03 09:23:33 +00:00
test-disasm-mips.cc [iwyu] Do not include frames.h in macro assemblers. 2017-08-03 09:23:33 +00:00
test-disasm-ppc.cc [iwyu] Do not include frames.h in macro assemblers. 2017-08-03 09:23:33 +00:00
test-disasm-s390.cc [iwyu] Do not include frames.h in macro assemblers. 2017-08-03 09:23:33 +00:00
test-disasm-x64.cc [iwyu] Do not include frames.h in macro assemblers. 2017-08-03 09:23:33 +00:00
test-diy-fp.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-double.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-elements-kind.cc [runtime] Rename properties to properties_or_hash 2017-07-18 17:38:50 +00:00
test-experimental-extra.js Add experimental, non-snapshotted V8 extras 2015-08-20 00:01:14 +00:00
test-extra.js Add isPromise V8 extras util 2017-04-06 13:16:35 +00:00
test-fast-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-feedback-vector.cc [ic] Drop Array constructor support from CallIC. 2017-08-04 09:22:14 +00:00
test-feedback-vector.h [objects] Make feedback vector a first-class object 2017-07-27 13:31:55 +00:00
test-field-type-tracking.cc Refactor TransitionArray access 2017-07-28 19:41:21 +00:00
test-fixed-dtoa.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-flags.cc Use --opt instead of --crankshaft in tests. 2017-04-28 14:20:39 +00:00
test-func-name-inference.cc [iwyu] Remove include debug.h -> arguments.h 2017-02-09 09:19:23 +00:00
test-fuzz-arm64.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-global-handles.cc Drop UniqueId from include/v8.h 2017-03-06 10:58:01 +00:00
test-global-object.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-hashmap.cc Instead of having a hashmap with a function pointer defining its 2016-09-30 16:17:06 +00:00
test-heap-profiler.cc [heap-profiler] Instrument JSPromise 2017-07-20 18:14:25 +00:00
test-identity-map.cc Add Smi::ToInt helper method 2017-07-10 13:33:03 +00:00
test-inobject-slack-tracking.cc Fix common misspellings 2017-08-02 09:35:28 +00:00
test-intl.cc [intl] Implement Intl.NumberFormat.prototype.formatToParts 2017-06-30 20:14:18 +00:00
test-javascript-arm64.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-js-arm64-variables.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-list.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-liveedit.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-lockers.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-log-stack-tracer.cc Reland "[flags] Remove some dead Crankshaft flags." 2017-07-13 13:15:34 +00:00
test-log.cc [profiler] Fix logging addresses on Windows. 2017-07-28 14:36:14 +00:00
test-macro-assembler-arm.cc [compiler] Delay allocation of code-embedded heap numbers. 2017-05-31 14:00:11 +00:00
test-macro-assembler-ia32.cc [compiler] Delay allocation of code-embedded heap numbers. 2017-05-31 14:00:11 +00:00
test-macro-assembler-mips64.cc MIPS[64]: Port [arm] Introduce UseScratchRegisterScope 2017-07-28 11:31:35 +00:00
test-macro-assembler-mips.cc MIPS[64]: Port [arm] Introduce UseScratchRegisterScope 2017-07-28 11:31:35 +00:00
test-macro-assembler-x64.cc [macro-assembler] Remove unused Movupd. 2017-07-05 09:54:37 +00:00
test-managed.cc Implement managed objects with phantom handles 2017-06-20 10:58:45 +00:00
test-mementos.cc [heap] Fix verification of unsafe object layout changes. 2017-05-18 19:24:22 +00:00
test-modules.cc [api] Expose a module's status and exception. 2017-06-28 15:54:57 +00:00
test-object.cc Remove SIMD.js from V8. 2017-02-14 06:57:25 +00:00
test-orderedhashtable.cc Revert "[runtime] Store hash code in length field" 2017-08-09 22:04:36 +00:00
test-parsing.cc [scopes] Clarify and narrow when scopes care about an eval() call 2017-08-09 18:13:19 +00:00
test-platform-linux.cc [heap] Rework ASLR for base::Platform::VirtualMemory 2017-07-14 07:15:40 +00:00
test-platform-win32.cc [heap] Rework ASLR for base::Platform::VirtualMemory 2017-07-14 07:15:40 +00:00
test-platform.cc S390:Update inline asm constraint in test-platform 2016-07-16 15:36:45 +00:00
test-profile-generator.cc [compiler] Kill the deoptimized too many times bailout 2017-07-28 10:08:29 +00:00
test-random-number-generator.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-regexp.cc [regexp] Throw for patterns like /[\p{...}-\p{...}]/u. 2017-07-25 08:25:43 +00:00
test-representation.cc [turbofan] put src/types.[h/cc] into src/compiler/types.[h/cc] 2016-09-05 15:58:45 +00:00
test-run-wasm-relocation-arm64.cc [compiler] Delay allocation of code-embedded heap numbers. 2017-05-31 14:00:11 +00:00
test-run-wasm-relocation-arm.cc [compiler] Delay allocation of code-embedded heap numbers. 2017-05-31 14:00:11 +00:00
test-run-wasm-relocation-ia32.cc [iwyu] Split frame-constants.h out of frames.h to reduce transitive includes. 2017-08-03 10:12:12 +00:00
test-run-wasm-relocation-x64.cc [compiler] Delay allocation of code-embedded heap numbers. 2017-05-31 14:00:11 +00:00
test-sampler-api.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-serialize.cc [fullcodegen] Remove --stress-fullcodegen flag. 2017-08-10 09:52:49 +00:00
test-simulator-arm64.cc [compiler] Delay allocation of code-embedded heap numbers. 2017-05-31 14:00:11 +00:00
test-simulator-arm.cc [compiler] Delay allocation of code-embedded heap numbers. 2017-05-31 14:00:11 +00:00
test-strings.cc Revert "[heap, runtime] Fix conversion of large strings to thin strings." 2017-08-10 00:28:32 +00:00
test-strtod.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-symbols.cc [cctest] Simplify the majority of callers of CcTest::CollectAllGarbage 2017-04-27 17:20:54 +00:00
test-thread-termination.cc Assert that context creation doesn't throw 2017-01-17 13:01:03 +00:00
test-threads.cc Include only stuff you need, part 6: Fix cctest.h. 2016-09-01 12:02:16 +00:00
test-trace-event.cc [cctest] Simplify tests that mock v8::Platform. 2017-08-01 17:06:13 +00:00
test-traced-value.cc [tracing] Use locale independent writer for FP values. 2017-01-12 08:08:57 +00:00
test-transitions.cc Refactor TransitionArray access 2017-07-28 19:41:21 +00:00
test-transitions.h Refactor TransitionArray access 2017-07-28 19:41:21 +00:00
test-typedarrays.cc include fixing: api.h shouldn't include objects-inl.h 2017-01-09 13:43:28 +00:00
test-types.cc [crankshaft] Remove Crankshaft. 2017-06-26 12:33: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 [heap] Refactor object marking state. 2017-08-10 17:28:03 +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-usecounters.cc [parsing] Add a UseCounter for labeled expression statements 2017-08-04 18:51:54 +00:00
test-utils-arm64.cc Reland of Reland of "ARM64: Add NEON support" 2017-05-31 13:58:43 +00:00
test-utils-arm64.h Reland of Reland of "ARM64: Add NEON support" 2017-05-31 13:58:43 +00:00
test-utils.cc Allow C++11 in unittests. 2017-03-10 06:35:51 +00:00
test-version.cc Revert of [build] Introduce an embedder version string (patchset #3 id:40001 of https://codereview.chromium.org/2619213002/ ) 2017-01-21 22:36:54 +00:00
test-weakmaps.cc Revert "[builtins] Move most WeakMap/WeakSet code from JS to C++ builtins" 2017-06-15 22:04:38 +00:00
test-weaksets.cc Revert "[builtins] Move most WeakMap/WeakSet code from JS to C++ builtins" 2017-06-15 22:04:38 +00:00
testcfg.py [test] Fix deterministic test shards. 2016-03-31 07:38:22 +00:00
trace-extension.cc Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +00:00
trace-extension.h Expose TickSample and its APIs in v8-profiler.h 2016-07-06 18:40:31 +00:00
types-fuzz.h [turbofan] HeapConstant types should compare by handle address 2016-10-08 16:51:53 +00:00
unicode-helpers.h [parser/test] Move cctest/PreParserScopeAnalysis into a new file. 2017-02-07 10:11:01 +00:00