equal
deleted
inserted
replaced
80 __ inline_cache_check(receiver, Z_inline_cache); |
80 __ inline_cache_check(receiver, Z_inline_cache); |
81 return offset; |
81 return offset; |
82 } |
82 } |
83 |
83 |
84 void LIR_Assembler::clinit_barrier(ciMethod* method) { |
84 void LIR_Assembler::clinit_barrier(ciMethod* method) { |
85 ShouldNotReachHere(); // not implemented |
85 assert(!method->holder()->is_not_initialized(), "initialization should have been started"); |
|
86 |
|
87 Label L_skip_barrier; |
|
88 Register klass = Z_R1_scratch; |
|
89 |
|
90 metadata2reg(method->holder()->constant_encoding(), klass); |
|
91 __ clinit_barrier(klass, Z_thread, &L_skip_barrier /*L_fast_path*/); |
|
92 |
|
93 __ load_const_optimized(klass, SharedRuntime::get_handle_wrong_method_stub()); |
|
94 __ z_br(klass); |
|
95 |
|
96 __ bind(L_skip_barrier); |
86 } |
97 } |
87 |
98 |
88 void LIR_Assembler::osr_entry() { |
99 void LIR_Assembler::osr_entry() { |
89 // On-stack-replacement entry sequence (interpreter frame layout described in interpreter_sparc.cpp): |
100 // On-stack-replacement entry sequence (interpreter frame layout described in interpreter_sparc.cpp): |
90 // |
101 // |