|
Support untagged object pool entries.
The object pool is now implemented in a new VM class (ObjectPool). This allows to store
arbirtrary immediates in the object pool without generating exta tagging code for immediate values
or addresses that can't be represented as raw smis.
The object pool now consists of up to 3 parts: fixed entries, tagged objects, untagged entries.
When generating code is done, the object pool indices of untagged entries are updated
using the assembler fixups.
The GC only traversed tagged objects. Fixed entries are either VM isolate objects or
stub entry points, so they don't need to be visited.
BUG=
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+507 lines, -141 lines) |
Patch |
 |
M |
runtime/observatory/tests/service/graph_test.dart
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
runtime/vm/assembler.h
|
View
|
|
4 chunks |
+67 lines, -14 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/assembler.cc
|
View
|
|
4 chunks |
+116 lines, -39 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/assembler_x64.h
|
View
|
|
3 chunks |
+7 lines, -6 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/assembler_x64.cc
|
View
|
|
9 chunks |
+24 lines, -18 lines |
2 comments
|
Download
|
 |
M |
runtime/vm/code_patcher_x64.cc
|
View
|
|
6 chunks |
+12 lines, -14 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/compiler.cc
|
View
|
|
1 chunk |
+2 lines, -9 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/deferred_objects.cc
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/deopt_instructions.h
|
View
|
|
3 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/deopt_instructions.cc
|
View
|
|
4 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/instructions_x64.h
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/instructions_x64.cc
|
View
|
|
2 chunks |
+4 lines, -6 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/object.h
|
View
|
|
8 chunks |
+98 lines, -3 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/object.cc
|
View
|
1
|
11 chunks |
+80 lines, -13 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/raw_object.h
|
View
|
|
4 chunks |
+25 lines, -1 line |
0 comments
|
Download
|
 |
M |
runtime/vm/raw_object.cc
|
View
|
|
3 chunks |
+30 lines, -0 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/raw_object_snapshot.cc
|
View
|
|
1 chunk |
+16 lines, -0 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/runtime_entry_x64.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
runtime/vm/stack_frame.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
runtime/vm/stack_frame.cc
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/stub_code.cc
|
View
|
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/symbols.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
Total messages: 5 (2 generated)
|