[aarch64-port-dev ] Floats are not saved as doubles on AArch64
Andrew Haley
aph at redhat.com
Mon Jan 27 02:51:13 PST 2014
Another fix for deoptimization. Without this patch, floats are not
correctly saved and restored when deoptimizing at a call site.
Andrew.
# HG changeset patch
# User aph
# Date 1390583978 18000
# Fri Jan 24 12:19:38 2014 -0500
# Node ID ac15550877624b9df2ada9b7c653deffd812aed6
# Parent 1f2d6153f6c1d2cb2c3445808be069159984d968
Floats are not saved as doubles on AArch64.
diff -r 1f2d6153f6c1 -r ac1555087762 src/cpu/aarch64/vm/c1_Defs_aarch64.hpp
--- a/src/cpu/aarch64/vm/c1_Defs_aarch64.hpp Fri Jan 24 12:18:52 2014 -0500
+++ b/src/cpu/aarch64/vm/c1_Defs_aarch64.hpp Fri Jan 24 12:19:38 2014 -0500
@@ -72,9 +72,11 @@
};
-// encoding of float value in debug info:
+// Encoding of float value in debug info. This is true on x86 where
+// floats are extended to doubles when stored in the stack, false for
+// AArch64 where floats and doubles are stored in their native form.
enum {
- pd_float_saved_as_double = true
+ pd_float_saved_as_double = false
};
#endif // CPU_AARCH64_VM_C1_DEFS_AARCH64_HPP
More information about the aarch64-port-dev
mailing list