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

Issue 593363003: Expands the use of Immediate and Operand wrappers. (Closed)

Created:
6 years, 3 months ago by zra
Modified:
6 years, 2 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Expands the use of Immediate and Operand wrappers. Since Register is an enum type, it is automatically coerced to integer types when passed as a parameter to functions expecting an integer argument. This change expands the use of Immediate and Operand wrappers for Assembler instructions and macros to avoid this automatic coercion. I've also added dummy constructors to Address and FieldAddress classes to address the same problem, but in a way that does not increase verbosity, since Address and FieldAddress are much more prevalent in the code. A cleaner solution would involve making Register no longer coercable to integer types, but this would likely require many changes to the Assemblers. R=regis@google.com Committed: https://code.google.com/p/dart/source/detail?r=40905

Patch Set 1 #

Patch Set 2 : #

Total comments: 2

Patch Set 3 : #

Total comments: 4

Patch Set 4 : #

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+566 lines, -460 lines) Patch
M runtime/vm/assembler_arm.h View 1 2 3 4 8 chunks +30 lines, -12 lines 0 comments Download
M runtime/vm/assembler_arm.cc View 1 2 3 4 5 chunks +31 lines, -21 lines 0 comments Download
M runtime/vm/assembler_arm64.h View 13 chunks +59 lines, -21 lines 0 comments Download
M runtime/vm/assembler_arm64.cc View 18 chunks +34 lines, -34 lines 0 comments Download
M runtime/vm/assembler_arm64_test.cc View 68 chunks +164 lines, -162 lines 0 comments Download
M runtime/vm/assembler_arm_test.cc View 3 chunks +5 lines, -5 lines 0 comments Download
M runtime/vm/assembler_ia32.h View 3 chunks +12 lines, -0 lines 0 comments Download
M runtime/vm/assembler_mips.h View 11 chunks +41 lines, -38 lines 0 comments Download
M runtime/vm/assembler_x64.h View 5 chunks +18 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm64.cc View 4 chunks +4 lines, -4 lines 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 13 chunks +17 lines, -20 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 12 chunks +25 lines, -25 lines 0 comments Download
M runtime/vm/intermediate_language_arm64.cc View 13 chunks +16 lines, -16 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 25 chunks +34 lines, -32 lines 0 comments Download
M runtime/vm/intrinsifier_arm64.cc View 25 chunks +25 lines, -25 lines 0 comments Download
M runtime/vm/intrinsifier_mips.cc View 17 chunks +24 lines, -20 lines 0 comments Download
M runtime/vm/object_arm64_test.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/stub_code_arm64.cc View 9 chunks +10 lines, -10 lines 0 comments Download
M runtime/vm/stub_code_mips.cc View 13 chunks +16 lines, -14 lines 0 comments Download

Messages

Total messages: 12 (2 generated)
zra
6 years, 3 months ago (2014-09-24 04:02:46 UTC) #2
Florian Schneider
dbc: I would still like to have the cleaner solution - so that we get ...
6 years, 3 months ago (2014-09-24 14:11:08 UTC) #4
regis
LGTM
6 years, 3 months ago (2014-09-24 16:48:02 UTC) #5
Florian Schneider
dbc: as a reviewer, how do I know that you identified all places where invalid ...
6 years, 2 months ago (2014-09-25 10:34:02 UTC) #6
zra
https://codereview.chromium.org/593363003/diff/20001/runtime/vm/assembler_mips.h File runtime/vm/assembler_mips.h (right): https://codereview.chromium.org/593363003/diff/20001/runtime/vm/assembler_mips.h#newcode53 runtime/vm/assembler_mips.h:53: Address(Register base, Register offset) { On 2014/09/25 10:34:02, Florian ...
6 years, 2 months ago (2014-09-25 17:34:58 UTC) #7
Florian Schneider
https://codereview.chromium.org/593363003/diff/40001/runtime/vm/assembler_arm.h File runtime/vm/assembler_arm.h (right): https://codereview.chromium.org/593363003/diff/40001/runtime/vm/assembler_arm.h#newcode291 runtime/vm/assembler_arm.h:291: UNREACHABLE(); Remove definition and just leave declaration here too. ...
6 years, 2 months ago (2014-09-26 12:36:58 UTC) #8
Florian Schneider
On 2014/09/26 12:36:58, Florian Schneider wrote: > https://codereview.chromium.org/593363003/diff/40001/runtime/vm/assembler_arm.h > File runtime/vm/assembler_arm.h (right): > > https://codereview.chromium.org/593363003/diff/40001/runtime/vm/assembler_arm.h#newcode291 ...
6 years, 2 months ago (2014-09-26 12:38:06 UTC) #9
zra
https://codereview.chromium.org/593363003/diff/40001/runtime/vm/assembler_arm.h File runtime/vm/assembler_arm.h (right): https://codereview.chromium.org/593363003/diff/40001/runtime/vm/assembler_arm.h#newcode291 runtime/vm/assembler_arm.h:291: UNREACHABLE(); On 2014/09/26 12:36:58, Florian Schneider wrote: > Remove ...
6 years, 2 months ago (2014-09-26 17:11:36 UTC) #10
zra
On 2014/09/26 17:11:36, zra wrote: > https://codereview.chromium.org/593363003/diff/40001/runtime/vm/assembler_arm.h > File runtime/vm/assembler_arm.h (right): > > https://codereview.chromium.org/593363003/diff/40001/runtime/vm/assembler_arm.h#newcode291 > ...
6 years, 2 months ago (2014-10-03 19:45:53 UTC) #11
zra
6 years, 2 months ago (2014-10-03 19:46:39 UTC) #12
Message was sent while issue was closed.
Committed patchset #5 (id:80001) manually as r40905 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698