|
Reland "Use off-heap data for type feedback in PolymorphicInstanceCallInstr"
This is a reapplication of https://codereview.chromium.org/2809583002/
with a fix for the AOT case.
We have been using IC data for receiver type info in the
PolymorphicInstanceCallInstr. This is a data structure optimized for
access from hand-coded assembly stubs, and placed on the GC-ed heap,
which means it has to be accessed through handles. With this change we
move it to the zone memory, which means it can be freed without an
old-gen GC. As a side-effect the zone arrays use exponential growth for
amortized constant space allocation instead of growing by 1 for
quadratic allocation when we add classes, further reducing memory
pressure.
R=vegorov@google.com
BUG=
Committed: https://github.com/dart-lang/sdk/commit/eeea4fd331dff41d2cf057bc9da6e49aa46d35a8
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+841 lines, -895 lines) |
Patch |
|
M |
runtime/vm/aot_optimizer.cc
|
View
|
|
5 chunks |
+13 lines, -10 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm.h
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler.h
|
View
|
1
|
6 chunks |
+38 lines, -31 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler.cc
|
View
|
1
|
4 chunks |
+187 lines, -72 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm.cc
|
View
|
|
2 chunks |
+28 lines, -107 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm64.cc
|
View
|
|
2 chunks |
+28 lines, -107 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_ia32.cc
|
View
|
|
3 chunks |
+38 lines, -105 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_mips.cc
|
View
|
|
2 chunks |
+35 lines, -108 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_x64.cc
|
View
|
|
2 chunks |
+28 lines, -108 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_inliner.cc
|
View
|
1
|
18 chunks |
+34 lines, -57 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_type_propagator.cc
|
View
|
1
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/il_printer.h
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/il_printer.cc
|
View
|
|
3 chunks |
+47 lines, -5 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language.h
|
View
|
1
|
4 chunks |
+76 lines, -9 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language.cc
|
View
|
1
|
8 chunks |
+206 lines, -25 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_arm.cc
|
View
|
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_arm64.cc
|
View
|
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_dbc.cc
|
View
|
|
3 chunks |
+13 lines, -28 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_mips.cc
|
View
|
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_x64.cc
|
View
|
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/jit_optimizer.h
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/jit_optimizer.cc
|
View
|
|
7 chunks |
+17 lines, -92 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
|
1 chunk |
+0 lines, -13 lines |
0 comments
|
Download
|
Total messages: 4 (1 generated)
|