Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(480)

Issue 1147303002: Support untagged object pool entries. (Closed)

Created:
5 years, 7 months ago by Florian Schneider
Modified:
5 years, 6 months ago
CC:
reviews_dartlang.org, turnidge, Cutch, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

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=

Patch Set 1 #

Patch Set 2 : rebased #

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

Messages

Total messages: 5 (2 generated)
Florian Schneider
PTAL. x64 only. I would like feedback before porting to all platforms since this is ...
5 years, 7 months ago (2015-05-26 08:51:52 UTC) #1
Florian Schneider
[added reviewers]
5 years, 7 months ago (2015-05-26 08:52:29 UTC) #3
srdjan
5 years, 7 months ago (2015-05-26 22:36:26 UTC) #5
This looks fine to me, others?

https://codereview.chromium.org/1147303002/diff/20001/runtime/vm/assembler_x6...
File runtime/vm/assembler_x64.cc (right):

https://codereview.chromium.org/1147303002/diff/20001/runtime/vm/assembler_x6...
runtime/vm/assembler_x64.cc:36:
object_pool_.AddFixedObject(Object::null_object());
On 2015/05/26 08:51:51, Florian Schneider wrote:
> I'm considering removing all fixed objects / stubs from the object pools.
First,
> this saves space in places where those are not used. Second, it simplifies
would
> simplify this new implementation of the constant pool.

Where would you load them from?

Powered by Google App Engine
This is Rietveld 408576698