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

Move Method::_i2i_entry to ConstMethod

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P3
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: tbd
    • Component/s: hotspot

      Description

      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);

       

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: