|
Use off-heap data for type feedback in PolymorphicInstanceCallInstr
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= 29302
Committed: https://github.com/dart-lang/sdk/commit/d315a53e21ee4f3c80e9854354b69eba2161da43
Total comments: 61
Total comments: 20
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+840 lines, -892 lines) |
Patch |
|
M |
runtime/vm/aot_optimizer.cc
|
View
|
1
|
5 chunks |
+13 lines, -10 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm.h
|
View
|
1
2
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler.h
|
View
|
1
2
|
6 chunks |
+38 lines, -31 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler.cc
|
View
|
1
2
|
4 chunks |
+188 lines, -72 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm.cc
|
View
|
1
2
|
2 chunks |
+28 lines, -107 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm64.cc
|
View
|
1
2
|
2 chunks |
+28 lines, -107 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_ia32.cc
|
View
|
1
2
|
3 chunks |
+38 lines, -105 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_mips.cc
|
View
|
1
2
|
2 chunks |
+40 lines, -108 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_x64.cc
|
View
|
1
2
|
2 chunks |
+28 lines, -108 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_inliner.cc
|
View
|
1
2
|
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
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/il_printer.cc
|
View
|
1
|
3 chunks |
+47 lines, -5 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language.h
|
View
|
1
2
|
4 chunks |
+74 lines, -9 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language.cc
|
View
|
1
2
|
7 chunks |
+201 lines, -24 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_arm.cc
|
View
|
1
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_arm64.cc
|
View
|
1
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_dbc.cc
|
View
|
1
2
|
3 chunks |
+13 lines, -28 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_mips.cc
|
View
|
1
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intermediate_language_x64.cc
|
View
|
1
|
2 chunks |
+10 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/jit_optimizer.h
|
View
|
1
2
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/jit_optimizer.cc
|
View
|
1
|
7 chunks |
+17 lines, -90 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
|
1 chunk |
+0 lines, -13 lines |
0 comments
|
Download
|
Total messages: 11 (3 generated)
|