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

Issue 9622002: Handle instance field and indexed increment operations. (Closed)

Created:
8 years, 9 months ago by Kevin Millikin (Google)
Modified:
8 years, 9 months ago
Reviewers:
srdjan
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Handle instance field and indexed increment operations. Handle pre- and post-increment (decrement) in effect and non-effect contexts. R=srdjan@google.com BUG= TEST= Committed: https://code.google.com/p/dart/source/detail?r=5160

Patch Set 1 #

Total comments: 18
Unified diffs Side-by-side diffs Delta from patch set Stats (+247 lines, -110 lines) Patch
M runtime/vm/flow_graph_builder.h View 4 chunks +25 lines, -7 lines 1 comment Download
M runtime/vm/flow_graph_builder.cc View 4 chunks +190 lines, -76 lines 17 comments Download
M runtime/vm/intermediate_language.h View 4 chunks +32 lines, -27 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Kevin Millikin (Google)
Messy because these are complicated operations, because of the assumptions on temporaries by the naive ...
8 years, 9 months ago (2012-03-07 13:44:54 UTC) #1
srdjan
LGTM once bug fixed and comments addressed/answered. http://codereview.chromium.org/9622002/diff/1/runtime/vm/flow_graph_builder.cc File runtime/vm/flow_graph_builder.cc (right): http://codereview.chromium.org/9622002/diff/1/runtime/vm/flow_graph_builder.cc#newcode322 runtime/vm/flow_graph_builder.cc:322: ASSERT(for_receiver.value()->IsTemp()); This ...
8 years, 9 months ago (2012-03-07 19:12:52 UTC) #2
Kevin Millikin (Google)
http://codereview.chromium.org/9622002/diff/1/runtime/vm/flow_graph_builder.cc File runtime/vm/flow_graph_builder.cc (right): http://codereview.chromium.org/9622002/diff/1/runtime/vm/flow_graph_builder.cc#newcode322 runtime/vm/flow_graph_builder.cc:322: ASSERT(for_receiver.value()->IsTemp()); On 2012/03/07 19:12:52, srdjan wrote: > This may ...
8 years, 9 months ago (2012-03-08 11:05:23 UTC) #3
srdjan
8 years, 9 months ago (2012-03-08 17:46:08 UTC) #4
https://chromiumcodereview.appspot.com/9622002/diff/1/runtime/vm/flow_graph_b...
File runtime/vm/flow_graph_builder.cc (right):

https://chromiumcodereview.appspot.com/9622002/diff/1/runtime/vm/flow_graph_b...
runtime/vm/flow_graph_builder.cc:397: AddInstruction(new BindInstr(temp_index(),
new ConstantVal(placeholder)));
On 2012/03/08 11:05:23, kmillikin wrote:
> On 2012/03/07 19:12:52, srdjan wrote:
> > placeholder could also be Null object, e.g., Object::Handle().
> 
> Do we have any preference?  It's never read except by the stack walker.

The difference is only in the source code. To me it seems shorter and simpler to
write:

AddInstruction(new BindInstr(temp_index(), new ConstantVal(Object::Handle())));

However, it is no big deal, my intent was to make you aware of an alternative
way.

Powered by Google App Engine
This is Rietveld 408576698