< prev index next >

src/hotspot/cpu/x86/x86_64.ad

Print this page
*** 726,11 ***
    int framesize = C->output()->frame_size_in_bytes();
    int bangsize = C->output()->bang_size_in_bytes();
  
    if (C->clinit_barrier_on_entry()) {
      assert(VM_Version::supports_fast_class_init_checks(), "sanity");
!     assert(!C->method()->holder()->is_not_initialized(), "initialization should have been started");
  
      Label L_skip_barrier;
      Register klass = rscratch1;
  
      __ mov_metadata(klass, C->method()->holder()->constant_encoding());
--- 726,11 ---
    int framesize = C->output()->frame_size_in_bytes();
    int bangsize = C->output()->bang_size_in_bytes();
  
    if (C->clinit_barrier_on_entry()) {
      assert(VM_Version::supports_fast_class_init_checks(), "sanity");
!     assert(!C->method()->holder()->is_not_initialized() || C->do_clinit_barriers(), "initialization should have been started");
  
      Label L_skip_barrier;
      Register klass = rscratch1;
  
      __ mov_metadata(klass, C->method()->holder()->constant_encoding());

*** 1785,11 ***
    %}
  
    enc_class Java_To_Runtime(method meth) %{
      // No relocation needed
      MacroAssembler _masm(&cbuf);
!     __ mov64(r10, (int64_t) $meth$$method);
      __ call(r10);
      __ post_call_nop();
    %}
  
    enc_class Java_Static_Call(method meth)
--- 1785,16 ---
    %}
  
    enc_class Java_To_Runtime(method meth) %{
      // No relocation needed
      MacroAssembler _masm(&cbuf);
!     if (SCCache::is_on_for_write()) {
+       // Created runtime_call_type relocation when caching code
+       __ lea(r10, RuntimeAddress((address)$meth$$method));
+     } else {
+       __ mov64(r10, (int64_t) $meth$$method);
+     }
      __ call(r10);
      __ post_call_nop();
    %}
  
    enc_class Java_Static_Call(method meth)
< prev index next >