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

Issue 9615025: Implement '==', '!=' and instanceof (without code generation). (Closed)

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

Description

Implement '==', '!=' and instanceof (without code generation). Committed: https://code.google.com/p/dart/source/detail?r=5123

Patch Set 1 #

Total comments: 2

Patch Set 2 : #

Patch Set 3 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+132 lines, -10 lines) Patch
M runtime/vm/flow_graph_builder.cc View 1 3 chunks +54 lines, -9 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 1 chunk +19 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 3 chunks +51 lines, -1 line 0 comments Download
M tests/language/src/BoolTest.dart View 1 2 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
srdjan
8 years, 9 months ago (2012-03-06 19:47:10 UTC) #1
Kevin Millikin (Google)
Small bug in compiler, rest LGTM. https://chromiumcodereview.appspot.com/9615025/diff/1/runtime/vm/flow_graph_compiler_x64.cc File runtime/vm/flow_graph_compiler_x64.cc (right): https://chromiumcodereview.appspot.com/9615025/diff/1/runtime/vm/flow_graph_compiler_x64.cc#newcode282 runtime/vm/flow_graph_compiler_x64.cc:282: __ popq(RDX); We ...
8 years, 9 months ago (2012-03-07 10:22:38 UTC) #2
srdjan
8 years, 9 months ago (2012-03-07 21:00:51 UTC) #3
https://chromiumcodereview.appspot.com/9615025/diff/1/runtime/vm/flow_graph_c...
File runtime/vm/flow_graph_compiler_x64.cc (right):

https://chromiumcodereview.appspot.com/9615025/diff/1/runtime/vm/flow_graph_c...
runtime/vm/flow_graph_compiler_x64.cc:282: __ popq(RDX);
On 2012/03/07 10:22:38, kmillikin wrote:
> We can't assume comp->value() is on the stack.  Here's where we need LoadValue
> to take a register argument:
> 
> LoadValue(RDX, comp->value());
> __ LoadObject(RAX, bool_true);
> ... etc.

Fixed, added tests, also create BooleanNegateComp in VisitUnaryOpNode.

Powered by Google App Engine
This is Rietveld 408576698