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

Issue 10541135: Some cleanups, started implementing checked instance calls, better equality operation. (Closed)

Created:
8 years, 6 months ago by srdjan
Modified:
8 years, 6 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org, Florian Schneider, regis
Visibility:
Public.

Description

Some cleanups, started implementing checked instance calls, better equality operation. Committed: https://code.google.com/p/dart/source/detail?r=8626

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 12

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+358 lines, -112 lines) Patch
M runtime/vm/flow_graph_optimizer.h View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -5 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 3 4 5 6 7 8 9 10 11 15 chunks +107 lines, -63 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +46 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +37 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +81 lines, -20 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +82 lines, -23 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
srdjan
8 years, 6 months ago (2012-06-13 01:21:03 UTC) #1
Vyacheslav Egorov (Google)
lgtm https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/flow_graph_optimizer.cc#newcode325 runtime/vm/flow_graph_optimizer.cc:325: ExtractClassIdsAndTargets(ic_data, result, dummy); how about passing NULL instead ...
8 years, 6 months ago (2012-06-13 09:02:26 UTC) #2
srdjan
8 years, 6 months ago (2012-06-13 18:34:23 UTC) #3
Thanks, one comment will be dealt with in an upcoming CL.

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/flow_gra...
File runtime/vm/flow_graph_optimizer.cc (right):

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/flow_gra...
runtime/vm/flow_graph_optimizer.cc:325: ExtractClassIdsAndTargets(ic_data,
result, dummy);
On 2012/06/13 09:02:27, Vyacheslav Egorov (Google) wrote:
> how about passing NULL instead of dummy? Collecting stuff that is not used is
a
> bit wasteful.

Done.

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/flow_gra...
runtime/vm/flow_graph_optimizer.cc:434: Token::Kind op_kind =
Token::GetBinaryOp(function_name);
On 2012/06/13 09:02:27, Vyacheslav Egorov (Google) wrote:
> Can we just store op_kind in the InstanceCallComp produced from binary/unary
> ops? Parsing it seems so strange when builder actually knew what kind of token
> was there.
> 
> The same for getter (we can mark them with kGet token)

Yes, next CL.

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/intermed...
File runtime/vm/intermediate_language.cc (right):

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/intermed...
runtime/vm/intermediate_language.cc:62: other->set_instr(other->instr());
On 2012/06/13 09:02:27, Vyacheslav Egorov (Google) wrote:
> we definitely need to eradicate bind/do. the fact that computation knows
> instruction and instruction knows computation just tells us that they are the
> very same thing.

Yes, agreed.

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/intermed...
File runtime/vm/intermediate_language.h (right):

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/intermed...
runtime/vm/intermediate_language.h:503: class CheckedInstanceCallComp : public
Computation {
On 2012/06/13 09:02:27, Vyacheslav Egorov (Google) wrote:
> Should not this be PolymorphicInstanceCall or something similar?
> 
> When I see 'Checked' I think 'checked mode' while in-fact it seems to be
> fast-path probes/direct-calls for polymorphic call site.

Renaming to PolymorphicInstanceCall.

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/intermed...
File runtime/vm/intermediate_language_ia32.cc (right):

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/intermed...
runtime/vm/intermediate_language_ia32.cc:210: Register left =
locs()->in(0).reg();
On 2012/06/13 09:02:27, Vyacheslav Egorov (Google) wrote:
> I think when instruction code is large enough it makes sense to split its
> generation into different functions for readability.

Done.

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/intermed...
File runtime/vm/intermediate_language_x64.cc (right):

https://chromiumcodereview.appspot.com/10541135/diff/9002/runtime/vm/intermed...
runtime/vm/intermediate_language_x64.cc:286: Register left =
locs()->in(0).reg();
On 2012/06/13 09:02:27, Vyacheslav Egorov (Google) wrote:
> Please remove dead code.

Done.

Powered by Google App Engine
This is Rietveld 408576698