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

Issue 10389041: Adapt compile time constants and integrate with Kevin's CL 10302007 (Remove temporaries using expli… (Closed)

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

Description

Fix bugs in expression temp allocation, Kevin's CL 10302007 (Remove temporaries using explicit names) and merge with other temp. Committed: https://code.google.com/p/dart/source/detail?r=7472

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+109 lines, -62 lines) Patch
M runtime/vm/compiler.cc View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_builder.h View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_builder.cc View 3 chunks +41 lines, -17 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 5 chunks +9 lines, -15 lines 0 comments Download
M runtime/vm/intermediate_language.h View 3 chunks +1 line, -17 lines 0 comments Download
M runtime/vm/parser.h View 1 2 3 5 chunks +17 lines, -1 line 0 comments Download
M runtime/vm/parser.cc View 1 2 3 4 10 chunks +33 lines, -11 lines 4 comments Download
M runtime/vm/unit_test.cc View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
srdjan
8 years, 7 months ago (2012-05-09 18:39:17 UTC) #1
hausner
LGTM but this whole business with the per-function temporary variable becomes more and more difficult ...
8 years, 7 months ago (2012-05-09 20:52:08 UTC) #2
srdjan
8 years, 7 months ago (2012-05-09 21:25:45 UTC) #3
Thanks!

https://chromiumcodereview.appspot.com/10389041/diff/3004/runtime/vm/parser.cc
File runtime/vm/parser.cc (right):

https://chromiumcodereview.appspot.com/10389041/diff/3004/runtime/vm/parser.c...
runtime/vm/parser.cc:700: if (parsed_function->has_expression_temp_var()) {
On 2012/05/09 20:52:08, hausner wrote:
> This if statement is true iff the previous one was true, I think. Can this be
> simplified to one if?

Yes, but it can be true even if the previous one was false.

https://chromiumcodereview.appspot.com/10389041/diff/3004/runtime/vm/parser.c...
runtime/vm/parser.cc:5970: if ((binary_op == Token::kAND) || (binary_op ==
Token::kOR)) {
On 2012/05/09 20:52:08, hausner wrote:
> I thought you wanted to do constant folding in the compiler, i.e. replace the
> binary op node with a literal true or false if both sides are compile time
> constant boolean expressions.

It turns out that constant folding is not needed. It will be done by the
optimizing compiler later.

Powered by Google App Engine
This is Rietveld 408576698