--- a/hotspot/test/compiler/jvmci/code/TestAssembler.java Fri Feb 05 03:55:51 2016 -0800
+++ b/hotspot/test/compiler/jvmci/code/TestAssembler.java Mon Feb 08 18:52:03 2016 +0100
@@ -32,11 +32,13 @@
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;
@@ -45,6 +47,7 @@
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;
@@ -61,6 +64,11 @@
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
@@ -222,6 +230,14 @@
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));
}