< prev index next >
test/compiler/jvmci/code/TestAssembler.java
Print this page
@@ -30,23 +30,26 @@
import jdk.vm.ci.code.CodeCacheProvider;
import jdk.vm.ci.code.DebugInfo;
import jdk.vm.ci.code.Register;
import jdk.vm.ci.code.StackSlot;
+import jdk.vm.ci.code.site.Call;
import jdk.vm.ci.code.site.ConstantReference;
import jdk.vm.ci.code.site.DataPatch;
import jdk.vm.ci.code.site.DataSectionReference;
import jdk.vm.ci.code.site.Infopoint;
import jdk.vm.ci.code.site.InfopointReason;
+import jdk.vm.ci.code.site.Mark;
import jdk.vm.ci.code.site.Reference;
import jdk.vm.ci.code.site.Site;
import jdk.vm.ci.hotspot.HotSpotCompiledCode;
import jdk.vm.ci.hotspot.HotSpotCompiledCode.Comment;
import jdk.vm.ci.hotspot.HotSpotCompiledNmethod;
import jdk.vm.ci.hotspot.HotSpotConstant;
import jdk.vm.ci.hotspot.HotSpotResolvedJavaMethod;
import jdk.vm.ci.meta.Assumptions.Assumption;
+import jdk.vm.ci.meta.InvokeTarget;
import jdk.vm.ci.meta.LIRKind;
import jdk.vm.ci.meta.PlatformKind;
import jdk.vm.ci.meta.ResolvedJavaMethod;
import jdk.vm.ci.meta.VMConstant;
@@ -59,10 +62,15 @@
* Emit the method prologue code (e.g. building the new stack frame).
*/
public abstract void emitPrologue();
/**
+ * Emit the method epilogue code (e.g. the deopt handler).
+ */
+ public abstract void emitEpilogue();
+
+ /**
* Emit code to grow the stack frame.
*
* @param size the size in bytes that the stack should grow
*/
public abstract void emitGrowStack(int size);
@@ -220,10 +228,18 @@
protected void setDeoptRescueSlot(StackSlot deoptRescue) {
this.deoptRescue = deoptRescue;
}
+ protected void recordCall(InvokeTarget target, int size, boolean direct, DebugInfo debugInfo) {
+ sites.add(new Call(target, code.position(), size, direct, debugInfo));
+ }
+
+ protected void recordMark(Object id) {
+ sites.add(new Mark(code.position(), id));
+ }
+
protected void recordImplicitException(DebugInfo info) {
sites.add(new Infopoint(code.position(), info, InfopointReason.IMPLICIT_EXCEPTION));
}
protected void recordDataPatchInCode(Reference ref) {
< prev index next >