v8/test/cctest
Georg Schmid 16893bda75 [csa] Track stores and perform simple alias analysis in CSA Load Elimination
This CL allows CsaLoadElimination to retain some information in the presence of StoreToObject nodes. Two stores to an object don't alias if either the objects or the offsets don't alias. The analysis approximates either of these two conditions conservatively as follows:
- Freshly allocated, distinct objects cannot alias.
- Two objects cannot alias if one of is freshly allocated and the other was passed as a parameter or is a heap constant.
- Two offsets cannot alias if they are both constant and distinct from each other.

R=jarin@chromium.org, tebbi@chromium.org

Change-Id: Ibec81913b413f81a3f7cbd40544a22d3711e6e5a
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1660626
Commit-Queue: Georg Schmid <gsps@google.com>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62232}
2019-06-18 08:46:55 +00:00
..
compiler [turbofan] JSHeapBroker logging respects --trace-turbo-filter 2019-06-12 11:02:38 +00:00
heap [cleanup][heap] Improve heap iterator naming 2019-06-17 14:38:02 +00:00
interpreter Update iterator close to new spec 2019-06-06 19:18:45 +00:00
libplatform [tracing] Add a test harness for perfetto tracing tests 2019-05-27 15:05:12 +00:00
libsampler [cpu-profiler] Only record SIGPROF-based samples for samplers that request samples 2019-02-13 09:29:38 +00:00
parsing Move utility code to src/utils 2019-05-23 14:13:34 +00:00
torque [csa] Track stores and perform simple alias analysis in CSA Load Elimination 2019-06-18 08:46:55 +00:00
wasm [stack-trace] Change column number for wasm frames to module offset 2019-06-14 11:33:18 +00:00
assembler-helper-arm.cc [cleanup] Drop some dead (Macro)Assembler code 2019-05-27 08:53:28 +00:00
assembler-helper-arm.h Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
BUILD.gn [test-api] Extract arraybufs and typed arrays 2019-06-17 15:27:01 +00:00
cctest.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
cctest.h [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
cctest.status [snapshot] Remove TEST natives 2019-06-04 15:05:52 +00:00
collector.h Move remaining files in src/ 2019-05-24 18:24:36 +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 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
OWNERS Add OWNERS files for src and test 2019-05-30 04:51:21 +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 [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-accessors.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-allocation.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-api-accessors.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-api-array-buffer.cc [test-api] Extract arraybufs and typed arrays 2019-06-17 15:27:01 +00:00
test-api-interceptors.cc Move utility code to src/utils 2019-05-23 14:13:34 +00:00
test-api-stack-traces.cc Reland "Move API-related files" 2019-05-17 12:52:27 +00:00
test-api-typed-array.cc [test-api] Extract arraybufs and typed arrays 2019-06-17 15:27:01 +00:00
test-api.cc [test-api] Extract arraybufs and typed arrays 2019-06-17 15:27:01 +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 Revert "[arm64] Refactor constant pool implementation" 2019-06-17 11:50:13 +00:00
test-assembler-arm.cc [cleanup] Remove 'typedef struct' and 'typedef enum' 2019-05-28 12:17:35 +00:00
test-assembler-ia32.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-assembler-mips64.cc [cleanup] Remove 'typedef struct' and 'typedef enum' 2019-05-28 12:17:35 +00:00
test-assembler-mips.cc [cleanup] Remove 'typedef struct' and 'typedef enum' 2019-05-28 12:17:35 +00:00
test-assembler-ppc.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-assembler-s390.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-assembler-x64.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-atomicops.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-bignum-dtoa.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-bignum.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-bit-vector.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-circular-queue.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-code-layout.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-code-stub-assembler.cc [torque] Stricter object field verification, part 2 2019-06-17 18:34:21 +00:00
test-compiler.cc [api] Add a way to specify the max heap size in ResourceConstraints 2019-06-06 10:22:56 +00:00
test-constantpool.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-conversions.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-cpu-profiler.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-date.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-debug.cc [cleanup][heap] Improve heap iterator naming 2019-06-17 14:38:02 +00:00
test-decls.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-deoptimization.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-dictionary.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-disasm-arm.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-disasm-ia32.cc Move remaining files in src/ 2019-05-24 18:24:36 +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 Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-diy-fp.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-double.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-dtoa.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-elements-kind.cc Move remaining files in src/ 2019-05-24 18:24:36 +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 Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
test-fast-dtoa.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-feedback-vector.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-feedback-vector.h Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-field-type-tracking.cc [ptr-compr] Pass Isolate to JSObject::MigrateToMap() and friends 2019-06-11 09:58:36 +00:00
test-fixed-dtoa.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-flags.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-func-name-inference.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-fuzz-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-global-handles.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +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 Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-icache.cc Move handles-related files to src/handles 2019-05-23 06:00:15 +00:00
test-identity-map.cc Move utility code to src/utils 2019-05-23 14:13:34 +00:00
test-inobject-slack-tracking.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-inspector.cc [cleanup] Refactor inspector to use default members. 2018-09-18 09:13:59 +00:00
test-intl.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +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 [WeakRefs] Rename to KeepDuringJob, ClearKeptObjects 2019-06-13 08:57:39 +00:00
test-liveedit.cc Add quotes around unexpected token SyntaxError 2019-06-11 06:11:58 +00:00
test-lockers.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-log-stack-tracer.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-log.cc [cleanup][heap] Improve heap iterator naming 2019-06-17 14:38:02 +00:00
test-macro-assembler-arm.cc [cleanup] Remove 'typedef struct' and 'typedef enum' 2019-05-28 12:17:35 +00:00
test-macro-assembler-mips64.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-macro-assembler-mips.cc [cleanup] Replace function typedefs by using declarations 2019-05-28 08:35:08 +00:00
test-macro-assembler-x64.cc Move architecture dependent files 2019-05-28 14:02:15 +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 Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-object.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-orderedhashtable.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-parsing.cc Remove always-enabled --harmony-hashbang flag 2019-06-11 15:47:08 +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 Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-profile-generator.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-random-number-generator.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-regexp.cc [regexp] Reduce public API surface 2019-06-17 15:10:24 +00:00
test-representation.cc Move relevant files to src/objects 2019-05-20 08:57:47 +00:00
test-roots.cc [roheap] Set owner_ to nullptr for read-only chunks 2019-06-04 12:06:12 +00:00
test-sampler-api.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-serialize.cc [cleanup][heap] Improve heap iterator naming 2019-06-17 14:38:02 +00:00
test-smi-lexicographic-compare.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-stack-unwinding-x64.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-strings.cc [api] Add a way to specify the max heap size in ResourceConstraints 2019-06-06 10:22:56 +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 Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-sync-primitives-arm.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-thread-termination.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-threads.cc Move relevant files to src/execution 2019-05-22 08:36:33 +00:00
test-trace-event.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-traced-value.cc [tracing] Improve tracing signals for compilation/optimization. 2019-03-25 14:49:08 +00:00
test-transitions.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-transitions.h Move relevant files to src/objects 2019-05-20 08:57:47 +00:00
test-typedarrays.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-types.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-unboxed-doubles.cc [ptr-compr] Pass Isolate to JSObject::MigrateToMap() and friends 2019-06-11 09:58:36 +00:00
test-unscopables-hidden-prototype.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-unwinder.cc [cleanup] Avoid {Object::operator->} 2019-05-23 07:52:07 +00:00
test-usecounters.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-utils-arm64.cc Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-utils-arm64.h Move architecture dependent files 2019-05-28 14:02:15 +00:00
test-utils.cc [cleanup] Replace simple typedefs by using 2019-05-27 12:39:49 +00:00
test-version.cc Move remaining files in src/ 2019-05-24 18:24:36 +00:00
test-weakmaps.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
test-weaksets.cc Move more relevant files to src/objects 2019-05-23 08:52:30 +00:00
testcfg.py Reland "Preparing v8 to use with python3 /test" 2019-03-20 09:56:06 +00:00
trace-extension.cc [cleanup] Avoid {Object::operator->} 2019-05-23 07:52:07 +00:00
trace-extension.h Move remaining files in src/ 2019-05-24 18:24:36 +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