OSDN Git Service

Fix art_quick_instrumentation_exit stub for x86_64
authorSebastien Hertz <shertz@google.com>
Thu, 12 Mar 2015 14:10:50 +0000 (15:10 +0100)
committerSebastien Hertz <shertz@google.com>
Thu, 12 Mar 2015 14:15:04 +0000 (15:15 +0100)
Restores callee-saved registers.

Bug: 19708384
Change-Id: I1cb47b1cc616af613816c4ee041bdfc975bf9f20

runtime/arch/x86_64/quick_entrypoints_x86_64.S

index 65c65e2..0f874a4 100644 (file)
@@ -1551,7 +1551,9 @@ DEFINE_FUNCTION art_quick_instrumentation_exit
     CFI_ADJUST_CFA_OFFSET(-8)
     POP rax                   // Restore integer result.
 
-    addq LITERAL(FRAME_SIZE_REFS_ONLY_CALLEE_SAVE), %rsp   // Drop save frame and fake return pc.
+    RESTORE_REFS_ONLY_CALLEE_SAVE_FRAME
+
+    addq LITERAL(8), %rsp     // Drop fake return pc.
 
     jmp   *%rdi               // Return.
 END_FUNCTION art_quick_instrumentation_exit