Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8145234

Move Method::_i2i_entry to ConstMethod

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Won't Fix
    • Icon: P3 P3
    • tbd
    • None
    • hotspot

      This is a follow-on of JDK-8145221. The coding should be fairly simple, but we want to check for the performance impact.

      The following places in CPU-specific code is impacted.

      ./src/cpu/ppc/vm/interp_masm_ppc_64.cpp: ld(Rtarget_addr, in_bytes(Method::interpreter_entry_offset()), Rtarget_method);
      ./src/cpu/ppc/vm/methodHandles_ppc.cpp: __ ld(target, in_bytes(Method::interpreter_entry_offset()), R19_method);
      ./src/cpu/x86/vm/sharedRuntime_x86_64.cpp: __ movptr(rcx, Address(rbx, in_bytes(Method::interpreter_entry_offset())));
      ./src/cpu/x86/vm/sharedRuntime_x86_32.cpp: __ movptr(rcx, Address(rbx, in_bytes(Method::interpreter_entry_offset())));
      ./src/cpu/x86/vm/interp_masm_x86.cpp: jmp(Address(method, Method::interpreter_entry_offset()));
      ./src/cpu/x86/vm/methodHandles_x86.cpp: __ jmp(Address(method, Method::interpreter_entry_offset()));
      ./src/cpu/aarch64/vm/templateTable_aarch64.cpp: // __ ldr(r3, Address(method, Method::interpreter_entry_offset()));
      ./src/cpu/aarch64/vm/interp_masm_aarch64.cpp: ldr(rscratch1, Address(method, Method::interpreter_entry_offset()));
      ./src/cpu/aarch64/vm/sharedRuntime_aarch64.cpp: __ ldr(rscratch1, Address(rmethod, in_bytes(Method::interpreter_entry_offset())));
      ./src/cpu/aarch64/vm/methodHandles_aarch64.cpp: __ ldr(rscratch1, Address(method, Method::interpreter_entry_offset()));
      ./src/cpu/sparc/vm/methodHandles_sparc.cpp: __ ld_ptr(G5_method, in_bytes(Method::interpreter_entry_offset()), target);
      ./src/cpu/sparc/vm/interp_masm_sparc.cpp: delayed()->ld_ptr(G5_method, in_bytes(Method::interpreter_entry_offset()), target);
      ./src/cpu/sparc/vm/sharedRuntime_sparc.cpp: __ ld_ptr(G5_method, in_bytes(Method::interpreter_entry_offset()), G3_scratch);
      ./src/closed/cpu/arm/vm/methodHandles_arm.cpp: __ indirect_jump(Address(Rmethod, Method::interpreter_entry_offset()), Rtemp);
      ./src/closed/cpu/arm/vm/methodHandles_arm.cpp: __ ldr(PC, Address(Rmethod, Method::interpreter_entry_offset()), ne);
      ./src/closed/cpu/arm/vm/sharedRuntime_arm.cpp: __ ldr(tmp, Address(Rmethod, Method::interpreter_entry_offset()));
      ./src/closed/cpu/arm/vm/sharedRuntime_arm.cpp: __ ldr(PC, Address(Rmethod, Method::interpreter_entry_offset()));
      ./src/closed/cpu/arm/vm/interp_masm_arm.cpp: indirect_jump(Address(method, Method::interpreter_entry_offset()), Rtemp);
      ./src/closed/cpu/arm/vm/interp_masm_arm.cpp: ldr(PC, Address(method, Method::interpreter_entry_offset()), ne);

       

            iklam Ioi Lam
            iklam Ioi Lam
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: