< prev index next >

src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp

Print this page

        

@@ -1272,34 +1272,11 @@
   // Branch to ic_miss_stub.
   __ b64_patchable((address)SharedRuntime::get_ic_miss_stub(), relocInfo::runtime_call_type);
 
   // entry: c2i
 
-  c2i_entry = __ pc();
-
-  // Class initialization barrier for static methods
-  if (VM_Version::supports_fast_class_init_checks()) {
-    Label L_skip_barrier;
-
-    { // Bypass the barrier for non-static methods
-      __ lwz(R0, in_bytes(Method::access_flags_offset()), R19_method);
-      __ andi_(R0, R0, JVM_ACC_STATIC);
-      __ beq(CCR0, L_skip_barrier); // non-static
-    }
-
-    Register klass = R11_scratch1;
-    __ load_method_holder(klass, R19_method);
-    __ clinit_barrier(klass, R16_thread, &L_skip_barrier /*L_fast_path*/);
-
-    __ load_const_optimized(klass, SharedRuntime::get_handle_wrong_method_stub(), R0);
-    __ mtctr(klass);
-    __ bctr();
-
-    __ bind(L_skip_barrier);
-  }
-
-  gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, call_interpreter, ientry);
+  c2i_entry = gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, call_interpreter, ientry);
 
   return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry);
 }
 
 #ifdef COMPILER2

@@ -2127,25 +2104,10 @@
     // because critical section can be large and
     // abort anyway. Also nmethod can be deoptimized.
     __ tabort_();
   }
 
-  if (VM_Version::supports_fast_class_init_checks() && method->needs_clinit_barrier()) {
-    Label L_skip_barrier;
-    Register klass = r_temp_1;
-    // Notify OOP recorder (don't need the relocation)
-    AddressLiteral md = __ constant_metadata_address(method->method_holder());
-    __ load_const_optimized(klass, md.value(), R0);
-    __ clinit_barrier(klass, R16_thread, &L_skip_barrier /*L_fast_path*/);
-
-    __ load_const_optimized(klass, SharedRuntime::get_handle_wrong_method_stub(), R0);
-    __ mtctr(klass);
-    __ bctr();
-
-    __ bind(L_skip_barrier);
-  }
-
   __ save_LR_CR(r_temp_1);
   __ generate_stack_overflow_check(frame_size_in_bytes); // Check before creating frame.
   __ mr(r_callers_sp, R1_SP);                            // Remember frame pointer.
   __ push_frame(frame_size_in_bytes, r_temp_1);          // Push the c2n adapter's frame.
   frame_done_pc = (intptr_t)__ pc();
< prev index next >