v8/test/unittests/compiler
bmeurer b8229ec446 [turbofan] Initial version of allocation folding and write barrier elimination.
This adds a new pass MemoryOptimizer that walks over the effect chain
from Start and lowers all Allocate, LoadField, StoreField, LoadElement,
and StoreElement nodes, trying to fold allocations into allocation
groups and eliminate write barriers on StoreField and StoreElement if
possible (i.e. if the object belongs to the current allocation group and
that group allocates in new space).

R=hpayer@chromium.org, jarin@chromium.org
BUG=v8:4931, chromium:580959
LOG=n

Review-Url: https://codereview.chromium.org/1963583004
Cr-Commit-Position: refs/heads/master@{#36128}
2016-05-10 10:12:25 +00:00
..
arm [arm] Implement Float(32|64)(Min|Max) using vsel. 2016-04-06 10:17:57 +00:00
arm64 ARM64: [turbofan] Avoid zero-extension after a 32-bit load 2016-05-04 18:35:56 +00:00
ia32 [turbofan] Store nodes use only MachineRepresentation, not MachineType. 2015-12-11 15:34:16 +00:00
mips MIPS: [turbofan] Optimize Float32 to Int32 rep. changes with Float32 round ops. 2015-12-18 16:12:51 +00:00
mips64 MIPS: [turbofan] Optimize Float32 to Int32 rep. changes with Float32 round ops. 2015-12-18 16:12:51 +00:00
ppc Update PPC OWNERS 2015-07-27 21:37:55 +00:00
s390 S390: Initial test changes and files checkin. 2016-03-15 18:09:36 +00:00
x64 [turbofan] Store nodes use only MachineRepresentation, not MachineType. 2015-12-11 15:34:16 +00:00
branch-elimination-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
coalesced-live-ranges-unittest.cc [turbofan] Factored out the test live range builder. 2015-08-31 09:57:48 +00:00
common-operator-reducer-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
common-operator-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
compiler-test-utils.h [turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines. 2015-08-10 07:17:34 +00:00
control-equivalence-unittest.cc [tubofan] Remove .dot output of --trace-turbo 2015-12-11 16:58:31 +00:00
control-flow-optimizer-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
dead-code-elimination-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
diamond-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
effect-control-linearizer-unittest.cc [turbofan] Wire in floating control during effect linearization phase. 2016-04-25 04:29:23 +00:00
escape-analysis-unittest.cc Turn on -Wmissing-field-initializers on Linux. 2016-05-06 10:20:30 +00:00
graph-reducer-unittest.cc [turbofan] Make Node::set_op safer via wrapper. 2015-09-24 14:46:37 +00:00
graph-reducer-unittest.h [turbofan] Add AdvancedReducer::ReplaceWithValue() method and convert JSInlining to an AdvancedReducer. 2015-05-12 12:41:36 +00:00
graph-trimmer-unittest.cc [turbofan] Proper dead code elimination as regular reducer. 2015-06-19 12:07:26 +00:00
graph-unittest.cc [turbofan] Get rid of type lower bounds. 2015-09-16 11:55:43 +00:00
graph-unittest.h [wasm] New attempt to implement the Int64Lowering of phis. 2016-03-30 08:14:35 +00:00
instruction-selector-unittest.cc [turbofan] Introduce TruncateTaggedToWord32 simplified operator. 2016-04-24 11:41:20 +00:00
instruction-selector-unittest.h [turbofan] Enforce that C calls do not use floating point params. 2016-02-15 13:25:23 +00:00
instruction-sequence-unittest.cc RegisterAllocator: Clean up before adding aliasing. 2016-04-25 20:11:40 +00:00
instruction-sequence-unittest.h [turbofan] Create ExplicitOperands to specify operands without virtual registers 2015-10-27 13:27:00 +00:00
int64-lowering-unittest.cc [wasm] Mark all 64-bit instructions as supported on 32-bit platforms. 2016-05-03 11:47:59 +00:00
js-builtin-reducer-unittest.cc Add GetProperty/GetElement to JSReceiver and use it where possible 2016-03-08 17:30:42 +00:00
js-create-lowering-unittest.cc [turbofan] Use inline allocation for closures. 2016-04-14 15:19:17 +00:00
js-intrinsic-lowering-unittest.cc [builtins] Migrate Math.clz32 to a TurboFan builtin. 2016-04-01 14:36:32 +00:00
js-operator-unittest.cc [turbofan] JSTypeOf, JSStrictEqual, JSStrictNotEqual and JSToBoolean are pure. 2016-04-16 19:28:12 +00:00
js-type-feedback-unittest.cc Remove support for "loads and stores to global vars through property cell shortcuts installed into parent script context" from all compilers. 2015-10-22 09:17:24 +00:00
js-typed-lowering-unittest.cc [turbofan] JSTypeOf, JSStrictEqual, JSStrictNotEqual and JSToBoolean are pure. 2016-04-16 19:28:12 +00:00
linkage-tail-call-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
live-range-builder.h [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
live-range-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
liveness-analyzer-unittest.cc [turbofan] Remove the JSContextRelaxation reducer. 2016-02-19 07:55:48 +00:00
load-elimination-unittest.cc [turbofan] Restrict types in load elimination. 2016-04-05 12:30:14 +00:00
loop-peeling-unittest.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00
machine-operator-reducer-unittest.cc [turbofan] Introduce TruncateTaggedToWord32 simplified operator. 2016-04-24 11:41:20 +00:00
machine-operator-unittest.cc [turbofan] Store nodes use only MachineRepresentation, not MachineType. 2015-12-11 15:34:16 +00:00
move-optimizer-unittest.cc [turbofan] fine grained in-block move optimization 2016-02-04 06:30:34 +00:00
node-cache-unittest.cc [test] Turn compiler/test-node-cache into a unit test. 2015-04-29 14:40:05 +00:00
node-matchers-unittest.cc [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
node-properties-unittest.cc [turbofan] Proper dead code elimination as regular reducer. 2015-06-19 12:07:26 +00:00
node-test-utils.cc [turbofan] Remove obsolete EffectSet common operator. 2016-05-06 07:46:44 +00:00
node-test-utils.h [turbofan] Remove obsolete EffectSet common operator. 2016-05-06 07:46:44 +00:00
node-unittest.cc Fix -Wsign-compare errors in TF tests under GCC 4.9.2 2015-06-15 12:03:45 +00:00
opcodes-unittest.cc [turbofan] Strength reduction for inline comparisons. 2015-02-24 12:26:29 +00:00
register-allocator-unittest.cc Re-reland: Remove register index/code indirection 2015-10-02 16:55:22 +00:00
schedule-unittest.cc Model exceptional edges from call nodes in TurboFan. 2015-02-20 09:55:00 +00:00
scheduler-rpo-unittest.cc Move RPO unittests into their own file. 2016-02-14 11:27:46 +00:00
scheduler-unittest.cc [turbofan] Handle dead diamonds in scheduling and add a test. 2016-04-04 17:45:59 +00:00
simplified-operator-reducer-unittest.cc [turbofan] Remove left-over change bits from ChangeLowering. 2016-05-02 10:23:43 +00:00
simplified-operator-unittest.cc Turn on -Wmissing-field-initializers on Linux. 2016-05-06 10:20:30 +00:00
state-values-utils-unittest.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
tail-call-optimization-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
typer-unittest.cc Remove strong mode support from binary operations. 2016-02-16 13:55:29 +00:00
value-numbering-reducer-unittest.cc [turbofan] Check node input/use consistency for changed operators and new nodes. 2015-09-25 08:43:11 +00:00
zone-pool-unittest.cc Expose a lower bound of malloc'd memory via heap statistics 2016-04-01 10:01:56 +00:00