src/cpu/x86/vm/assembler_x86.cpp

changeset 4142
d8ce2825b193
parent 4103
137868b7aa6f
child 4145
bacdc1d5c21c
equal deleted inserted replaced
4122:1b582b1bf7cb 4142:d8ce2825b193
10614 movq(vec, Address(str2, 0)); // move 64 bits 10614 movq(vec, Address(str2, 0)); // move 64 bits
10615 } else { // cnt2 = { 3, 5, 6, 7 } 10615 } else { // cnt2 = { 3, 5, 6, 7 }
10616 // Array header size is 12 bytes in 32-bit VM 10616 // Array header size is 12 bytes in 32-bit VM
10617 // + 6 bytes for 3 chars == 18 bytes, 10617 // + 6 bytes for 3 chars == 18 bytes,
10618 // enough space to load vec and shift. 10618 // enough space to load vec and shift.
10619 assert(HeapWordSize*typeArrayKlass::header_size() >= 12,"sanity"); 10619 assert(HeapWordSize*TypeArrayKlass::header_size() >= 12,"sanity");
10620 movdqu(vec, Address(str2, (int_cnt2*2)-16)); 10620 movdqu(vec, Address(str2, (int_cnt2*2)-16));
10621 psrldq(vec, 16-(int_cnt2*2)); 10621 psrldq(vec, 16-(int_cnt2*2));
10622 } 10622 }
10623 } else { // not constant substring 10623 } else { // not constant substring
10624 cmpl(cnt2, 8); 10624 cmpl(cnt2, 8);

mercurial