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

Issue 10080015: Implement checked mode in new compiler. (Closed)

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

Description

Implement checked mode in new compiler. The only remaining bailout is the boolean type check for conditions. Committed: https://code.google.com/p/dart/source/detail?r=6542

Patch Set 1 #

Total comments: 8

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+680 lines, -151 lines) Patch
M runtime/vm/code_generator_ia32.cc View 1 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 20 chunks +155 lines, -36 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.h View 1 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 10 chunks +376 lines, -108 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 chunks +61 lines, -4 lines 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 2 chunks +1 line, -2 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 1 chunk +76 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
regis
8 years, 8 months ago (2012-04-13 21:29:49 UTC) #1
srdjan
LGTM https://chromiumcodereview.appspot.com/10080015/diff/1/runtime/vm/flow_graph_compiler_x64.cc File runtime/vm/flow_graph_compiler_x64.cc (right): https://chromiumcodereview.appspot.com/10080015/diff/1/runtime/vm/flow_graph_compiler_x64.cc#newcode92 runtime/vm/flow_graph_compiler_x64.cc:92: // may fall through to it. Add comment ...
8 years, 8 months ago (2012-04-13 21:47:34 UTC) #2
regis
8 years, 8 months ago (2012-04-13 22:05:50 UTC) #3
Thanks!

https://chromiumcodereview.appspot.com/10080015/diff/1/runtime/vm/flow_graph_...
File runtime/vm/flow_graph_compiler_x64.cc (right):

https://chromiumcodereview.appspot.com/10080015/diff/1/runtime/vm/flow_graph_...
runtime/vm/flow_graph_compiler_x64.cc:92: // may fall through to it.
On 2012/04/13 21:47:34, srdjan wrote:
> Add comment that it can fall-through or jump to is_instance or is_not_instance

I expanded the comment just above.

https://chromiumcodereview.appspot.com/10080015/diff/1/runtime/vm/flow_graph_...
runtime/vm/flow_graph_compiler_x64.cc:265: #if 1
On 2012/04/13 21:47:34, srdjan wrote:
> remove #if 1

Oops. Searching for "if 0" is not good enough :-)
Done.

https://chromiumcodereview.appspot.com/10080015/diff/1/runtime/vm/flow_graph_...
runtime/vm/flow_graph_compiler_x64.cc:279: // eliminated, optimize it by adding
inlined tests for:
On 2012/04/13 21:47:34, srdjan wrote:
> Add TODO: move compile time tests to flow_graph_builder

The TODO is actually below on line 318. Edited the comment here and in
GenerateInstanceOf.

https://chromiumcodereview.appspot.com/10080015/diff/1/runtime/vm/flow_graph_...
runtime/vm/flow_graph_compiler_x64.cc:442: // Call the runtime if the object is
null or not of type bool.
On 2012/04/13 21:47:34, srdjan wrote:
> A quicker comparison wold be to compare RAX with Bool::true() and
Bool:false().
> That would exclude null and any non-bool instances.

Good point. Done.

Powered by Google App Engine
This is Rietveld 408576698