src/hotspot/cpu/aarch64/aarch64.ad
changeset 55521 f9a2f93a0c87
parent 55398 e53ec3b362f4
child 57565 01bca26734bb
equal deleted inserted replaced
55520:33bb8c970770 55521:f9a2f93a0c87
  1759 
  1759 
  1760   // insert a nop at the start of the prolog so we can patch in a
  1760   // insert a nop at the start of the prolog so we can patch in a
  1761   // branch if we need to invalidate the method later
  1761   // branch if we need to invalidate the method later
  1762   __ nop();
  1762   __ nop();
  1763 
  1763 
       
  1764   if (C->clinit_barrier_on_entry()) {
       
  1765     assert(!C->method()->holder()->is_not_initialized(), "initialization should have been started");
       
  1766 
       
  1767     Label L_skip_barrier;
       
  1768 
       
  1769     __ mov_metadata(rscratch2, C->method()->holder()->constant_encoding());
       
  1770     __ clinit_barrier(rscratch2, rscratch1, &L_skip_barrier);
       
  1771     __ far_jump(RuntimeAddress(SharedRuntime::get_handle_wrong_method_stub()));
       
  1772     __ bind(L_skip_barrier);
       
  1773   }
       
  1774   
  1764   int bangsize = C->bang_size_in_bytes();
  1775   int bangsize = C->bang_size_in_bytes();
  1765   if (C->need_stack_bang(bangsize) && UseStackBanging)
  1776   if (C->need_stack_bang(bangsize) && UseStackBanging)
  1766     __ generate_stack_overflow_check(bangsize);
  1777     __ generate_stack_overflow_check(bangsize);
  1767 
  1778 
  1768   __ build_frame(framesize);
  1779   __ build_frame(framesize);