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

Issue 1377113004: VM: Support phis with pair representations. (Closed)

Created:
5 years, 2 months ago by Florian Schneider
Modified:
5 years, 2 months ago
Reviewers:
regis, Cutch
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

VM: Support phis with pair representations. This enables unboxed int64 values in phis on 32-bit platforms (ia32, ARM, MIPS). On ia32 I measured SHA256 +14%, SHA1 +6%, MD5 +2%. BUG= R=johnmccutchan@google.com, regis@google.com Committed: https://github.com/dart-lang/sdk/commit/8adefa8e7969c2ade49699d40bf5b73fc57d517f

Patch Set 1 #

Total comments: 12

Patch Set 2 : addressed comments #

Patch Set 3 : Fix ARM mint shift bug, fix ssa liveness for pair phis #

Patch Set 4 : added MIPS fix, improved bit shift test #

Patch Set 5 : clean up #

Patch Set 6 : fix ia32 mint shift right as well #

Total comments: 14

Patch Set 7 : addressed Regis comments #

Patch Set 8 : #

Patch Set 9 : rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+112 lines, -43 lines) Patch
M runtime/vm/flow_graph.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_allocator.cc View 1 2 3 4 15 chunks +76 lines, -28 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 3 4 5 6 5 chunks +8 lines, -6 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 2 1 chunk +6 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 3 4 5 6 7 2 chunks +2 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 1 2 3 4 5 6 7 1 chunk +8 lines, -1 line 0 comments Download
M tests/language/bit_shift_test.dart View 1 2 3 2 chunks +6 lines, -3 lines 0 comments Download

Messages

Total messages: 15 (2 generated)
Florian Schneider
5 years, 2 months ago (2015-10-01 17:05:39 UTC) #2
Cutch
Thanks for doing this! https://codereview.chromium.org/1377113004/diff/1/runtime/vm/flow_graph_allocator.cc File runtime/vm/flow_graph_allocator.cc (right): https://codereview.chromium.org/1377113004/diff/1/runtime/vm/flow_graph_allocator.cc#newcode814 runtime/vm/flow_graph_allocator.cc:814: range = GetLiveRange(vreg); This code ...
5 years, 2 months ago (2015-10-01 17:27:42 UTC) #3
Florian Schneider
Ptal. Maybe it's only me - but I found the shadowing helpful when reading the ...
5 years, 2 months ago (2015-10-01 18:27:39 UTC) #4
Cutch
Hi, You forgot to upload patch set #2
5 years, 2 months ago (2015-10-05 17:26:12 UTC) #5
Florian Schneider
Oops, sorry! Here you are.
5 years, 2 months ago (2015-10-05 17:33:51 UTC) #6
Cutch
lgtm
5 years, 2 months ago (2015-10-05 17:36:12 UTC) #7
Florian Schneider
I fixed mint SHR on MIPS and ARM, and fixed a register allocator issue where ...
5 years, 2 months ago (2015-10-06 16:19:50 UTC) #8
Florian Schneider
+regis I fixed mint shift-right on ia32, mips and arm.
5 years, 2 months ago (2015-10-06 16:29:48 UTC) #10
regis
My understanding was that we will never see a constant shift amount >= 64 while ...
5 years, 2 months ago (2015-10-06 17:37:25 UTC) #11
Florian Schneider
I already changed the regression test to cover the right-shift case. It triggers the assertion ...
5 years, 2 months ago (2015-10-07 09:44:11 UTC) #12
regis
lgtm I had missed the update to the test. Thanks! https://codereview.chromium.org/1377113004/diff/80001/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/1377113004/diff/80001/runtime/vm/flow_graph_optimizer.cc#newcode844 ...
5 years, 2 months ago (2015-10-07 17:23:38 UTC) #13
Florian Schneider
https://codereview.chromium.org/1377113004/diff/80001/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/1377113004/diff/80001/runtime/vm/flow_graph_optimizer.cc#newcode844 runtime/vm/flow_graph_optimizer.cc:844: // - fit into 32bits range; On 2015/10/07 17:23:38, ...
5 years, 2 months ago (2015-10-08 09:39:26 UTC) #14
Florian Schneider
5 years, 2 months ago (2015-10-08 09:44:01 UTC) #15
Message was sent while issue was closed.
Committed patchset #9 (id:140001) manually as
8adefa8e7969c2ade49699d40bf5b73fc57d517f (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698