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

Issue 12114008: Avoid re-tagging of the index register in optimized byte array access. (Closed)

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

Description

Use writable register policy to avoid explicit restoring input register after untagging. This CL produces more compact code if the writable input register is the last use by avoiding unnecessary re-tagging. In that case no extra temp generated by the register allocator. Committed: https://code.google.com/p/dart/source/detail?r=18515

Patch Set 1 #

Patch Set 2 : rebased #

Patch Set 3 : #

Total comments: 8

Patch Set 4 : #

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+99 lines, -118 lines) Patch
M runtime/vm/flow_graph_compiler.h View 1 1 chunk +0 lines, -5 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 1 1 chunk +0 lines, -19 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 1 chunk +0 lines, -19 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 3 4 11 chunks +56 lines, -39 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 3 4 9 chunks +43 lines, -36 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Florian Schneider
7 years, 10 months ago (2013-02-13 15:46:30 UTC) #1
Florian Schneider
[+vm-dev] I also changed UnboxDouble and UnboxInteger to use writable registers instead of restoring the ...
7 years, 10 months ago (2013-02-13 15:48:47 UTC) #2
Vyacheslav Egorov (Google)
lgtm https://codereview.chromium.org/12114008/diff/10002/runtime/vm/intermediate_language_ia32.cc File runtime/vm/intermediate_language_ia32.cc (right): https://codereview.chromium.org/12114008/diff/10002/runtime/vm/intermediate_language_ia32.cc#newcode1332 runtime/vm/intermediate_language_ia32.cc:1332: ? Location::WritableRegisterOrSmiConstant(index()) I think if CanBeImmediateIndex returns true ...
7 years, 10 months ago (2013-02-13 17:43:04 UTC) #3
Florian Schneider
7 years, 10 months ago (2013-02-14 10:35:01 UTC) #4
https://codereview.chromium.org/12114008/diff/10002/runtime/vm/locations.h
File runtime/vm/locations.h (right):

https://codereview.chromium.org/12114008/diff/10002/runtime/vm/locations.h#ne...
runtime/vm/locations.h:280: static Location WritableRegisterOrSmiConstant(Value*
value);
On 2013/02/13 17:43:04, Vyacheslav Egorov (Google) wrote:
> I think you don't actually need this.

Done.

Powered by Google App Engine
This is Rietveld 408576698