|
Type Feedback Vector lives in the closure
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...
TBR=hpayer@chromium.org
BUG=
Committed: https://crrev.com/a5200f7ed4d11c6b882fa667da7a1864226544b4
Cr-Commit-Position: refs/heads/master@{#33518}
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+1256 lines, -543 lines) |
Patch |
|
M |
src/arm/builtins-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+145 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/macro-assembler-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/arm64/builtins-arm64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+129 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm64/macro-assembler-arm64.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/code-stubs.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+1 line, -5 lines |
0 comments
|
Download
|
|
M |
src/code-stubs-hydrogen.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+10 lines, -203 lines |
0 comments
|
Download
|
|
M |
src/compiler.h
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/compiler.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
15 chunks |
+36 lines, -26 lines |
0 comments
|
Download
|
|
M |
src/compiler/access-builder.h
|
View
|
1
2
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/access-builder.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+9 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/ast-graph-builder.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/compiler/bytecode-graph-builder.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+5 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/compiler/interpreter-assembler.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-inlining.cc
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/js-typed-lowering.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen.h
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
src/crankshaft/hydrogen.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/crankshaft/typing.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/debug/debug.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+3 lines, -4 lines |
0 comments
|
Download
|
|
M |
src/debug/liveedit.h
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/debug/liveedit.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
7 chunks |
+23 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/deoptimizer.h
|
View
|
1
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
src/factory.h
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/factory.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
4 chunks |
+8 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/arm/full-codegen-arm.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/arm64/full-codegen-arm64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/full-codegen.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/full-codegen/ia32/full-codegen-ia32.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/mips/full-codegen-mips.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/mips64/full-codegen-mips64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/full-codegen/x64/full-codegen-x64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/heap/heap.h
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/heap/heap.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/heap/objects-visiting-inl.h
|
View
|
1
2
|
2 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/ia32/builtins-ia32.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+138 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/interpreter/bytecode-generator.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/interpreter/interpreter.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/mips/builtins-mips.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+140 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/mips/macro-assembler-mips.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/mips64/builtins-mips64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+140 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/mips64/macro-assembler-mips64.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
1
2
3
4
5
6
7
8
9
|
11 chunks |
+32 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/objects.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
5 chunks |
+41 lines, -9 lines |
0 comments
|
Download
|
|
M |
src/objects-debug.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/objects-inl.h
|
View
|
1
2
3
4
5
6
7
8
9
|
5 chunks |
+37 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/objects-printer.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/profiler/heap-snapshot-generator.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/runtime-profiler.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
5 chunks |
+9 lines, -11 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime.h
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-compiler.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
2 chunks |
+17 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-function.cc
|
View
|
1
2
3
|
2 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-scopes.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/runtime/runtime-test.cc
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/snapshot/serialize.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+9 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/type-feedback-vector.h
|
View
|
|
2 chunks |
+4 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/type-feedback-vector.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
3 chunks |
+37 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/type-feedback-vector-inl.h
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/x64/builtins-x64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+126 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/macro-assembler-x64.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
test/cctest/cctest.status
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/function-tester.h
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-run-jscalls.cc
|
View
|
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/heap/test-heap.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
15 chunks |
+18 lines, -97 lines |
0 comments
|
Download
|
|
M |
test/cctest/interpreter/test-interpreter.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
test/cctest/test-compiler.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
8 chunks |
+13 lines, -19 lines |
0 comments
|
Download
|
|
M |
test/cctest/test-feedback-vector.cc
|
View
|
1
2
|
10 chunks |
+10 lines, -10 lines |
0 comments
|
Download
|
|
M |
test/mjsunit/mjsunit.status
|
View
|
1
2
3
4
5
6
7
8
9
10
11
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/unittests/compiler/interpreter-assembler-unittest.cc
|
View
|
1
2
3
4
5
6
7
8
9
|
1 chunk |
+8 lines, -10 lines |
0 comments
|
Download
|
Total messages: 37 (20 generated)
|