src/cpu/x86/vm/assembler_x86.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/cpu/x86/vm/assembler_x86.cpp	Thu Sep 11 23:19:40 2014
--- new/src/cpu/x86/vm/assembler_x86.cpp	Thu Sep 11 23:19:40 2014

*** 1295,1304 **** --- 1295,1315 ---- emit_int8(0x0F); emit_int8((unsigned char)0xB1); emit_operand(reg, adr); } + // The 8-bit cmpxchg compares the value at adr with the contents of rax, + // and stores reg into adr if so; otherwise, the value at adr is loaded into rax,. + // The ZF is set if the compared values were equal, and cleared otherwise. + void Assembler::cmpxchgb(Register reg, Address adr) { // cmpxchg + InstructionMark im(this); + prefix(adr, reg); + emit_int8(0x0F); + emit_int8((unsigned char)0xB0); + emit_operand(reg, adr); + } + void Assembler::comisd(XMMRegister dst, Address src) { // NOTE: dbx seems to decode this as comiss even though the // 0x66 is there. Strangly ucomisd comes out correct NOT_LP64(assert(VM_Version::supports_sse2(), "")); emit_simd_arith_nonds(0x2F, dst, src, VEX_SIMD_66);

src/cpu/x86/vm/assembler_x86.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File