src/cpu/x86/vm/c1_LIRAssembler_x86.cpp

changeset 2203
c393f046f4c5
parent 2187
22e4420d19f7
child 2314
f95d63e2154a
equal deleted inserted replaced
2202:a932f331ef90 2203:c393f046f4c5
1939 } 1939 }
1940 if ( op->code() == lir_cas_obj) { 1940 if ( op->code() == lir_cas_obj) {
1941 __ cmpxchgptr(newval, Address(addr, 0)); 1941 __ cmpxchgptr(newval, Address(addr, 0));
1942 } else if (op->code() == lir_cas_int) { 1942 } else if (op->code() == lir_cas_int) {
1943 __ cmpxchgl(newval, Address(addr, 0)); 1943 __ cmpxchgl(newval, Address(addr, 0));
1944 } else {
1945 LP64_ONLY(__ cmpxchgq(newval, Address(addr, 0)));
1946 } 1944 }
1947 #ifdef _LP64 1945 #ifdef _LP64
1948 } else if (op->code() == lir_cas_long) { 1946 } else if (op->code() == lir_cas_long) {
1949 Register addr = (op->addr()->is_single_cpu() ? op->addr()->as_register() : op->addr()->as_register_lo()); 1947 Register addr = (op->addr()->is_single_cpu() ? op->addr()->as_register() : op->addr()->as_register_lo());
1950 Register newval = op->new_value()->as_register_lo(); 1948 Register newval = op->new_value()->as_register_lo();

mercurial