src/hotspot/cpu/s390/s390.ad
branchdatagramsocketimpl-branch
changeset 58678 9cf78a70fa4f
parent 54960 e46fe26d7f77
child 58679 9c3209ff7550
equal deleted inserted replaced
58677:13588c901957 58678:9cf78a70fa4f
   865   size_t framesize = C->frame_size_in_bytes();
   865   size_t framesize = C->frame_size_in_bytes();
   866   size_t bangsize  = C->bang_size_in_bytes();
   866   size_t bangsize  = C->bang_size_in_bytes();
   867 
   867 
   868   assert(framesize % wordSize == 0, "must preserve wordSize alignment");
   868   assert(framesize % wordSize == 0, "must preserve wordSize alignment");
   869 
   869 
       
   870   if (C->clinit_barrier_on_entry()) {
       
   871     assert(!C->method()->holder()->is_not_initialized(), "initialization should have been started");
       
   872 
       
   873     Label L_skip_barrier;
       
   874     Register klass = Z_R1_scratch;
       
   875 
       
   876     // Notify OOP recorder (don't need the relocation)
       
   877     AddressLiteral md = __ constant_metadata_address(C->method()->holder()->constant_encoding());
       
   878     __ load_const_optimized(klass, md.value());
       
   879     __ clinit_barrier(klass, Z_thread, &L_skip_barrier /*L_fast_path*/);
       
   880 
       
   881     __ load_const_optimized(klass, SharedRuntime::get_handle_wrong_method_stub());
       
   882     __ z_br(klass);
       
   883 
       
   884     __ bind(L_skip_barrier);
       
   885   }
       
   886 
   870   // Calls to C2R adapters often do not accept exceptional returns.
   887   // Calls to C2R adapters often do not accept exceptional returns.
   871   // We require that their callers must bang for them. But be
   888   // We require that their callers must bang for them. But be
   872   // careful, because some VM calls (such as call site linkage) can
   889   // careful, because some VM calls (such as call site linkage) can
   873   // use several kilobytes of stack. But the stack safety zone should
   890   // use several kilobytes of stack. But the stack safety zone should
   874   // account for that. See bugs 4446381, 4468289, 4497237.
   891   // account for that. See bugs 4446381, 4468289, 4497237.
  5386 
  5403 
  5387 instruct castII(iRegI dst) %{
  5404 instruct castII(iRegI dst) %{
  5388   match(Set dst (CastII dst));
  5405   match(Set dst (CastII dst));
  5389   size(0);
  5406   size(0);
  5390   format %{ "# castII of $dst" %}
  5407   format %{ "# castII of $dst" %}
       
  5408   ins_encode(/*empty*/);
       
  5409   ins_pipe(pipe_class_dummy);
       
  5410 %}
       
  5411 
       
  5412 instruct castLL(iRegL dst) %{
       
  5413   match(Set dst (CastLL dst));
       
  5414   size(0);
       
  5415   format %{ "# castLL of $dst" %}
  5391   ins_encode(/*empty*/);
  5416   ins_encode(/*empty*/);
  5392   ins_pipe(pipe_class_dummy);
  5417   ins_pipe(pipe_class_dummy);
  5393 %}
  5418 %}
  5394 
  5419 
  5395 
  5420