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

Issue 8508035: For instanceof inline check against right hand class id possible and interface String for OneByte... (Closed)

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

Description

For instanceof inline check against right hand class id possible and interface String for OneByteString (positive checks only). Improves frog runtime by about 20%. Future work will be based on collecting types and using that data in optimized code. Add tracing of instance of type checks. Committed: https://code.google.com/p/dart/source/detail?r=1408

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 8

Patch Set 3 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+49 lines, -9 lines) Patch
M runtime/vm/code_generator.cc View 1 2 2 chunks +12 lines, -0 lines 0 comments Download
M runtime/vm/code_generator_ia32.cc View 1 2 3 chunks +37 lines, -9 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
srdjan
9 years, 1 month ago (2011-11-09 23:58:21 UTC) #1
regis
LGTM with a few comments http://codereview.chromium.org/8508035/diff/3001/runtime/vm/code_generator.cc File runtime/vm/code_generator.cc (right): http://codereview.chromium.org/8508035/diff/3001/runtime/vm/code_generator.cc#newcode333 runtime/vm/code_generator.cc:333: OS::Print("InstanceOf '%s' vs '%s'\n", ...
9 years, 1 month ago (2011-11-10 03:09:50 UTC) #2
srdjan
9 years, 1 month ago (2011-11-10 17:24:41 UTC) #3
Thanks!

http://codereview.chromium.org/8508035/diff/3001/runtime/vm/code_generator.cc
File runtime/vm/code_generator.cc (right):

http://codereview.chromium.org/8508035/diff/3001/runtime/vm/code_generator.cc...
runtime/vm/code_generator.cc:333: OS::Print("InstanceOf '%s' vs '%s'\n",
On 2011/11/10 03:09:51, regis wrote:
> You could use the result of the type test to print "is" or "is !", instead of
> "vs".

Done.

http://codereview.chromium.org/8508035/diff/3001/runtime/vm/code_generator_ia...
File runtime/vm/code_generator_ia32.cc (right):

http://codereview.chromium.org/8508035/diff/3001/runtime/vm/code_generator_ia...
runtime/vm/code_generator_ia32.cc:1420: // TODO(regis): Should we still inline a
Smi type check when checking for a
On 2011/11/10 03:09:51, regis wrote:
> I think you can remove this TODO now.

Done.

http://codereview.chromium.org/8508035/diff/3001/runtime/vm/code_generator_ia...
runtime/vm/code_generator_ia32.cc:1432: __ j(ZERO, &runtime_call,
Assembler::kNearJump);
On 2011/11/10 03:09:51, regis wrote:
> Can't you perform this Smi check even if the type is not raw?

Done.

http://codereview.chromium.org/8508035/diff/3001/runtime/vm/code_generator_ia...
runtime/vm/code_generator_ia32.cc:1599: } else {  // dst_type has NO type
parameters.
On 2011/11/10 03:09:51, regis wrote:
> Sorry to be picky, but "type parameters" is the wrong term. It should be "type
> arguments".

Done.

Powered by Google App Engine
This is Rietveld 408576698