Fix ILL_ILLOPC issue-id 129895920 on 32bit armv7 device
'ldrd r0, r1, [r2, r1]' will be compiled to '0xe18200d1' by clang.
This is an unpredictable instruction on armv7 devices such as
ARM cortex-A7 and may case ILL_ILLOPC (or it may also work).
Bug: 129895920
Change-Id: I7d087e46e59956af00f4261961dce22f1e6d0181
Signed-off-by: yuguoxu <yuguoxu@allwinnertech.com>
diff --git a/runtime/interpreter/mterp/arm/object.S b/runtime/interpreter/mterp/arm/object.S
index 7736383..a044d91 100644
--- a/runtime/interpreter/mterp/arm/object.S
+++ b/runtime/interpreter/mterp/arm/object.S
@@ -48,7 +48,7 @@
cmp r2, #0
beq common_errNullObject @ null object
% if is_wide:
- ldrd r0, r1, [r2, r1] @ r0,r1 <- obj.field
+ ldrd r0, r1, [r1, r2] @ r0,r1 <- obj.field
% else:
${load} r0, [r2, r1] @ r0 <- obj.field
% #endif