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

Issue 9865004: Run intrinsified version of ObjectArray[]= even in checked mode (inline value type check for null a… (Closed)

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

Description

Run intrinsified version of ObjectArray[]= even in checked mode (inline value type check for null and Smi values). Committed: https://code.google.com/p/dart/source/detail?r=5858

Patch Set 1 #

Patch Set 2 : #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+53 lines, -2 lines) Patch
M runtime/vm/intrinsifier_ia32.cc View 1 1 chunk +47 lines, -2 lines 6 comments Download
M runtime/vm/object.h View 2 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
srdjan
WIth earlier CL this gives >20% improvement on frog --leg in checked mode.
8 years, 9 months ago (2012-03-26 22:12:19 UTC) #1
regis
LGTM https://chromiumcodereview.appspot.com/9865004/diff/2002/runtime/vm/intrinsifier_ia32.cc File runtime/vm/intrinsifier_ia32.cc (right): https://chromiumcodereview.appspot.com/9865004/diff/2002/runtime/vm/intrinsifier_ia32.cc#newcode223 runtime/vm/intrinsifier_ia32.cc:223: ASSERT(cls.NumTypeParameters() == 1); You actually want to make ...
8 years, 9 months ago (2012-03-26 22:30:28 UTC) #2
srdjan
8 years, 9 months ago (2012-03-26 22:43:50 UTC) #3
https://chromiumcodereview.appspot.com/9865004/diff/2002/runtime/vm/intrinsif...
File runtime/vm/intrinsifier_ia32.cc (right):

https://chromiumcodereview.appspot.com/9865004/diff/2002/runtime/vm/intrinsif...
runtime/vm/intrinsifier_ia32.cc:223: ASSERT(cls.NumTypeParameters() == 1);
On 2012/03/26 22:30:29, regis wrote:
> You actually want to make sure that the full type arguments vector has length
> one. Checking the number of type parameters is not relevant. Use this instead:
> ASSERT(cls.NumTypeArguments() == 1);

Done.

https://chromiumcodereview.appspot.com/9865004/diff/2002/runtime/vm/intrinsif...
runtime/vm/intrinsifier_ia32.cc:241: __ movl(EAX, Address(ESP, + 1 *
kWordSize));
On 2012/03/26 22:30:29, regis wrote:
> I guess you are accessing the last argument, i.e. the value to store? How
about
> a comment?

Done.

https://chromiumcodereview.appspot.com/9865004/diff/2002/runtime/vm/intrinsif...
runtime/vm/intrinsifier_ia32.cc:266: // TODO(srdjan): Check classes.
On 2012/03/26 22:30:29, regis wrote:
> What do you mean by "Check classes"?

Removed.

Powered by Google App Engine
This is Rietveld 408576698