src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp
changeset 51350 57565f7dcb2a
parent 51333 f6641fcf7b7e
child 51756 4bd35a5ec694
equal deleted inserted replaced
51349:343f580476d6 51350:57565f7dcb2a
  2448     __ lea(lock_reg, Address(rsp, lock_slot_offset * VMRegImpl::stack_slot_size));
  2448     __ lea(lock_reg, Address(rsp, lock_slot_offset * VMRegImpl::stack_slot_size));
  2449 
  2449 
  2450     // Load the oop from the handle
  2450     // Load the oop from the handle
  2451     __ movptr(obj_reg, Address(oop_handle_reg, 0));
  2451     __ movptr(obj_reg, Address(oop_handle_reg, 0));
  2452 
  2452 
       
  2453     __ resolve(IS_NOT_NULL, obj_reg);
  2453     if (UseBiasedLocking) {
  2454     if (UseBiasedLocking) {
  2454       __ biased_locking_enter(lock_reg, obj_reg, swap_reg, rscratch1, false, lock_done, &slow_path_lock);
  2455       __ biased_locking_enter(lock_reg, obj_reg, swap_reg, rscratch1, false, lock_done, &slow_path_lock);
  2455     }
  2456     }
  2456 
  2457 
  2457     // Load immediate 1 into swap_reg %rax
  2458     // Load immediate 1 into swap_reg %rax
  2633   Label slow_path_unlock;
  2634   Label slow_path_unlock;
  2634   if (method->is_synchronized()) {
  2635   if (method->is_synchronized()) {
  2635 
  2636 
  2636     // Get locked oop from the handle we passed to jni
  2637     // Get locked oop from the handle we passed to jni
  2637     __ movptr(obj_reg, Address(oop_handle_reg, 0));
  2638     __ movptr(obj_reg, Address(oop_handle_reg, 0));
       
  2639     __ resolve(IS_NOT_NULL, obj_reg);
  2638 
  2640 
  2639     Label done;
  2641     Label done;
  2640 
  2642 
  2641     if (UseBiasedLocking) {
  2643     if (UseBiasedLocking) {
  2642       __ biased_locking_exit(obj_reg, old_hdr, done);
  2644       __ biased_locking_exit(obj_reg, old_hdr, done);