--- a/hotspot/src/cpu/x86/vm/assembler_x86.cpp Wed Oct 14 11:42:59 2009 -0700
+++ b/hotspot/src/cpu/x86/vm/assembler_x86.cpp Wed Oct 14 15:03:32 2009 -0700
@@ -8634,8 +8634,10 @@
if (is_array_equ) {
// Need additional checks for arrays_equals.
- andptr(ary1, ary2);
- jcc(Assembler::zero, FALSE_LABEL); // One pointer is NULL
+ testptr(ary1, ary1);
+ jcc(Assembler::zero, FALSE_LABEL);
+ testptr(ary2, ary2);
+ jcc(Assembler::zero, FALSE_LABEL);
// Check the lengths
movl(limit, Address(ary1, length_offset));