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

Issue 23757016: Simplify compilation of relational operators. (Closed)

Created:
7 years, 3 months ago by Florian Schneider
Modified:
7 years, 3 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Simplify compilation of relational operators. Instead of having a separate IL instructions relational comparisons are built as normal instance calls initially. When optimized, we replace the instance call with a smi/double/mint comparison instruction. This enables generic inlining of relational operator calls and simplifies code generation, too. Merging comparisons with branches is done in the optimizing compiler's branch simplification phase. R=kmillikin@google.com Committed: https://code.google.com/p/dart/source/detail?r=27058

Patch Set 1 #

Total comments: 6

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+207 lines, -471 lines) Patch
M runtime/vm/flow_graph_builder.cc View 1 3 chunks +20 lines, -8 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.h View 3 chunks +2 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 7 chunks +104 lines, -66 lines 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 1 chunk +1 line, -2 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 4 chunks +14 lines, -21 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 3 chunks +15 lines, -89 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 3 chunks +15 lines, -89 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 3 chunks +16 lines, -88 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 3 chunks +15 lines, -90 lines 0 comments Download
M runtime/vm/intrinsifier_arm.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/intrinsifier_ia32.cc View 1 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/intrinsifier_mips.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/intrinsifier_x64.cc View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 4 (0 generated)
Florian Schneider
7 years, 3 months ago (2013-09-03 13:09:08 UTC) #1
Kevin Millikin (Google)
lgtm https://codereview.chromium.org/23757016/diff/1/runtime/vm/flow_graph_builder.cc File runtime/vm/flow_graph_builder.cc (right): https://codereview.chromium.org/23757016/diff/1/runtime/vm/flow_graph_builder.cc#newcode1442 runtime/vm/flow_graph_builder.cc:1442: Symbols::New(Token::Str(node->kind()))), node->Name() is the same as Token::Str(node->kind()). https://codereview.chromium.org/23757016/diff/1/runtime/vm/flow_graph_optimizer.cc ...
7 years, 3 months ago (2013-09-03 13:23:54 UTC) #2
Florian Schneider
https://codereview.chromium.org/23757016/diff/1/runtime/vm/flow_graph_builder.cc File runtime/vm/flow_graph_builder.cc (right): https://codereview.chromium.org/23757016/diff/1/runtime/vm/flow_graph_builder.cc#newcode1442 runtime/vm/flow_graph_builder.cc:1442: Symbols::New(Token::Str(node->kind()))), On 2013/09/03 13:23:55, kmillikin wrote: > node->Name() is ...
7 years, 3 months ago (2013-09-03 13:55:06 UTC) #3
Florian Schneider
7 years, 3 months ago (2013-09-03 14:03:09 UTC) #4
Message was sent while issue was closed.
Committed patchset #2 manually as r27058 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698