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

Issue 10830333: Make all variants of RelationalOp work with SSA. (Closed)

Created:
8 years, 4 months ago by Florian Schneider
Modified:
8 years, 4 months ago
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Make all variants of RelationalOp work with SSA. This is the last instruction that causes a bailout in the register allocator. This bailout is now changed into an ASSERT. Committed: https://code.google.com/p/dart/source/detail?r=10802

Patch Set 1 #

Patch Set 2 : #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+61 lines, -17 lines) Patch
M runtime/vm/flow_graph_allocator.cc View 1 chunk +2 lines, -4 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 4 chunks +29 lines, -6 lines 4 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 4 chunks +30 lines, -7 lines 2 comments Download

Messages

Total messages: 4 (0 generated)
Florian Schneider
8 years, 4 months ago (2012-08-15 14:29:08 UTC) #1
Kevin Millikin (Google)
lgtm https://chromiumcodereview.appspot.com/10830333/diff/6/runtime/vm/intermediate_language_ia32.cc File runtime/vm/intermediate_language_ia32.cc (right): https://chromiumcodereview.appspot.com/10830333/diff/6/runtime/vm/intermediate_language_ia32.cc#newcode645 runtime/vm/intermediate_language_ia32.cc:645: locs->set_in(0, Location::RegisterLocation(EAX)); Maybe the code here should have ...
8 years, 4 months ago (2012-08-15 15:31:17 UTC) #2
srdjan
Great news! Some DBC. https://chromiumcodereview.appspot.com/10830333/diff/6/runtime/vm/intermediate_language_ia32.cc File runtime/vm/intermediate_language_ia32.cc (right): https://chromiumcodereview.appspot.com/10830333/diff/6/runtime/vm/intermediate_language_ia32.cc#newcode671 runtime/vm/intermediate_language_ia32.cc:671: Register right = locs()->in(1).reg(); Left, ...
8 years, 4 months ago (2012-08-15 21:48:38 UTC) #3
Florian Schneider
8 years, 4 months ago (2012-08-16 08:30:37 UTC) #4
https://chromiumcodereview.appspot.com/10830333/diff/6/runtime/vm/intermediat...
File runtime/vm/intermediate_language_ia32.cc (right):

https://chromiumcodereview.appspot.com/10830333/diff/6/runtime/vm/intermediat...
runtime/vm/intermediate_language_ia32.cc:645: locs->set_in(0,
Location::RegisterLocation(EAX));
On 2012/08/15 15:31:17, kmillikin wrote:
> Maybe the code here should have a comment that the input registers are
arbitrary
> choices, and that EDI is used as a temp?

Done.

https://chromiumcodereview.appspot.com/10830333/diff/6/runtime/vm/intermediat...
runtime/vm/intermediate_language_ia32.cc:671: Register right =
locs()->in(1).reg();
On 2012/08/15 21:48:38, srdjan wrote:
> Left, right computation  as well as pushing them can be hoisted out of "if".

Done.

https://chromiumcodereview.appspot.com/10830333/diff/6/runtime/vm/intermediat...
File runtime/vm/intermediate_language_x64.cc (right):

https://chromiumcodereview.appspot.com/10830333/diff/6/runtime/vm/intermediat...
runtime/vm/intermediate_language_x64.cc:684: 
On 2012/08/15 21:48:38, srdjan wrote:
> ditto

Done.

Powered by Google App Engine
This is Rietveld 408576698