diff src/cpu/x86/vm/c1_LIRAssembler_x86.cpp @ 14935:1b96d1a74514

fix c1 implicit null bug
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 01 Apr 2014 19:45:34 -0700
parents 4ca6dc0799b6
children 89152779163c
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)) {