summaryrefslogtreecommitdiffstats
path: root/runtime/arch/arm64
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2015-06-26 19:49:24 -0700
committerAndreas Gampe <agampe@google.com>2015-06-26 19:51:35 -0700
commit6b90d42316e0370c789dddb5dda48d7403ea378f (patch)
tree69af01ba975dd1c149e676fef1c94da99577c246 /runtime/arch/arm64
parent921c7a62ba9dd6a4a855b08eca7cc1aae081adeb (diff)
downloadart-6b90d42316e0370c789dddb5dda48d7403ea378f.tar.gz
art-6b90d42316e0370c789dddb5dda48d7403ea378f.tar.bz2
art-6b90d42316e0370c789dddb5dda48d7403ea378f.zip
ART: Fix CFI annotation in arm64, x86 and x86-64 assembly
To be able to unroll in the exception case, the state needs to be reset to before the jump. Bug: 22014525 Change-Id: Ic60400b5bf0efcb713c24df1728623d072f344ab
Diffstat (limited to 'runtime/arch/arm64')
-rw-r--r--runtime/arch/arm64/quick_entrypoints_arm64.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/runtime/arch/arm64/quick_entrypoints_arm64.S b/runtime/arch/arm64/quick_entrypoints_arm64.S
index 78d3116af7..f3c111f99f 100644
--- a/runtime/arch/arm64/quick_entrypoints_arm64.S
+++ b/runtime/arch/arm64/quick_entrypoints_arm64.S
@@ -1100,6 +1100,8 @@ ENTRY art_quick_check_cast
.cfi_adjust_cfa_offset -32
ret
+ .cfi_adjust_cfa_offset 32 // Reset unwind info so following code unwinds.
+
.Lthrow_class_cast_exception:
// Restore
ldr xLR, [sp, #24]