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

Issue 10972003: Fix convergence issues in range analysis. (Closed)

Created:
8 years, 3 months ago by Vyacheslav Egorov (Google)
Modified:
8 years, 3 months ago
Reviewers:
Florian Schneider
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Fix convergence issues in range analysis. Split it into three phases: initialization, widening and narrowing. During widening and narrowing phi-ranges change according to classical widening and narrowing operators defined as: Widening: [_|_, _|_] v [a, b] = [a, b] [a, b] v [c, d] = [c < a ? -inf : a, d > b ? +inf : b] Narrowing: [a, b] ^ [c, d] = [(a == -inf) ? c : min(a, c), (b == +inf) ? d : max(b, d)] R=fschneider@google.com Committed: https://code.google.com/p/dart/source/detail?r=12772

Patch Set 1 #

Total comments: 3

Patch Set 2 : address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+200 lines, -86 lines) Patch
M runtime/vm/compiler.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 8 chunks +94 lines, -45 lines 0 comments Download
M runtime/vm/il_printer.cc View 2 chunks +17 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language.h View 8 chunks +29 lines, -9 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 6 chunks +36 lines, -30 lines 0 comments Download
A tests/language/range_analysis_test.dart View 1 chunk +23 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Vyacheslav Egorov (Google)
8 years, 3 months ago (2012-09-24 09:43:15 UTC) #1
Florian Schneider
lgtm https://codereview.chromium.org/10972003/diff/1/runtime/vm/flow_graph_optimizer.cc File runtime/vm/flow_graph_optimizer.cc (right): https://codereview.chromium.org/10972003/diff/1/runtime/vm/flow_graph_optimizer.cc#newcode1547 runtime/vm/flow_graph_optimizer.cc:1547: for (intptr_t i = 0; i < join->phis()->length(); ...
8 years, 3 months ago (2012-09-24 11:29:59 UTC) #2
Vyacheslav Egorov (Google)
8 years, 3 months ago (2012-09-24 12:00:05 UTC) #3
comments addressed. landing.

Powered by Google App Engine
This is Rietveld 408576698