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

Issue 11270013: Fix deoptimzation bug in hoisting smi operation out of loops. (Closed)

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

Description

Fix deoptimzation bug in hoisting smi operation out of loops. The hoisted operations used an incorrect deoptimization target so that the program continued with an incorrect environment after deoptimization. TEST=tests/language/deopt_smi_op.dart Committed: https://code.google.com/p/dart/source/detail?r=14033

Patch Set 1 #

Total comments: 4

Patch Set 2 : #

Patch Set 3 : more test cases #

Unified diffs Side-by-side diffs Delta from patch set Stats (+44 lines, -9 lines) Patch
M runtime/vm/flow_graph_optimizer.cc View 1 1 chunk +1 line, -3 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 3 chunks +4 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 3 chunks +3 lines, -3 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 3 chunks +3 lines, -3 lines 0 comments Download
A tests/language/deopt_smi_op.dart View 1 2 1 chunk +33 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Florian Schneider
8 years, 2 months ago (2012-10-24 14:47:45 UTC) #1
Vyacheslav Egorov (Google)
LGTM is x64 is fixed accordingly and comments addressed. Please also check all other IR ...
8 years, 2 months ago (2012-10-24 14:53:00 UTC) #2
Florian Schneider
8 years, 2 months ago (2012-10-24 18:00:22 UTC) #3
Addressed comments.

https://codereview.chromium.org/11270013/diff/1/runtime/vm/intermediate_langu...
File runtime/vm/intermediate_language_ia32.cc (right):

https://codereview.chromium.org/11270013/diff/1/runtime/vm/intermediate_langu...
runtime/vm/intermediate_language_ia32.cc:1765: instance_call()->deopt_id(),
On 2012/10/24 14:53:00, Vyacheslav Egorov (Google) wrote:
> This place should be also adjusted accordingly. And covered with a test.

Done.

https://codereview.chromium.org/11270013/diff/1/tests/language/deopt_smi_op.dart
File tests/language/deopt_smi_op.dart (right):

https://codereview.chromium.org/11270013/diff/1/tests/language/deopt_smi_op.d...
tests/language/deopt_smi_op.dart:11: x = h * 100000;
On 2012/10/24 14:53:00, Vyacheslav Egorov (Google) wrote:
> Please cover all instructions with tests.

Done. Added unary minus. Shl has only lazy deoptimization.

Powered by Google App Engine
This is Rietveld 408576698