v8/test/cctest/compiler
bmeurer 44b9122d9f [turbofan] Properly type field access to stable heap object maps.
Introduce new typing rules for LoadField[Map], which try to take into
account stable map information if the object either has type Constant or
type Class. If the map of the object is stable but can transition we
have to introduce a code dependency in the Typer to make sure that the
information (the Constant type we infer for LoadField[Map]) is valid
(and stays valid).

This also settles the policy for depending on map stability: The
definition can introduce any number of maps, without having to pay
attention to stability (i.e. you can always use Type::Class to introduce
a map that is propagated along the value edges), and the use site is
responsible for checking that the type information is valid before using
it. I.e. if you use stable map information, you'll have to add a
stability dependency (or make sure the map cannot transition).

Drive-by-improvement: Add ReferenceEqualTyper which takes input types
into account for improved constant folding.

Drive-by-fix: Apply policy mentioned above to JSNativeContextSpecialization.

R=jarin@chromium.org, rossberg@chromium.org
BUG=v8:4470
LOG=n

Review URL: https://codereview.chromium.org/1410953006

Cr-Commit-Position: refs/heads/master@{#31567}
2015-10-26 14:04:35 +00:00
..
c-signature.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
call-tester.h Reland: [turbofan] Various fixes to allow unboxed doubles as arguments in registers and on the stack. 2015-08-11 15:23:17 +00:00
codegen-tester.cc [turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines. 2015-08-10 07:17:34 +00:00
codegen-tester.h [turbofan] Fix calls to computed code objects. 2015-10-01 17:11:56 +00:00
function-tester.h [turbofan] Properly type field access to stable heap object maps. 2015-10-26 14:04:35 +00:00
graph-builder-tester.h Give the SupportedMachineOperatorFlags to GraphAndBuilders to allow the use of optional operators in tests. 2015-10-11 19:59:34 +00:00
test-basic-block-profiler.cc [turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines. 2015-08-10 07:17:34 +00:00
test-branch-combine.cc [turbofan] Drop V8_TURBOFAN_BACKEND and V8_TURBOFAN_TARGET defines. 2015-08-10 07:17:34 +00:00
test-changes-lowering.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
test-gap-resolver.cc For some platform such as X87, Crankshaft and Turbofan needs to use different 2015-10-22 13:24:49 +00:00
test-graph-visualizer.cc Reland "[turbofan] Checking of input counts on node creation" 2015-09-23 09:08:34 +00:00
test-instruction.cc Move Hydrogen and Lithium to src/crankshaft/ 2015-10-20 13:25:55 +00:00
test-js-constant-cache.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
test-js-context-specialization.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
test-js-typed-lowering.cc [turbofan] Remove locally constructed simplified builders. 2015-10-19 08:05:27 +00:00
test-jump-threading.cc [turbofan] Ensure lazy bailout point in exception handler. 2015-06-17 05:40:42 +00:00
test-linkage.cc Map v8::Function to JSReceiver + IsCallable 2015-10-23 12:27:06 +00:00
test-loop-analysis.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
test-loop-assignment-analysis.cc [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
test-machine-operator-reducer.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
test-multiple-return.cc For some platform such as X87, Crankshaft and Turbofan needs to use different 2015-10-22 13:24:49 +00:00
test-node.cc Reland "[turbofan] Checking of input counts on node creation" 2015-09-23 09:08:34 +00:00
test-operator.cc Move SmartPointer to base. 2015-07-13 12:38:17 +00:00
test-osr.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
test-pipeline.cc Map v8::Function to JSReceiver + IsCallable 2015-10-23 12:27:06 +00:00
test-representation-change.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
test-run-bytecode-graph-builder.cc Map v8::Function to JSReceiver + IsCallable 2015-10-23 12:27:06 +00:00
test-run-deopt.cc [turbofan] Remove obsolete --turbo-try-catch flag. 2015-09-10 09:38:40 +00:00
test-run-inlining.cc [turbofan] Rename --context-specialization to --function-context-specialization. 2015-09-25 11:33:38 +00:00
test-run-intrinsics.cc [heap] Cleanup string factory methods a bit. 2015-09-29 08:08:30 +00:00
test-run-jsbranches.cc First simple implementation of for-of in TurboFan. 2015-01-14 15:24:29 +00:00
test-run-jscalls.cc Replace FunctionToLocal with CallableToLocal 2015-10-26 13:37:04 +00:00
test-run-jsexceptions.cc [turbofan] Remove obsolete --turbo-try-catch flag. 2015-09-10 09:38:40 +00:00
test-run-jsobjects.cc [turbofan] Model arguments object materialization in graph. 2015-09-15 09:07:34 +00:00
test-run-jsops.cc [es6] Remove harmony-classes flag 2015-06-26 21:16:58 +00:00
test-run-machops.cc Added Popcnt as an optional operator and implement it on x64 and ia32. 2015-10-16 01:23:06 +00:00
test-run-native-calls.cc For some platform such as X87, Crankshaft and Turbofan needs to use different 2015-10-22 13:24:49 +00:00
test-run-properties.cc [turbofan] Rename --context-specialization to --function-context-specialization. 2015-09-25 11:33:38 +00:00
test-run-stackcheck.cc Implement inlined stack-check guards in TurboFan. 2014-10-01 14:03:02 +00:00
test-run-stubs.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
test-run-variables.cc Remove --harmony-scoping flag. 2015-03-13 15:15:57 +00:00
test-simplified-lowering.cc [turbofan] Remove locally constructed simplified builders. 2015-10-19 08:05:27 +00:00
value-helper.h [test] Add FOR_INT64_INPUTS and FOR_UINT64_INPUTS. 2015-09-23 11:05:00 +00:00