This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
AJP/DiSLProject2022/src-profiler/ex3/Instrumentation.java

16 lines
608 B
Java
Raw Normal View History

2023-01-02 09:46:59 +00:00
package ex3;
2023-01-02 14:59:03 +00:00
import ch.usi.dag.disl.annotation.Before;
import ch.usi.dag.disl.dynamiccontext.DynamicContext;
import ch.usi.dag.disl.marker.BytecodeMarker;
import ch.usi.dag.disl.staticcontext.InstructionStaticContext;
2023-01-02 09:46:59 +00:00
public class Instrumentation {
2023-01-02 14:59:03 +00:00
@Before(marker = BytecodeMarker.class, args = "astore", scope = "ex3.MainThread.checkAccess")
static void printVariable(final InstructionStaticContext isc, final DynamicContext dc) {
if ("granted".equals(dc.getStackValue(0, Object.class))) {
System.out.printf("Thread: %s\n", Thread.currentThread().getName());
}
}
2023-01-02 09:46:59 +00:00
}