< prev index next >

src/hotspot/cpu/ppc/macroAssembler_ppc.cpp

Print this page

4689   beq(CR0, not_unlocked);
4690   stop("fast_unlock already unlocked");
4691   bind(not_unlocked);
4692 #endif
4693 
4694   // Try to unlock. Transition lock bits 0b00 => 0b01
4695   atomically_flip_locked_state(/* is_unlock */ true, obj, t, push_and_slow, MacroAssembler::MemBarRel);
4696   b(unlocked);
4697 
4698   bind(push_and_slow);
4699 
4700   // Restore lock-stack and handle the unlock in runtime.
4701   lwz(top, in_bytes(JavaThread::lock_stack_top_offset()), R16_thread);
4702   DEBUG_ONLY(stdx(obj, R16_thread, top);)
4703   addi(top, top, oopSize);
4704   stw(top, in_bytes(JavaThread::lock_stack_top_offset()), R16_thread);
4705   b(slow);
4706 
4707   bind(unlocked);
4708 }






























4689   beq(CR0, not_unlocked);
4690   stop("fast_unlock already unlocked");
4691   bind(not_unlocked);
4692 #endif
4693 
4694   // Try to unlock. Transition lock bits 0b00 => 0b01
4695   atomically_flip_locked_state(/* is_unlock */ true, obj, t, push_and_slow, MacroAssembler::MemBarRel);
4696   b(unlocked);
4697 
4698   bind(push_and_slow);
4699 
4700   // Restore lock-stack and handle the unlock in runtime.
4701   lwz(top, in_bytes(JavaThread::lock_stack_top_offset()), R16_thread);
4702   DEBUG_ONLY(stdx(obj, R16_thread, top);)
4703   addi(top, top, oopSize);
4704   stw(top, in_bytes(JavaThread::lock_stack_top_offset()), R16_thread);
4705   b(slow);
4706 
4707   bind(unlocked);
4708 }
4709 
4710 // Unimplemented methods for inline types.
4711 int MacroAssembler::store_inline_type_fields_to_buf(ciInlineKlass* vk, bool from_interpreter) {
4712    Unimplemented();
4713 }
4714 
4715 bool MacroAssembler::move_helper(VMReg from, VMReg to, BasicType bt, RegState reg_state[]) {
4716   Unimplemented();
4717 }
4718 
4719 bool MacroAssembler::unpack_inline_helper(const GrowableArray<SigEntry>* sig, int& sig_index,
4720                             VMReg from, int& from_index, VMRegPair* to, int to_count, int& to_index,
4721                             RegState reg_state[]) {
4722   Unimplemented();
4723 }
4724 
4725 bool MacroAssembler::pack_inline_helper(const GrowableArray<SigEntry>* sig, int& sig_index, int vtarg_index,
4726                           VMRegPair* from, int from_count, int& from_index, VMReg to,
4727                           RegState reg_state[], Register val_array) {
4728   Unimplemented();
4729 }
4730 
4731 int MacroAssembler::extend_stack_for_inline_args(int args_on_stack) {
4732   Unimplemented();
4733 }
4734 
4735 VMReg MacroAssembler::spill_reg_for(VMReg reg) {
4736   Unimplemented();
4737 }
< prev index next >