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(); |