Class UnsafeModel
java.lang.Object
pascal.taie.analysis.pta.plugin.util.SolverHolder
pascal.taie.analysis.pta.plugin.util.IRModelPlugin
pascal.taie.analysis.pta.plugin.natives.UnsafeModel
- All Implemented Interfaces:
Plugin
-
Field Summary
Fields inherited from class pascal.taie.analysis.pta.plugin.util.IRModelPlugin
handlers, method2GenStmts
Fields inherited from class pascal.taie.analysis.pta.plugin.util.SolverHolder
csManager, emptyContext, heapModel, hierarchy, selector, solver, typeSystem
-
Method Summary
Modifier and TypeMethodDescriptioncompareAndSwapObject
(Invoke invoke) getReferenceAcquire
(Invoke invoke) putReferenceRelease
(Invoke invoke) protected void
Methods inherited from class pascal.taie.analysis.pta.plugin.util.IRModelPlugin
onNewCSMethod, onNewStmt, onStart, registerHandler
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface pascal.taie.analysis.pta.plugin.Plugin
onFinish, onNewCallEdge, onNewMethod, onNewPointsToSet, onPhaseFinish, onUnresolvedCall, setSolver
-
Method Details
-
compareAndSwapObject
@InvokeHandler(signature={"<sun.misc.Unsafe: boolean compareAndSwapObject(java.lang.Object,long,java.lang.Object,java.lang.Object)>","<jdk.internal.misc.Unsafe: boolean compareAndSetReference(java.lang.Object,long,java.lang.Object,java.lang.Object)>"}) public List<Stmt> compareAndSwapObject(Invoke invoke) -
getReferenceAcquire
@InvokeHandler(signature="<jdk.internal.misc.Unsafe: java.lang.Object getReferenceAcquire(java.lang.Object,long)>") public List<Stmt> getReferenceAcquire(Invoke invoke) -
putReferenceRelease
@InvokeHandler(signature="<jdk.internal.misc.Unsafe: void putReferenceRelease(java.lang.Object,long,java.lang.Object)>") public List<Stmt> putReferenceRelease(Invoke invoke) -
registerHandlers
protected void registerHandlers()
-