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

Issue 1799793002: Precompilation: Have instances calls load the entry point and Code object from the ic data array in… (Closed)

Created:
4 years, 9 months ago by rmacnak
Modified:
4 years, 9 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Precompilation: Change instance call sequence to load the entry point and Code object from the ic data array instead of loading them indirectly from the Function object loaded from the same array. Load the Code from the ic data array instead of the ObjectPool because we still need the Code object in the frame to find stackmaps / build stacktraces / build profile results. Keep doing things the old way until all compilation is finished because evaluation of constants still needs functional lazy compilation and the compiler works with ICData that may contain as-yet-uncompiled functions. After compilation is finished, transform all the ICData from (cid, target function, count) to (cid, target code, entry point) and switch to the ICLookup stub that works with this representation. Golem average +3.133% on ARM, +3.544% on x64 R=srdjan@google.com Committed: https://github.com/dart-lang/sdk/commit/aefb7a424ce209cde26ecad99cd98ee86a856a71

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 23

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+315 lines, -12 lines) Patch
M runtime/vm/flow_graph_compiler_arm.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_arm64.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/object.h View 1 2 3 4 3 chunks +15 lines, -0 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 4 5 chunks +41 lines, -2 lines 0 comments Download
M runtime/vm/precompiler.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/precompiler.cc View 1 2 3 4 2 chunks +79 lines, -0 lines 0 comments Download
M runtime/vm/snapshot.cc View 1 2 3 4 1 chunk +21 lines, -0 lines 0 comments Download
M runtime/vm/stub_code.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/stub_code_arm.cc View 1 2 chunks +36 lines, -1 line 0 comments Download
M runtime/vm/stub_code_arm64.cc View 1 2 chunks +36 lines, -1 line 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 1 chunk +6 lines, -1 line 0 comments Download
M runtime/vm/stub_code_mips.cc View 1 2 chunks +35 lines, -1 line 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 2 chunks +39 lines, -1 line 0 comments Download

Messages

Total messages: 10 (4 generated)
rmacnak
4 years, 9 months ago (2016-03-15 17:07:23 UTC) #4
srdjan
https://codereview.chromium.org/1799793002/diff/60001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/1799793002/diff/60001/runtime/vm/object.cc#newcode12335 runtime/vm/object.cc:12335: } else { Add a comment, that this is ...
4 years, 9 months ago (2016-03-15 19:15:49 UTC) #5
Florian Schneider
dbc https://codereview.chromium.org/1799793002/diff/60001/runtime/vm/stub_code_ia32.cc File runtime/vm/stub_code_ia32.cc (right): https://codereview.chromium.org/1799793002/diff/60001/runtime/vm/stub_code_ia32.cc#newcode2087 runtime/vm/stub_code_ia32.cc:2087: void StubCode::GenerateICLookupThroughFunctionStub(Assembler* assembler) { Since this stub is ...
4 years, 9 months ago (2016-03-16 15:45:48 UTC) #6
rmacnak
PTAL https://codereview.chromium.org/1799793002/diff/60001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/1799793002/diff/60001/runtime/vm/object.cc#newcode12335 runtime/vm/object.cc:12335: } else { On 2016/03/15 19:15:48, srdjan wrote: ...
4 years, 9 months ago (2016-03-16 18:21:32 UTC) #7
srdjan
lgtm
4 years, 9 months ago (2016-03-16 19:34:38 UTC) #8
rmacnak
4 years, 9 months ago (2016-03-17 22:41:09 UTC) #10
Message was sent while issue was closed.
Committed patchset #5 (id:80001) manually as
aefb7a424ce209cde26ecad99cd98ee86a856a71 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698