|
|
Reland "Use off-heap data for type feedback in PolymorphicInstanceCallInstr"
This reverts commit 2135c8a90f37091536bb6707edc5bf5a48bf315c.
This is a reland of https://codereview.chromium.org/2809583002/
Original text:
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/694ddfcdd3ae166858a2bf979287b0eefb21814c
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+834 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
|
|
6 chunks |
+38 lines, -31 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/flow_graph_compiler.cc
|
View
|
|
4 chunks |
+188 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
|
|
18 chunks |
+34 lines, -57 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/flow_graph_type_propagator.cc
|
View
|
|
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
|
|
4 chunks |
+74 lines, -9 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/intermediate_language.cc
|
View
|
|
7 chunks |
+200 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
|
1
|
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: 6 (1 generated)
|