< prev index next >
src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java
Print this page
rev 9956 : 8146424: runtime/ReservedStack/ReservedStackTest.java triggers: assert(thread->deopt_mark() == __null) failed: no stack overflow from deopt blob/uncommon trap
@@ -27,10 +27,11 @@
import static jdk.vm.ci.inittimer.InitTimer.timer;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
+import jdk.vm.ci.code.BytecodeFrame;
import jdk.vm.ci.code.InstalledCode;
import jdk.vm.ci.code.InvalidInstalledCodeException;
import jdk.vm.ci.code.TargetDescription;
import jdk.vm.ci.common.JVMCIError;
import jdk.vm.ci.hotspotvmconfig.HotSpotVMField;
@@ -602,6 +603,16 @@
* @param position
* @return the size of the ProfileData item pointed at by {@code position}
* @throws IllegalArgumentException if an out of range position is given
*/
native int methodDataProfileDataSize(long metaspaceMethodData, int position);
+
+ /**
+ * Return the amount of native stack required for the interpreter frames represented by
+ * {@code frame}. This is used when emitting the stack banging code to ensure that there is
+ * enough space for the frames during deoptimization.
+ *
+ * @param frame
+ * @return the number of bytes required for deoptimization of this frame state
+ */
+ native int interpreterFrameSize(BytecodeFrame frame);
}
< prev index next >