comparison 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
comparison
equal deleted inserted replaced
14934:f83404938588 14935:1b96d1a74514
798 case T_ARRAY: 798 case T_ARRAY:
799 if (c->as_jobject() == NULL) { 799 if (c->as_jobject() == NULL) {
800 if (UseCompressedOops && !wide) { 800 if (UseCompressedOops && !wide) {
801 __ movl(as_Address(addr), (int32_t)NULL_WORD); 801 __ movl(as_Address(addr), (int32_t)NULL_WORD);
802 } else { 802 } else {
803 #ifdef _LP64
804 __ xorptr(r10, r10);
805 null_check_here = code_offset();
806 __ movptr(as_Address(addr), r10);
807 #else
803 __ movptr(as_Address(addr), NULL_WORD); 808 __ movptr(as_Address(addr), NULL_WORD);
809 #endif
804 } 810 }
805 } else { 811 } else {
806 if (is_literal_address(addr)) { 812 if (is_literal_address(addr)) {
807 ShouldNotReachHere(); 813 ShouldNotReachHere();
808 __ movoop(as_Address(addr, noreg), c->as_jobject()); 814 __ movoop(as_Address(addr, noreg), c->as_jobject());