|
Disconnects code objects from infrequently used unoptimized functions.
Every 30 seconds (configurable by --code-collection-interval),
before a MarkSweep collection, this change halves a function's
usage count if it is unoptimized. If the function's usage count
reaches 0 as a result of this halving, it sets the function's
code pointers to null. Then, if the code object isn't marked
during the MarkSweep, it will be collected.
This change also checks for null code pointers in various
places, and recompiles/reconnects code if needed.
R=srdjan@google.com
Committed: https://code.google.com/p/dart/source/detail?r=29209
Total comments: 10
Total comments: 13
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+419 lines, -28 lines) |
Patch |
|
M |
runtime/vm/assembler_x64.cc
|
View
|
1
2
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/code_generator.cc
|
View
|
1
2
3
|
1 chunk |
+16 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm.cc
|
View
|
1
2
3
4
|
2 chunks |
+13 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_ia32.cc
|
View
|
1
2
3
4
|
2 chunks |
+14 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_mips.cc
|
View
|
1
2
3
4
|
2 chunks |
+15 lines, -5 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_x64.cc
|
View
|
1
2
3
4
|
2 chunks |
+14 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
1
2
|
4 chunks |
+15 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
1
2
3
|
3 chunks |
+30 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/pages.h
|
View
|
1
2
3
4
5
|
4 chunks |
+16 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/pages.cc
|
View
|
1
2
3
4
5
|
4 chunks |
+66 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_arm.cc
|
View
|
1
2
3
4
|
2 chunks |
+36 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_ia32.cc
|
View
|
1
2
3
4
|
2 chunks |
+37 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_mips.cc
|
View
|
1
2
3
4
|
2 chunks |
+38 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code_x64.cc
|
View
|
1
2
3
4
|
2 chunks |
+37 lines, -2 lines |
0 comments
|
Download
|
|
A |
tests/standalone/code_collection_test.dart
|
View
|
1
2
3
4
5
|
1 chunk |
+68 lines, -0 lines |
0 comments
|
Download
|
Total messages: 12 (0 generated)
|