< prev index next >

src/hotspot/cpu/ppc/macroAssembler_ppc.cpp

Print this page

4863   beq(CR0, not_unlocked);
4864   stop("fast_unlock already unlocked");
4865   bind(not_unlocked);
4866 #endif
4867 
4868   // Try to unlock. Transition lock bits 0b00 => 0b01
4869   atomically_flip_locked_state(/* is_unlock */ true, obj, t, push_and_slow, MacroAssembler::MemBarRel);
4870   b(unlocked);
4871 
4872   bind(push_and_slow);
4873 
4874   // Restore lock-stack and handle the unlock in runtime.
4875   lwz(top, in_bytes(JavaThread::lock_stack_top_offset()), R16_thread);
4876   DEBUG_ONLY(stdx(obj, R16_thread, top);)
4877   addi(top, top, oopSize);
4878   stw(top, in_bytes(JavaThread::lock_stack_top_offset()), R16_thread);
4879   b(slow);
4880 
4881   bind(unlocked);
4882 }






























4863   beq(CR0, not_unlocked);
4864   stop("fast_unlock already unlocked");
4865   bind(not_unlocked);
4866 #endif
4867 
4868   // Try to unlock. Transition lock bits 0b00 => 0b01
4869   atomically_flip_locked_state(/* is_unlock */ true, obj, t, push_and_slow, MacroAssembler::MemBarRel);
4870   b(unlocked);
4871 
4872   bind(push_and_slow);
4873 
4874   // Restore lock-stack and handle the unlock in runtime.
4875   lwz(top, in_bytes(JavaThread::lock_stack_top_offset()), R16_thread);
4876   DEBUG_ONLY(stdx(obj, R16_thread, top);)
4877   addi(top, top, oopSize);
4878   stw(top, in_bytes(JavaThread::lock_stack_top_offset()), R16_thread);
4879   b(slow);
4880 
4881   bind(unlocked);
4882 }
4883 
4884 // Unimplemented methods for inline types.
4885 int MacroAssembler::store_inline_type_fields_to_buf(ciInlineKlass* vk, bool from_interpreter) {
4886    Unimplemented();
4887 }
4888 
4889 bool MacroAssembler::move_helper(VMReg from, VMReg to, BasicType bt, RegState reg_state[]) {
4890   Unimplemented();
4891 }
4892 
4893 bool MacroAssembler::unpack_inline_helper(const GrowableArray<SigEntry>* sig, int& sig_index,
4894                             VMReg from, int& from_index, VMRegPair* to, int to_count, int& to_index,
4895                             RegState reg_state[]) {
4896   Unimplemented();
4897 }
4898 
4899 bool MacroAssembler::pack_inline_helper(const GrowableArray<SigEntry>* sig, int& sig_index, int vtarg_index,
4900                           VMRegPair* from, int from_count, int& from_index, VMReg to,
4901                           RegState reg_state[], Register val_array) {
4902   Unimplemented();
4903 }
4904 
4905 int MacroAssembler::extend_stack_for_inline_args(int args_on_stack) {
4906   Unimplemented();
4907 }
4908 
4909 VMReg MacroAssembler::spill_reg_for(VMReg reg) {
4910   Unimplemented();
4911 }
< prev index next >