< prev index next >

src/hotspot/cpu/s390/sharedRuntime_s390.cpp

Print this page

        

@@ -1830,24 +1830,10 @@
   //---------------------------------------------------------------------
   // Verified entry point (VEP)
   //---------------------------------------------------------------------
   wrapper_VEPStart = __ offset();
 
-  if (VM_Version::supports_fast_class_init_checks() && method->needs_clinit_barrier()) {
-    Label L_skip_barrier;
-    Register klass = Z_R1_scratch;
-    // Notify OOP recorder (don't need the relocation)
-    AddressLiteral md = __ constant_metadata_address(method->method_holder());
-    __ load_const_optimized(klass, md.value());
-    __ clinit_barrier(klass, Z_thread, &L_skip_barrier /*L_fast_path*/);
-
-    __ load_const_optimized(klass, SharedRuntime::get_handle_wrong_method_stub());
-    __ z_br(klass);
-
-    __ bind(L_skip_barrier);
-  }
-
   __ save_return_pc();
   __ generate_stack_overflow_check(frame_size_in_bytes);  // Check before creating frame.
 #ifndef USE_RESIZE_FRAME
   __ push_frame(frame_size_in_bytes);                     // Create a new frame for the wrapper.
 #else

@@ -2708,32 +2694,12 @@
     __ z_brne(ic_miss);  // Cache miss: call runtime to handle this.
 
     // Fallthru to VEP. Duplicate LTG, but saved taken branch.
   }
 
-  address 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
-      __ testbit(Address(Z_method, Method::access_flags_offset()), JVM_ACC_STATIC_BIT);
-      __ z_bfalse(L_skip_barrier); // non-static
-    }
-
-    Register klass = Z_R11;
-    __ load_method_holder(klass, Z_method);
-    __ clinit_barrier(klass, Z_thread, &L_skip_barrier /*L_fast_path*/);
-
-    __ load_const_optimized(klass, SharedRuntime::get_handle_wrong_method_stub());
-    __ z_br(klass);
-
-    __ bind(L_skip_barrier);
-  }
-
-  gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup);
+  address c2i_entry;
+  c2i_entry = gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup);
 
   return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry);
 }
 
 // This function returns the adjust size (in number of words) to a c2i adapter
< prev index next >