diff options
author | buzbee <buzbee@google.com> | 2014-04-19 13:32:20 -0700 |
---|---|---|
committer | buzbee <buzbee@google.com> | 2014-04-22 11:46:10 -0700 |
commit | 695d13a82d6dd801aaa57a22a9d4b3f6db0d0fdb (patch) | |
tree | 0dbee030a8c43ccc23d9efc0c80efa2d941d1ff6 /compiler/dex/compiler_enums.h | |
parent | 86e1b5e7e2bca99dd2092eab8ced977d97830873 (diff) | |
download | art-695d13a82d6dd801aaa57a22a9d4b3f6db0d0fdb.tar.gz art-695d13a82d6dd801aaa57a22a9d4b3f6db0d0fdb.tar.bz2 art-695d13a82d6dd801aaa57a22a9d4b3f6db0d0fdb.zip |
Update load/store utilities for 64-bit backends
This CL replaces the typical use of LoadWord/StoreWord
utilities (which, in practice, were 32-bit load/store) in
favor of a new set that make the size explicit. We now have:
LoadWordDisp/StoreWordDisp:
32 or 64 depending on target. Load or store the natural
word size. Expect this to be used infrequently - generally
when we know we're dealing with a native pointer or flushed
register not holding a Dalvik value (Dalvik values will flush
to home location sizes based on Dalvik, rather than the target).
Load32Disp/Store32Disp:
Load or store 32 bits, regardless of target.
Load64Disp/Store64Disp:
Load or store 64 bits, regardless of target.
LoadRefDisp:
Load a 32-bit compressed reference, and expand it to the
natural word size in the target register.
StoreRefDisp:
Compress a reference held in a register of the natural word
size and store it as a 32-bit compressed reference.
Change-Id: I50fcbc8684476abd9527777ee7c152c61ba41c6f
Diffstat (limited to 'compiler/dex/compiler_enums.h')
-rw-r--r-- | compiler/dex/compiler_enums.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/dex/compiler_enums.h b/compiler/dex/compiler_enums.h index 8a88d618cc..0b4b45a02e 100644 --- a/compiler/dex/compiler_enums.h +++ b/compiler/dex/compiler_enums.h @@ -159,8 +159,10 @@ enum AssemblerStatus { }; enum OpSize { - kWord, - kLong, + kWord, // Natural word size of target (32/64). + k32, + k64, + kReference, // Object reference; compressed on 64-bit targets. kSingle, kDouble, kUnsignedHalf, |