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

Issue 12086045: On Ia32 optimistically assume that results from int32 and uint32 array loads fit into Smi. Only if … (Closed)

Created:
7 years, 10 months ago by srdjan
Modified:
7 years, 10 months ago
Reviewers:
Florian Schneider
CC:
reviews_dartlang.org
Visibility:
Public.

Description

On Ia32 optimistically assume that results from int32 and uint32 array loads fit into Smi. Only if the instruction caused deoptimization will we assume mixed Smi/Mint operations. In absence of precise tracking of deoptimization history (location/reason) conservatively assume that a method that was deoptimized once may have been deoptimzied because of uint32/int32 loads. Significant improvement for MeshDecompression on ia32. Committed: https://code.google.com/p/dart/source/detail?r=17810

Patch Set 1 #

Patch Set 2 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+83 lines, -6 lines) Patch
M runtime/vm/code_generator.h View 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 4 chunks +16 lines, -2 lines 1 comment Download
M runtime/vm/intermediate_language.h View 1 3 chunks +9 lines, -2 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 3 chunks +24 lines, -2 lines 0 comments Download
A tests/standalone/int_array_deopt.dart View 1 chunk +32 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
srdjan
7 years, 10 months ago (2013-01-29 19:04:07 UTC) #1
Florian Schneider
7 years, 10 months ago (2013-01-29 19:57:57 UTC) #2
LGTM with one suggestion:

https://codereview.chromium.org/12086045/diff/3002/runtime/vm/flow_graph_opti...
File runtime/vm/flow_graph_optimizer.cc (right):

https://codereview.chromium.org/12086045/diff/3002/runtime/vm/flow_graph_opti...
runtime/vm/flow_graph_optimizer.cc:759: // TODO(srdjan): Add better signal if
this instruction caused
call->ic_data().deopt_reason() should contain the last deopt reason-id. It can
be used to fall back to mint representation in the non-smi case.

Powered by Google App Engine
This is Rietveld 408576698