v8/test/unittests/compiler
mvstanton bb31db3ad6 Type Feedback Vector lives in the closure
(RELAND: the problem before was a missing write barrier for adding the code
entry to the new closure. It's been addressed with a new macro instruction
and test. The only change to this CL is the addition of two calls to
__ RecordWriteCodeEntryField() in the platform CompileLazy builtin.)

We get less "pollution" of type feedback if we have one vector per native
context, rather than one for the whole system. This CL moves the vector
appropriately.

We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The
vector actually lives in the first slot of the literals array (indeed there is
great commonality between those arrays, they can be thought of as the same
thing). So we make greater effort to ensure there is a valid literals array
after compilation.

This meant, for performance reasons, that we needed to extend
FastNewClosureStub to support creating closures with literals. And ultimately,
it drove us to move the optimized code map lookup out of FastNewClosureStub
and into the compile lazy builtin.

The heap change is trivial so I TBR Hannes for it...
Also, Yang has had a look at the debugger changes already and approved 'em. So he is TBR style too.
And Benedikt reviewed it as well.

TBR=hpayer@chromium.org, yangguo@chromium.org, bmeurer@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33741}
2016-02-04 15:41:23 +00:00
..
arm [turbofan] Store nodes use only MachineRepresentation, not MachineType. 2015-12-11 15:34:16 +00:00
arm64 [turbofan] Store nodes use only MachineRepresentation, not MachineType. 2015-12-11 15:34:16 +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
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
change-lowering-unittest.cc [turbofan] Store nodes use only MachineRepresentation, not MachineType. 2015-12-11 15:34:16 +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
escape-analysis-unittest.cc Remove the template magic from types.(h|cc), remove types-inl.h. 2016-02-02 07:26:06 +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 [turbofan] Remove usage of Unique<T> from graph. 2015-08-31 08:25:05 +00:00
instruction-selector-unittest.cc [turbofan] Add the StackSlot operator to turbofan. 2016-01-29 09:43:54 +00:00
instruction-selector-unittest.h [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
instruction-sequence-unittest.cc Re-reland: Remove register index/code indirection 2015-10-02 16:55:22 +00:00
instruction-sequence-unittest.h [turbofan] Create ExplicitOperands to specify operands without virtual registers 2015-10-27 13:27:00 +00:00
interpreter-assembler-unittest.cc Type Feedback Vector lives in the closure 2016-02-04 15:41:23 +00:00
interpreter-assembler-unittest.h [Interpreter] Bytecodes for exchanging registers. 2016-01-04 17:38:26 +00:00
js-builtin-reducer-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
js-context-relaxation-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
js-intrinsic-lowering-unittest.cc [turbofan] Introduce proper ObjectIsReceiver operator. 2016-02-02 11:43:02 +00:00
js-operator-unittest.cc [turbofan] The JSCreateWithContext operator doesn't need a frame state. 2015-12-09 12:00:26 +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] Move creation stub fallbacks to JSGenericLowering. 2016-02-02 13:34:02 +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] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
load-elimination-unittest.cc [turbofan] Turn LoadElimination into an AdvancedReducer. 2015-06-05 16:40:58 +00:00
loop-peeling-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
machine-operator-reducer-unittest.cc [turbofan] Store nodes use only MachineRepresentation, not MachineType. 2015-12-11 15:34:16 +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] Introduce proper ObjectIsReceiver operator. 2016-02-02 11:43:02 +00:00
node-test-utils.h [turbofan] Introduce proper ObjectIsReceiver operator. 2016-02-02 11:43:02 +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-unittest.cc [tubofan] Remove .dot output of --trace-turbo 2015-12-11 16:58:31 +00:00
select-lowering-unittest.cc [turbofan] Make MachineType a pair of enums. 2015-12-10 09:03:53 +00:00
simplified-operator-reducer-unittest.cc [turbofan] Move SimplifiedOperatorBuilder into JSGraph. 2015-10-16 12:38:52 +00:00
simplified-operator-unittest.cc [turbofan] Introduce proper ObjectIsReceiver operator. 2016-02-02 11:43:02 +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 the template magic from types.(h|cc), remove types-inl.h. 2016-02-02 07:26:06 +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 Fix invalid use of int in Zone. 2015-02-12 12:47:18 +00:00