valhalla/valhalla/hotspot: multiple value return caused interpreter performance regression
Sergey Kuksenko
sergey.kuksenko at oracle.com
Thu Jun 8 22:46:19 UTC 2017
Hi Roland,
I've just realized that this patch causes more than 3x time interpreter
performance regression (if method contains local variable of value type).
Question to all: How big INTERPRETER performance regression will be
considered as OK?
I'll provide more details about the regression if we agreed that 3x
times for the interpreter is too much.
On 06/08/2017 09:39 AM, rwestrel at redhat.com wrote:
> Changeset: 4cd1b06ce224
> Author: roland
> Date: 2017-06-08 18:25 +0200
> URL: http://hg.openjdk.java.net/valhalla/valhalla/hotspot/rev/4cd1b06ce224
>
> multiple value return
>
> ! src/cpu/ppc/vm/globals_ppc.hpp
> ! src/cpu/sparc/vm/globals_sparc.hpp
> ! src/cpu/x86/vm/globals_x86.hpp
> ! src/cpu/x86/vm/interp_masm_x86.cpp
> ! src/cpu/x86/vm/interp_masm_x86.hpp
> ! src/cpu/x86/vm/interpreterRT_x86_32.cpp
> ! src/cpu/x86/vm/macroAssembler_x86.cpp
> ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp
> ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp
> ! src/cpu/x86/vm/stubGenerator_x86_64.cpp
> ! src/cpu/x86/vm/templateInterpreterGenerator_x86.cpp
> ! src/cpu/x86/vm/templateTable_x86.cpp
> ! src/cpu/zero/vm/globals_zero.hpp
> ! src/share/vm/c1/c1_IR.hpp
> ! src/share/vm/code/compiledMethod.cpp
> ! src/share/vm/code/debugInfoRec.cpp
> ! src/share/vm/code/debugInfoRec.hpp
> ! src/share/vm/code/nmethod.cpp
> ! src/share/vm/code/pcDesc.hpp
> ! src/share/vm/code/scopeDesc.cpp
> ! src/share/vm/code/scopeDesc.hpp
> ! src/share/vm/jvmci/jvmciCodeInstaller.cpp
> ! src/share/vm/oops/method.cpp
> ! src/share/vm/oops/method.hpp
> ! src/share/vm/oops/valueKlass.cpp
> ! src/share/vm/oops/valueKlass.hpp
> ! src/share/vm/opto/callGenerator.cpp
> ! src/share/vm/opto/callGenerator.hpp
> ! src/share/vm/opto/callnode.cpp
> ! src/share/vm/opto/callnode.hpp
> ! src/share/vm/opto/compile.cpp
> ! src/share/vm/opto/compile.hpp
> ! src/share/vm/opto/divnode.cpp
> ! src/share/vm/opto/divnode.hpp
> ! src/share/vm/opto/doCall.cpp
> ! src/share/vm/opto/escape.cpp
> ! src/share/vm/opto/generateOptoStub.cpp
> ! src/share/vm/opto/graphKit.cpp
> ! src/share/vm/opto/lcm.cpp
> ! src/share/vm/opto/machnode.cpp
> ! src/share/vm/opto/machnode.hpp
> ! src/share/vm/opto/macro.cpp
> ! src/share/vm/opto/matcher.cpp
> ! src/share/vm/opto/matcher.hpp
> ! src/share/vm/opto/memnode.cpp
> ! src/share/vm/opto/memnode.hpp
> ! src/share/vm/opto/multnode.cpp
> ! src/share/vm/opto/multnode.hpp
> ! src/share/vm/opto/output.cpp
> ! src/share/vm/opto/parse1.cpp
> ! src/share/vm/opto/runtime.cpp
> ! src/share/vm/opto/runtime.hpp
> ! src/share/vm/opto/type.cpp
> ! src/share/vm/opto/type.hpp
> ! src/share/vm/opto/valuetypenode.cpp
> ! src/share/vm/opto/valuetypenode.hpp
> ! src/share/vm/prims/jvmtiCodeBlobEvents.cpp
> ! src/share/vm/runtime/arguments.cpp
> ! src/share/vm/runtime/deoptimization.cpp
> ! src/share/vm/runtime/deoptimization.hpp
> ! src/share/vm/runtime/globals.hpp
> ! src/share/vm/runtime/safepoint.cpp
> ! src/share/vm/runtime/sharedRuntime.cpp
> ! src/share/vm/runtime/sharedRuntime.hpp
> ! src/share/vm/runtime/signature.cpp
> ! src/share/vm/runtime/signature.hpp
> ! src/share/vm/runtime/stubRoutines.cpp
> ! src/share/vm/runtime/stubRoutines.hpp
> ! src/share/vm/shark/sharkCacheDecache.cpp
> ! test/compiler/valhalla/valuetypes/ValueTypeTestBench.java
>
--
Best regards,
Sergey Kuksenko
More information about the valhalla-dev
mailing list