26 lines
884 B
Java
26 lines
884 B
Java
package ex5;
|
|
|
|
import ch.usi.dag.disl.annotation.Before;
|
|
import ch.usi.dag.disl.dynamiccontext.DynamicContext;
|
|
import ch.usi.dag.disl.marker.BodyMarker;
|
|
import ch.usi.dag.disl.marker.BytecodeMarker;
|
|
import ch.usi.dag.disl.staticcontext.MethodStaticContext;
|
|
//import jdk.internal.misc.Unsafe;
|
|
|
|
public class Instrumentation {
|
|
@Before(marker = BytecodeMarker.class, args = "new,newarray,anewarray,multianewarray", scope = "*")
|
|
static void handleSafeAllocation() {
|
|
Profiler.addSafeAllocation();
|
|
}
|
|
|
|
@Before(marker = BodyMarker.class, scope = "jdk.internal.misc.Unsafe.allocateInstance")
|
|
static void handleUnsafeAllocations() {
|
|
Profiler.addUnsafeAllocation();
|
|
}
|
|
|
|
|
|
@Before(marker = BodyMarker.class, scope = "sun.misc.Unsafe.allocateInstance")
|
|
static void handleUnsafeAllocationsPraiseTheSun() {
|
|
Profiler.addUnsafeAllocation();
|
|
}
|
|
}
|