1.1 --- a/src/cpu/x86/vm/x86_64.ad Tue Mar 03 18:25:57 2009 -0800 1.2 +++ b/src/cpu/x86/vm/x86_64.ad Wed Mar 04 09:58:39 2009 -0800 1.3 @@ -3765,8 +3765,8 @@ 1.4 masm.jcc(Assembler::zero, LENGTH_DIFF_LABEL); 1.5 1.6 // Load first characters 1.7 - masm.load_unsigned_word(rcx, Address(rbx, 0)); 1.8 - masm.load_unsigned_word(rdi, Address(rax, 0)); 1.9 + masm.load_unsigned_short(rcx, Address(rbx, 0)); 1.10 + masm.load_unsigned_short(rdi, Address(rax, 0)); 1.11 1.12 // Compare first characters 1.13 masm.subl(rcx, rdi); 1.14 @@ -3796,8 +3796,8 @@ 1.15 1.16 // Compare the rest of the characters 1.17 masm.bind(WHILE_HEAD_LABEL); 1.18 - masm.load_unsigned_word(rcx, Address(rbx, rsi, Address::times_2, 0)); 1.19 - masm.load_unsigned_word(rdi, Address(rax, rsi, Address::times_2, 0)); 1.20 + masm.load_unsigned_short(rcx, Address(rbx, rsi, Address::times_2, 0)); 1.21 + masm.load_unsigned_short(rdi, Address(rax, rsi, Address::times_2, 0)); 1.22 masm.subl(rcx, rdi); 1.23 masm.jcc(Assembler::notZero, POP_LABEL); 1.24 masm.increment(rsi); 1.25 @@ -3854,8 +3854,8 @@ 1.26 masm.jcc(Assembler::zero, COMPARE_LOOP_HDR); 1.27 1.28 // Compare 2-byte "tail" at end of arrays 1.29 - masm.load_unsigned_word(tmp1Reg, Address(ary1Reg, resultReg, Address::times_4, base_offset)); 1.30 - masm.load_unsigned_word(tmp2Reg, Address(ary2Reg, resultReg, Address::times_4, base_offset)); 1.31 + masm.load_unsigned_short(tmp1Reg, Address(ary1Reg, resultReg, Address::times_4, base_offset)); 1.32 + masm.load_unsigned_short(tmp2Reg, Address(ary2Reg, resultReg, Address::times_4, base_offset)); 1.33 masm.cmpl(tmp1Reg, tmp2Reg); 1.34 masm.jcc(Assembler::notEqual, FALSE_LABEL); 1.35 masm.testl(resultReg, resultReg);