src/cpu/x86/vm/c1_LIRAssembler_x86.cpp

Print this page




4166     __ xchgl(obj, as_Address(src->as_address_ptr()));
4167 #endif
4168   } else if (data->type() == T_LONG) {
4169 #ifdef _LP64
4170     assert(data->as_register_lo() == data->as_register_hi(), "should be a single register");
4171     if (code == lir_xadd) {
4172       if (os::is_MP()) {
4173         __ lock();
4174       }
4175       __ xaddq(as_Address(src->as_address_ptr()), data->as_register_lo());
4176     } else {
4177       __ xchgq(data->as_register_lo(), as_Address(src->as_address_ptr()));
4178     }
4179 #else
4180     ShouldNotReachHere();
4181 #endif
4182   } else {
4183     ShouldNotReachHere();
4184   }
4185 }




4186 #undef __


4166     __ xchgl(obj, as_Address(src->as_address_ptr()));
4167 #endif
4168   } else if (data->type() == T_LONG) {
4169 #ifdef _LP64
4170     assert(data->as_register_lo() == data->as_register_hi(), "should be a single register");
4171     if (code == lir_xadd) {
4172       if (os::is_MP()) {
4173         __ lock();
4174       }
4175       __ xaddq(as_Address(src->as_address_ptr()), data->as_register_lo());
4176     } else {
4177       __ xchgq(data->as_register_lo(), as_Address(src->as_address_ptr()));
4178     }
4179 #else
4180     ShouldNotReachHere();
4181 #endif
4182   } else {
4183     ShouldNotReachHere();
4184   }
4185 }
4186 
4187 void LIR_Assembler::emit_crypto_cbc_aes (LIR_OpCrypto_CBC_AES * op) {
4188   ShouldNotReachHere();
4189 }
4190 #undef __