diff -r 67b6050f5ce8 -r 8a1952516600 hotspot/test/compiler/jvmci/code/TestAssembler.java --- 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)); }