summaryrefslogtreecommitdiffstats
path: root/runtime/arch/arm64
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2015-09-29 04:52:17 +0100
committerCalin Juravle <calin@google.com>2015-10-02 02:25:18 +0100
commite460d1df1f789c7c8bb97024a8efbd713ac175e9 (patch)
tree3511036fb18828dd0ee140d33a8bcd0535ebeab6 /runtime/arch/arm64
parent25217af2a7cae96b32ba566aaf697288f3374c99 (diff)
downloadart-e460d1df1f789c7c8bb97024a8efbd713ac175e9.tar.gz
art-e460d1df1f789c7c8bb97024a8efbd713ac175e9.tar.bz2
art-e460d1df1f789c7c8bb97024a8efbd713ac175e9.zip
Revert "Revert "Support unresolved fields in optimizing"
The CL also changes the calling convetion for 64bit static field set to use kArg2 instead of kArg1. This allows optimizing to keep the asumptions: - arm pairs are always of form (even_reg, odd_reg) - ecx_edx is not used as a register on x86. This reverts commit e6f49b47b6a4dc9c7684e4483757872cfc7ff1a1. Change-Id: I93159917565824084abc96775f31be1a4249f2f3
Diffstat (limited to 'runtime/arch/arm64')
-rw-r--r--runtime/arch/arm64/quick_entrypoints_arm64.S3
1 files changed, 1 insertions, 2 deletions
diff --git a/runtime/arch/arm64/quick_entrypoints_arm64.S b/runtime/arch/arm64/quick_entrypoints_arm64.S
index 68121781ca..be5a15ec39 100644
--- a/runtime/arch/arm64/quick_entrypoints_arm64.S
+++ b/runtime/arch/arm64/quick_entrypoints_arm64.S
@@ -1421,9 +1421,8 @@ THREE_ARG_REF_DOWNCALL art_quick_set_obj_instance, artSetObjInstanceFromCode, RE
.extern artSet64StaticFromCode
ENTRY art_quick_set64_static
SETUP_REFS_ONLY_CALLEE_SAVE_FRAME // save callee saves in case of GC
- mov x3, x1 // Store value
ldr x1, [sp, #FRAME_SIZE_REFS_ONLY_CALLEE_SAVE] // Load referrer
- mov x2, x3 // Put value param
+ // x2 contains the parameter
mov x3, xSELF // pass Thread::Current
bl artSet64StaticFromCode
RESTORE_REFS_ONLY_CALLEE_SAVE_FRAME