|
Update Assembler::TryAllocate to support inline allocation tracing
- Track whether class allocation should be traced in existing ClassHeapStats structure.
- Emit compare and branch at top of ::TryAllocate
These changes appear to be performance neutral.
An alternative approach is to deoptimize all code that inlined allocations for a specific class. I do not think this is a good approach because we will spoil the water- allocations that aren't occurring in the (optimized steady state) running program will appear in the allocation profile. This will make the data much less actionable bordering on misleading. The approach used in this CL will guarantee the allocation profile aligns with the actual running program.
R=regis@google.com, srdjan@google.com
Committed: https://github.com/dart-lang/sdk/commit/598c67001b5154fca65108d52352c03b6e0fad97
Total comments: 7
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+305 lines, -11 lines) |
Patch |
|
M |
runtime/vm/assembler_arm.h
|
View
|
1
2
3
4
5
|
2 chunks |
+7 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm.cc
|
View
|
1
2
3
4
5
|
5 chunks |
+19 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm64.h
|
View
|
1
2
3
4
5
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_arm64.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+29 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_ia32.h
|
View
|
1
2
3
4
5
|
1 chunk |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_ia32.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+43 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_mips.h
|
View
|
1
2
3
4
5
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_mips.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+31 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_x64.h
|
View
|
1
2
3
4
5
|
2 chunks |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/assembler_x64.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+44 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/class_table.h
|
View
|
1
2
3
|
4 chunks |
+24 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/class_table.cc
|
View
|
1
2
3
4
|
2 chunks |
+7 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/intrinsifier_arm.cc
|
View
|
1
2
3
4
5
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/profiler_test.cc
|
View
|
1
2
3
4
5
|
1 chunk |
+67 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_arm.cc
|
View
|
1
2
3
4
5
|
3 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
Total messages: 15 (4 generated)
|