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

Unified Diff: runtime/vm/assembler_arm.cc

Issue 2991813002: [VM arm assembler] Do not use addressing mode 2 with instructions ldrh, ldrsh, (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/assembler_arm.cc
diff --git a/runtime/vm/assembler_arm.cc b/runtime/vm/assembler_arm.cc
index 74eb9a680e343bf5da9c53d0cd45bad7f6eea2b4..ff2ecfa9db2a62549f411961aa62ac2958227fa0 100644
--- a/runtime/vm/assembler_arm.cc
+++ b/runtime/vm/assembler_arm.cc
@@ -3316,7 +3316,8 @@ Address Assembler::ElementAddressForRegIndex(bool is_load,
ASSERT(array != IP);
ASSERT(index != IP);
const Register base = is_load ? IP : index;
- if ((offset != 0) || (size == kSWord) || (size == kDWord) ||
+ if ((offset != 0) || (is_load && (size == kByte)) || (size == kHalfword) ||
+ (size == kUnsignedHalfword) || (size == kSWord) || (size == kDWord) ||
(size == kRegList)) {
if (shift < 0) {
ASSERT(shift == -1);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698