equal
deleted
inserted
replaced
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); |