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

Issue 1867913004: Specialize instance calls when the call receiver is the method receiver and the method class has a … (Closed)

Created:
4 years, 8 months ago by rmacnak
Modified:
4 years, 8 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: Specialize instance calls when the call receiver is the method receiver and the method class has a small number of concrete subclasses (currently 5). CompileOnceHelloHtml (ARMv7HF) +17.194% DeltaBlueClosures (ARMv7HF) +28.379% DeltaBlue (ARMv7HF) +30.190% precompiled dart2js arm 19071745 -> 19504726 (+2.3%) R=fschneider@google.com Committed: https://github.com/dart-lang/sdk/commit/e048774776f20cf45edddf607a0c90abcb3ccd07

Patch Set 1 #

Patch Set 2 : #

Total comments: 3

Patch Set 3 : #

Total comments: 6

Patch Set 4 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+246 lines, -73 lines) Patch
M runtime/lib/integers.dart View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M runtime/lib/string_patch.dart View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/aot_optimizer.cc View 1 2 3 5 chunks +69 lines, -5 lines 0 comments Download
M runtime/vm/cha.h View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/cha.cc View 1 chunk +25 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph.h View 2 chunks +2 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler.h View 1 2 2 chunks +4 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 2 2 chunks +24 lines, -14 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm.cc View 1 2 4 chunks +18 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm64.cc View 1 2 4 chunks +18 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 1 2 4 chunks +16 lines, -6 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 2 4 chunks +18 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_inliner.cc View 1 2 3 4 chunks +23 lines, -14 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 2 3 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 3 2 chunks +6 lines, -2 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/jit_optimizer.cc View 1 2 3 3 chunks +7 lines, -3 lines 0 comments Download

Messages

Total messages: 13 (6 generated)
rmacnak
http://146.148.43.81:8080/Comparison#targetA%3Ddart-unopt%3BmachineTypeA%3Dlinux-armv7hf%3BrevisionA%3D51783%3BpatchA%3Drmacnak-receiver-cha-poly-inline%3BtargetB%3Ddart-unopt%3BmachineTypeB%3Dlinux-armv7hf%3BrevisionB%3D51782%3BpatchB%3DNone
4 years, 8 months ago (2016-04-08 00:54:42 UTC) #4
Florian Schneider
lgtm https://codereview.chromium.org/1867913004/diff/20001/runtime/vm/aot_optimizer.cc File runtime/vm/aot_optimizer.cc (right): https://codereview.chromium.org/1867913004/diff/20001/runtime/vm/aot_optimizer.cc#newcode289 runtime/vm/aot_optimizer.cc:289: with_checks, for style consistency: /* with_checks = */ ...
4 years, 8 months ago (2016-04-08 22:39:38 UTC) #5
rmacnak
Changed EmitTestAndCall to avoid the last comparison and generation of slow path with the cases ...
4 years, 8 months ago (2016-04-11 17:20:23 UTC) #6
Florian Schneider
LGTM https://codereview.chromium.org/1867913004/diff/40001/runtime/vm/aot_optimizer.cc File runtime/vm/aot_optimizer.cc (right): https://codereview.chromium.org/1867913004/diff/40001/runtime/vm/aot_optimizer.cc#newcode2572 runtime/vm/aot_optimizer.cc:2572: PolymorphicInstanceCallInstr* call = Could you change IL printing ...
4 years, 8 months ago (2016-04-11 17:42:25 UTC) #7
srdjan
DBC https://codereview.chromium.org/1867913004/diff/40001/runtime/vm/aot_optimizer.cc File runtime/vm/aot_optimizer.cc (right): https://codereview.chromium.org/1867913004/diff/40001/runtime/vm/aot_optimizer.cc#newcode2534 runtime/vm/aot_optimizer.cc:2534: if (class_ids.length() <= 5) { How about parametrizing ...
4 years, 8 months ago (2016-04-11 18:10:42 UTC) #9
rmacnak
https://codereview.chromium.org/1867913004/diff/40001/runtime/vm/aot_optimizer.cc File runtime/vm/aot_optimizer.cc (right): https://codereview.chromium.org/1867913004/diff/40001/runtime/vm/aot_optimizer.cc#newcode2534 runtime/vm/aot_optimizer.cc:2534: if (class_ids.length() <= 5) { On 2016/04/11 18:10:42, srdjan ...
4 years, 8 months ago (2016-04-11 19:33:42 UTC) #11
rmacnak
4 years, 8 months ago (2016-04-11 19:52:33 UTC) #13
Message was sent while issue was closed.
Committed patchset #4 (id:60001) manually as
e048774776f20cf45edddf607a0c90abcb3ccd07 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698