changeset 14935:1b96d1a74514

fix c1 implicit null bug
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 01 Apr 2014 19:45:34 -0700
parents f83404938588
children 159b21f41915
files src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	Tue Apr 01 15:49:13 2014 -0700
+++ b/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp	Tue Apr 01 19:45:34 2014 -0700
@@ -800,7 +800,13 @@
         if (UseCompressedOops && !wide) {
           __ movl(as_Address(addr), (int32_t)NULL_WORD);
         } else {
+#ifdef _LP64
+          __ xorptr(r10, r10);
+          null_check_here = code_offset();
+          __ movptr(as_Address(addr), r10);
+#else
           __ movptr(as_Address(addr), NULL_WORD);
+#endif
         }
       } else {
         if (is_literal_address(addr)) {