JDK-8145234 : Move Method::_i2i_entry to ConstMethod
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • Submitted: 2015-12-11
  • Updated: 2019-01-15
  • Resolved: 2018-07-10
Related Reports
Relates :  
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);

 
Comments
Triage: This is not on our current list of priorities. We will considered this feature if we receive additional customer requirements.
10-07-2018