From: Sebastien Hertz Date: Thu, 12 Mar 2015 14:10:50 +0000 (+0100) Subject: Fix art_quick_instrumentation_exit stub for x86_64 X-Git-Tag: android-x86-7.1-r1~889^2~1832^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=20e7d600cdcba4b1ab2f4e01e14903d641fbc073;p=android-x86%2Fart.git Fix art_quick_instrumentation_exit stub for x86_64 Restores callee-saved registers. Bug: 19708384 Change-Id: I1cb47b1cc616af613816c4ee041bdfc975bf9f20 --- diff --git a/runtime/arch/x86_64/quick_entrypoints_x86_64.S b/runtime/arch/x86_64/quick_entrypoints_x86_64.S index 65c65e2b7..0f874a49e 100644 --- a/runtime/arch/x86_64/quick_entrypoints_x86_64.S +++ b/runtime/arch/x86_64/quick_entrypoints_x86_64.S @@ -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