Mercurial > hg > graal-jvmci-8
comparison jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java @ 22782:bf8a5a6861b1
Add CompilerToVM.interpreterFrameSize to support stack banging for deopt
author | Tom Rodriguez <tom.rodriguez@oracle.com> |
---|---|
date | Wed, 20 Jan 2016 13:56:34 -0800 |
parents | d57508b1bcb5 |
children | 2d1ca131b8be |
comparison
equal
deleted
inserted
replaced
22781:5d06abd6d35b | 22782:bf8a5a6861b1 |
---|---|
27 import static jdk.vm.ci.inittimer.InitTimer.timer; | 27 import static jdk.vm.ci.inittimer.InitTimer.timer; |
28 | 28 |
29 import java.lang.reflect.Constructor; | 29 import java.lang.reflect.Constructor; |
30 import java.lang.reflect.Method; | 30 import java.lang.reflect.Method; |
31 | 31 |
32 import jdk.vm.ci.code.BytecodeFrame; | |
32 import jdk.vm.ci.code.InstalledCode; | 33 import jdk.vm.ci.code.InstalledCode; |
33 import jdk.vm.ci.code.InvalidInstalledCodeException; | 34 import jdk.vm.ci.code.InvalidInstalledCodeException; |
34 import jdk.vm.ci.code.TargetDescription; | 35 import jdk.vm.ci.code.TargetDescription; |
35 import jdk.vm.ci.common.JVMCIError; | 36 import jdk.vm.ci.common.JVMCIError; |
36 import jdk.vm.ci.hotspotvmconfig.HotSpotVMField; | 37 import jdk.vm.ci.hotspotvmconfig.HotSpotVMField; |
585 * @param position | 586 * @param position |
586 * @return the size of the ProfileData item pointed at by {@code position} | 587 * @return the size of the ProfileData item pointed at by {@code position} |
587 * @throws IllegalArgumentException if an out of range position is given | 588 * @throws IllegalArgumentException if an out of range position is given |
588 */ | 589 */ |
589 native int methodDataProfileDataSize(long metaspaceMethodData, int position); | 590 native int methodDataProfileDataSize(long metaspaceMethodData, int position); |
591 | |
592 /** | |
593 * Return the amount of native stack required for the interpreter frames represented by | |
594 * {@code frame}. This is used when emitting the stack banging code to ensure that there is | |
595 * enough space for the frames during deoptimization. | |
596 * | |
597 * @param frame | |
598 * @return the number of bytes required for deoptimization of this frame state | |
599 */ | |
600 native int interpreterFrameSize(BytecodeFrame frame); | |
590 } | 601 } |