Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
DiSL
DiSL
Commits
9da53e7b
Commit
9da53e7b
authored
Nov 12, 2018
by
Vít Kabele
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Staticcontext package merged.
parent
824b5607
Pipeline
#3376
passed with stages
in 2 minutes and 54 seconds
Changes
60
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
60 changed files
with
72 additions
and
111 deletions
+72
-111
.classpath
.classpath
+2
-0
build.properties
build.properties
+2
-0
build.xml
build.xml
+2
-0
disl/src/src-classparser/ch/usi/dag/disl/ContextKind.java
disl/src/src-classparser/ch/usi/dag/disl/ContextKind.java
+1
-1
disl/src/src-classparser/ch/usi/dag/disl/IsolatedSnippetParser.java
...rc-classparser/ch/usi/dag/disl/IsolatedSnippetParser.java
+1
-1
disl/src/src-coderep/ch/usi/dag/disl/StaticContextMethod.java
.../src/src-coderep/ch/usi/dag/disl/StaticContextMethod.java
+0
-2
disl/src/src-guard/ch/usi/dag/disl/GuardHelper.java
disl/src/src-guard/ch/usi/dag/disl/GuardHelper.java
+0
-1
disl/src/src-main/ch/usi/dag/disl/DiSL.java
disl/src/src-main/ch/usi/dag/disl/DiSL.java
+0
-1
disl/src/src-resolver/ch/usi/dag/disl/SCResolver.java
disl/src/src-resolver/ch/usi/dag/disl/SCResolver.java
+0
-2
disl/src/src-staticcontext-uid/ch/usi/dag/disl/AbstractIdCalculator.java
...aticcontext-uid/ch/usi/dag/disl/AbstractIdCalculator.java
+1
-1
disl/src/src-staticcontext-uid/ch/usi/dag/disl/AbstractMethodUid.java
...-staticcontext-uid/ch/usi/dag/disl/AbstractMethodUid.java
+1
-3
disl/src/src-staticcontext-uid/ch/usi/dag/disl/AbstractUniqueId.java
...c-staticcontext-uid/ch/usi/dag/disl/AbstractUniqueId.java
+1
-4
disl/src/src-staticcontext-uid/ch/usi/dag/disl/IdHolder.java
disl/src/src-staticcontext-uid/ch/usi/dag/disl/IdHolder.java
+1
-2
disl/src/src-staticcontext-uid/ch/usi/dag/disl/RandomId.java
disl/src/src-staticcontext-uid/ch/usi/dag/disl/RandomId.java
+1
-1
disl/src/src-staticcontext-uid/ch/usi/dag/disl/RandomMethodUid.java
...rc-staticcontext-uid/ch/usi/dag/disl/RandomMethodUid.java
+1
-4
disl/src/src-staticcontext-uid/ch/usi/dag/disl/SequenceId.java
...src/src-staticcontext-uid/ch/usi/dag/disl/SequenceId.java
+1
-1
disl/src/src-staticcontext-uid/ch/usi/dag/disl/SequentialMethodUid.java
...taticcontext-uid/ch/usi/dag/disl/SequentialMethodUid.java
+1
-4
disl/src/src-staticcontext-uid/ch/usi/dag/disl/UniqueMethodId.java
...src-staticcontext-uid/ch/usi/dag/disl/UniqueMethodId.java
+1
-1
disl/src/src-staticcontext/ch/usi/dag/disl/AbstractStaticContext.java
...-staticcontext/ch/usi/dag/disl/AbstractStaticContext.java
+1
-4
disl/src/src-staticcontext/ch/usi/dag/disl/BasicBlockStaticContext.java
...taticcontext/ch/usi/dag/disl/BasicBlockStaticContext.java
+1
-5
disl/src/src-staticcontext/ch/usi/dag/disl/BytecodeStaticContext.java
...-staticcontext/ch/usi/dag/disl/BytecodeStaticContext.java
+1
-1
disl/src/src-staticcontext/ch/usi/dag/disl/ClassStaticContext.java
...src-staticcontext/ch/usi/dag/disl/ClassStaticContext.java
+1
-3
disl/src/src-staticcontext/ch/usi/dag/disl/FieldAccessStaticContext.java
...aticcontext/ch/usi/dag/disl/FieldAccessStaticContext.java
+1
-2
disl/src/src-staticcontext/ch/usi/dag/disl/InstructionStaticContext.java
...aticcontext/ch/usi/dag/disl/InstructionStaticContext.java
+1
-2
disl/src/src-staticcontext/ch/usi/dag/disl/InvocationStaticContext.java
...taticcontext/ch/usi/dag/disl/InvocationStaticContext.java
+1
-3
disl/src/src-staticcontext/ch/usi/dag/disl/LoopStaticContext.java
.../src-staticcontext/ch/usi/dag/disl/LoopStaticContext.java
+1
-3
disl/src/src-staticcontext/ch/usi/dag/disl/MethodStaticContext.java
...rc-staticcontext/ch/usi/dag/disl/MethodStaticContext.java
+1
-3
disl/src/src-staticcontext/ch/usi/dag/disl/SCGenerator.java
disl/src/src-staticcontext/ch/usi/dag/disl/SCGenerator.java
+4
-12
disl/src/src-staticcontext/ch/usi/dag/disl/StaticContext.java
.../src/src-staticcontext/ch/usi/dag/disl/StaticContext.java
+6
-8
src-disl/ch/usi/dag/disl/annotation/After.java
src-disl/ch/usi/dag/disl/annotation/After.java
+1
-1
src-disl/ch/usi/dag/disl/annotation/AfterReturning.java
src-disl/ch/usi/dag/disl/annotation/AfterReturning.java
+1
-1
src-disl/ch/usi/dag/disl/annotation/AfterThrowing.java
src-disl/ch/usi/dag/disl/annotation/AfterThrowing.java
+1
-1
src-disl/ch/usi/dag/disl/annotation/ArgumentProcessor.java
src-disl/ch/usi/dag/disl/annotation/ArgumentProcessor.java
+1
-1
src-disl/ch/usi/dag/disl/annotation/Before.java
src-disl/ch/usi/dag/disl/annotation/Before.java
+1
-1
src-disl/ch/usi/dag/disl/dynamiccontext/DynamicContext.java
src-disl/ch/usi/dag/disl/dynamiccontext/DynamicContext.java
+1
-1
src-disl/ch/usi/dag/disl/guardcontext/ReflectionStaticContext.java
...ch/usi/dag/disl/guardcontext/ReflectionStaticContext.java
+1
-1
src-disl/ch/usi/dag/disl/weaver/Weaver.java
src-disl/ch/usi/dag/disl/weaver/Weaver.java
+1
-1
src-disl/ch/usi/dag/disl/weaver/WeavingCode.java
src-disl/ch/usi/dag/disl/weaver/WeavingCode.java
+2
-2
src-test/ch/usi/dag/disl/test/suite/after2/instr/DiSLClass.java
...st/ch/usi/dag/disl/test/suite/after2/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/after2/instr/NotInitNorClinit.java
...si/dag/disl/test/suite/after2/instr/NotInitNorClinit.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/after3/instr/DiSLClass.java
...st/ch/usi/dag/disl/test/suite/after3/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/afterinit2/instr/DiSLClass.java
...h/usi/dag/disl/test/suite/afterinit2/instr/DiSLClass.java
+2
-2
src-test/ch/usi/dag/disl/test/suite/args/instr/DiSLClass.java
...test/ch/usi/dag/disl/test/suite/args/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/bbmarker/instr/DiSLClass.java
.../ch/usi/dag/disl/test/suite/bbmarker/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/bytecodemarker/instr/DiSLClass.java
...i/dag/disl/test/suite/bytecodemarker/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/cflow/instr/DiSLClass.java
...est/ch/usi/dag/disl/test/suite/cflow/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/classinfo/instr/DiSLClass.java
...ch/usi/dag/disl/test/suite/classinfo/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/dispatch/instr/CodeLengthSC.java
.../usi/dag/disl/test/suite/dispatch/instr/CodeLengthSC.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/dynamiccontext/instr/DiSLClass.java
...i/dag/disl/test/suite/dynamiccontext/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/dynamicinfo/instr/DiSLClass.java
.../usi/dag/disl/test/suite/dynamicinfo/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/gettarget/instr/GetTargetAnalysis.java
...ag/disl/test/suite/gettarget/instr/GetTargetAnalysis.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/guard/instr/CodeSC.java
src-test/ch/usi/dag/disl/test/suite/guard/instr/CodeSC.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/guard/instr/DiSLClass.java
...est/ch/usi/dag/disl/test/suite/guard/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/loop/instr/DiSLClass.java
...test/ch/usi/dag/disl/test/suite/loop/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/pe/instr/DiSLClass.java
src-test/ch/usi/dag/disl/test/suite/pe/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/pe2/instr/DiSLClass.java
src-test/ch/usi/dag/disl/test/suite/pe2/instr/DiSLClass.java
+2
-2
src-test/ch/usi/dag/disl/test/suite/pe3/instr/DiSLClass.java
src-test/ch/usi/dag/disl/test/suite/pe3/instr/DiSLClass.java
+3
-3
src-test/ch/usi/dag/disl/test/suite/processor/instr/DiSLClass.java
...ch/usi/dag/disl/test/suite/processor/instr/DiSLClass.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/processor/instr/ProcessorTest.java
...si/dag/disl/test/suite/processor/instr/ProcessorTest.java
+1
-1
src-test/ch/usi/dag/disl/test/suite/staticinfo/instr/DiSLClass.java
...h/usi/dag/disl/test/suite/staticinfo/instr/DiSLClass.java
+1
-1
No files found.
.classpath
View file @
9da53e7b
...
...
@@ -17,6 +17,8 @@
<classpathentry
kind=
"src"
path=
"disl/src/src-localvar"
/>
<classpathentry
kind=
"src"
path=
"disl/src/src-scope"
/>
<classpathentry
kind=
"src"
path=
"disl-server/src"
/>
<classpathentry
kind=
"src"
path=
"disl/src/src-staticcontext"
/>
<classpathentry
kind=
"src"
path=
"disl/src/src-staticcontext-uid"
/>
<classpathentry
kind=
"con"
path=
"org.eclipse.jdt.launching.JRE_CONTAINER"
/>
<classpathentry
kind=
"lib"
path=
"output/lib/disl-bypass.jar"
/>
<classpathentry
kind=
"lib"
path=
"lib/disl/log4j.jar"
sourcepath=
"lib/devel/log4j-source.jar"
/>
...
...
build.properties
View file @
9da53e7b
...
...
@@ -18,6 +18,8 @@ src.disl.guard=src-guard
src.disl.localvar
=
src-localvar
src.disl.exception
=
src-exception
src.disl.scope
=
src-scope
src.disl.staticcontext
=
src-staticcontext
src.disl.staticcontext-uid
=
src-staticcontext-uid
src.disl.bypass
=
src-disl-bypass
src.disl.agent
=
src-disl-agent
src.shvm
=
src-shvm
...
...
build.xml
View file @
9da53e7b
...
...
@@ -485,6 +485,8 @@
<src
path=
"${src.disl.prefix}/src/${src.disl.guard}"
/>
<src
path=
"${src.disl.prefix}/src/${src.disl.scope}"
/>
<src
path=
"${src.disl.prefix}/src/${src.disl.localvar}"
/>
<src
path=
"${src.disl.prefix}/src/${src.disl.staticcontext}"
/>
<src
path=
"${src.disl.prefix}/src/${src.disl.staticcontext-uid}"
/>
<src
path=
"${src.disl.prefix}/src/${src.disl.util}"
/>
<src
path=
"${src.disl.prefix}/src/${src.disl.main}"
/>
...
...
disl/src/src-classparser/ch/usi/dag/disl/ContextKind.java
View file @
9da53e7b
...
...
@@ -9,7 +9,7 @@ import ch.usi.dag.disl.classcontext.ClassContext;
import
ch.usi.dag.disl.dynamiccontext.DynamicContext
;
import
ch.usi.dag.disl.processorcontext.ArgumentContext
;
import
ch.usi.dag.disl.processorcontext.ArgumentProcessorContext
;
import
ch.usi.dag.disl.staticcontext.StaticContext
;
public
enum
ContextKind
{
...
...
disl/src/src-classparser/ch/usi/dag/disl/IsolatedSnippetParser.java
View file @
9da53e7b
...
...
@@ -157,7 +157,7 @@ class IsolatedSnippetParser extends SnippetParser {
/**
* Recursively determine, if the given type extends one of the context types.
* Plus, if the argument extends (even transitively) the {@link
ch.usi.dag.disl.staticcontext.
StaticContext }
* Plus, if the argument extends (even transitively) the {@link StaticContext }
* load all the unloaded classes to the VM for later execution.
* @param type
* @return
...
...
disl/src/src-coderep/ch/usi/dag/disl/StaticContextMethod.java
View file @
9da53e7b
...
...
@@ -2,8 +2,6 @@ package ch.usi.dag.disl;
import
java.lang.reflect.Method
;
import
ch.usi.dag.disl.staticcontext.StaticContext
;
public
class
StaticContextMethod
{
...
...
disl/src/src-guard/ch/usi/dag/disl/GuardHelper.java
View file @
9da53e7b
...
...
@@ -9,7 +9,6 @@ import java.util.Set;
import
ch.usi.dag.disl.guardcontext.GuardContext
;
import
ch.usi.dag.disl.processor.generator.ProcMethodInstance
;
import
ch.usi.dag.disl.processorcontext.ArgumentContext
;
import
ch.usi.dag.disl.staticcontext.StaticContext
;
public
abstract
class
GuardHelper
{
...
...
disl/src/src-main/ch/usi/dag/disl/DiSL.java
View file @
9da53e7b
...
...
@@ -4,7 +4,6 @@ import ch.usi.dag.disl.processor.generator.PIResolver;
import
ch.usi.dag.disl.processor.generator.ProcGenerator
;
import
ch.usi.dag.disl.processor.generator.ProcInstance
;
import
ch.usi.dag.disl.processor.generator.ProcMethodInstance
;
import
ch.usi.dag.disl.staticcontext.generator.SCGenerator
;
import
ch.usi.dag.disl.weaver.Weaver
;
import
ch.usi.dag.util.asm.ClassNodeHelper
;
import
ch.usi.dag.util.logging.Logger
;
...
...
disl/src/src-resolver/ch/usi/dag/disl/SCResolver.java
View file @
9da53e7b
...
...
@@ -3,8 +3,6 @@ package ch.usi.dag.disl;
import
java.util.HashMap
;
import
java.util.Map
;
import
ch.usi.dag.disl.staticcontext.StaticContext
;
public
class
SCResolver
{
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/uid
/AbstractIdCalculator.java
→
disl/
src/src-staticcontext-uid/ch/usi/dag/disl
/AbstractIdCalculator.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext.uid
;
package
ch.usi.dag.disl
;
import
java.util.HashSet
;
import
java.util.Set
;
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/uid
/AbstractMethodUid.java
→
disl/
src/src-staticcontext-uid/ch/usi/dag/disl
/AbstractMethodUid.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext.uid
;
package
ch.usi.dag.disl
;
import
org.objectweb.asm.tree.ClassNode
;
import
org.objectweb.asm.tree.MethodNode
;
import
ch.usi.dag.disl.JavaNames
;
public
abstract
class
AbstractMethodUid
extends
AbstractUniqueId
{
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/uid
/AbstractUniqueId.java
→
disl/
src/src-staticcontext-uid/ch/usi/dag/disl
/AbstractUniqueId.java
View file @
9da53e7b
package
ch.usi.dag.disl.staticcontext.uid
;
import
ch.usi.dag.disl.staticcontext.AbstractStaticContext
;
package
ch.usi.dag.disl
;
public
abstract
class
AbstractUniqueId
extends
AbstractStaticContext
{
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/uid
/IdHolder.java
→
disl/
src/src-staticcontext-uid/ch/usi/dag/disl
/IdHolder.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext.uid
;
package
ch.usi.dag.disl
;
import
java.io.FileNotFoundException
;
import
java.io.PrintWriter
;
import
java.util.HashMap
;
import
java.util.Map
;
import
ch.usi.dag.disl.StaticContextException
;
// holds IDs
class
IdHolder
{
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/uid
/RandomId.java
→
disl/
src/src-staticcontext-uid/ch/usi/dag/disl
/RandomId.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext.uid
;
package
ch.usi.dag.disl
;
import
java.util.Random
;
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/uid
/RandomMethodUid.java
→
disl/
src/src-staticcontext-uid/ch/usi/dag/disl
/RandomMethodUid.java
View file @
9da53e7b
package
ch.usi.dag.disl.staticcontext.uid
;
import
ch.usi.dag.disl.staticcontext.StaticContext
;
package
ch.usi.dag.disl
;
/**
* Provides a {@link StaticContext} implementation that can be used to obtain a
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/uid
/SequenceId.java
→
disl/
src/src-staticcontext-uid/ch/usi/dag/disl
/SequenceId.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext.uid
;
package
ch.usi.dag.disl
;
public
class
SequenceId
extends
AbstractIdCalculator
{
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/uid
/SequentialMethodUid.java
→
disl/
src/src-staticcontext-uid/ch/usi/dag/disl
/SequentialMethodUid.java
View file @
9da53e7b
package
ch.usi.dag.disl.staticcontext.uid
;
import
ch.usi.dag.disl.staticcontext.StaticContext
;
package
ch.usi.dag.disl
;
/**
* Provides a {@link StaticContext} implementation that can be used to obtain a
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/uid
/UniqueMethodId.java
→
disl/
src/src-staticcontext-uid/ch/usi/dag/disl
/UniqueMethodId.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext.uid
;
package
ch.usi.dag.disl
;
/**
* This class has been deprecated in favor of the {@link RandomMethodUid} and
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/AbstractStaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/AbstractStaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl.staticcontext
;
import
ch.usi.dag.disl.Shadow
;
package
ch.usi.dag.disl
;
/**
* Provides a trivial {@link StaticContext} interface implementation, which just
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/BasicBlockStaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/BasicBlockStaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext
;
package
ch.usi.dag.disl
;
import
java.lang.ref.WeakReference
;
import
org.objectweb.asm.tree.AbstractInsnNode
;
import
org.objectweb.asm.tree.MethodNode
;
import
ch.usi.dag.disl.Insn
;
import
ch.usi.dag.disl.Logging
;
import
ch.usi.dag.disl.BasicBlock
;
import
ch.usi.dag.disl.CtrlFlowGraph
;
import
ch.usi.dag.util.logging.Logger
;
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/BytecodeStaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/BytecodeStaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext
;
package
ch.usi.dag.disl
;
/**
* Provides static context information about instrumented bytecode.
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/ClassStaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/ClassStaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext
;
package
ch.usi.dag.disl
;
import
org.objectweb.asm.Opcodes
;
import
ch.usi.dag.disl.JavaNames
;
/**
* Provides class related static context information for the method being
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/FieldAccessStaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/FieldAccessStaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext
;
package
ch.usi.dag.disl
;
import
org.objectweb.asm.tree.FieldInsnNode
;
import
ch.usi.dag.disl.marker.BytecodeMarker
;
import
ch.usi.dag.disl.JavaNames
;
/**
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/InstructionStaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/InstructionStaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext
;
package
ch.usi.dag.disl
;
import
org.objectweb.asm.tree.AbstractInsnNode
;
import
org.objectweb.asm.tree.InsnList
;
import
ch.usi.dag.disl.AsmHelper.Insns
;
import
ch.usi.dag.disl.Insn
;
/**
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/InvocationStaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/InvocationStaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext
;
package
ch.usi.dag.disl
;
import
org.objectweb.asm.Type
;
import
org.objectweb.asm.tree.MethodInsnNode
;
import
ch.usi.dag.disl.marker.BytecodeMarker
;
import
ch.usi.dag.disl.Insn
;
import
ch.usi.dag.disl.JavaNames
;
/**
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/LoopStaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/LoopStaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext
;
package
ch.usi.dag.disl
;
import
java.util.HashMap
;
import
java.util.HashSet
;
...
...
@@ -8,8 +8,6 @@ import java.util.Set;
import
org.objectweb.asm.tree.MethodNode
;
import
org.objectweb.asm.tree.TryCatchBlockNode
;
import
ch.usi.dag.disl.BasicBlock
;
import
ch.usi.dag.disl.CtrlFlowGraph
;
/**
* <b>NOTE: This class is work in progress</b>
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/MethodStaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/MethodStaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext
;
package
ch.usi.dag.disl
;
import
org.objectweb.asm.Opcodes
;
import
org.objectweb.asm.tree.ClassNode
;
import
org.objectweb.asm.tree.MethodNode
;
import
ch.usi.dag.disl.JavaNames
;
/**
* Provides method related static context information for the method being
...
...
src-
disl/
ch/usi/dag/disl/staticcontext/generator
/SCGenerator.java
→
disl/
src/src-staticcontext/ch/usi/dag/disl
/SCGenerator.java
View file @
9da53e7b
package
ch.usi.dag.disl
.staticcontext.generator
;
package
ch.usi.dag.disl
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
ch.usi.dag.disl.StaticContextMethod
;
import
ch.usi.dag.disl.ReflectionException
;
import
ch.usi.dag.disl.StaticContextGenException
;
import
ch.usi.dag.disl.SCResolver
;
import
ch.usi.dag.disl.Shadow
;
import
ch.usi.dag.disl.Snippet
;
import
ch.usi.dag.disl.staticcontext.StaticContext
;
import
ch.usi.dag.disl.JavaNames
;
public
class
SCGenerator
{
...
...
@@ -20,12 +12,12 @@ public class SCGenerator {
private
final
String
methodId
;
public
StaticContextKey
(
final
Shadow
shadow
,
final
String
methodId
)
{
StaticContextKey
(
final
Shadow
shadow
,
final
String
methodId
)
{
this
.
shadow
=
shadow
;
this
.
methodId
=
methodId
;
}
public
StaticContextKey
(
StaticContextKey
(
final
Shadow
shadow
,
final
String
className
,
final
String
methodName
)
{
this
(
shadow
,
JavaNames
.
methodName
(
className
,
methodName
));
...
...
@@ -89,7 +81,7 @@ public class SCGenerator {
// Call static context for each snippet and each marked region and create
// a static info values
public
static
SCGenerator
computeStaticInfo
(
static
SCGenerator
computeStaticInfo
(
final
Map
<
Snippet
,
List
<
Shadow
>>
snippetMarkings
)
throws
ReflectionException
,
StaticContextGenException
{
//
...
...
src-
disl/ch/usi/dag/disl
/staticcontext
/StaticContext.java
→
disl/
src/src-staticcontext/
ch/usi/dag/disl/StaticContext.java
View file @
9da53e7b
package
ch.usi.dag.disl.staticcontext
;
import
ch.usi.dag.disl.Shadow
;
package
ch.usi.dag.disl
;
/**
* <p>
...
...
@@ -9,19 +7,19 @@ import ch.usi.dag.disl.Shadow;
* There is a list of already prepared static contexts.
* <ul>
* <li>
* {@link
ch.usi.dag.disl.staticcontext.
BasicBlockStaticContext
* {@link BasicBlockStaticContext
* BasicBLockStaticContext - experimental}</li>
* <li>
* {@link
ch.usi.dag.disl.staticcontext.
BytecodeStaticContext
* {@link BytecodeStaticContext
* BytecodeStaticContext}</li>
* <li>
* {@link
ch.usi.dag.disl.staticcontext.
FieldAccessStaticContext
* {@link FieldAccessStaticContext
* FieldAccessStaticContext}</li>
* <li>
* {@link
ch.usi.dag.disl.staticcontext.
MethodStaticContext
* {@link MethodStaticContext
* MethodStaticContext}</li>
* <li>
* {@link
ch.usi.dag.disl.staticcontext.
LoopStaticContext
* {@link LoopStaticContext
* LoopStaticContext - experimental}</li>
* </ul>
* <p>
...
...
src-disl/ch/usi/dag/disl/annotation/After.java
View file @
9da53e7b
...
...
@@ -8,7 +8,7 @@ import ch.usi.dag.disl.classcontext.ClassContext;
import
ch.usi.dag.disl.dynamiccontext.DynamicContext
;
import
ch.usi.dag.disl.marker.Marker
;
import
ch.usi.dag.disl.processorcontext.ArgumentProcessorContext
;
import
ch.usi.dag.disl.
staticcontext.
StaticContext
;
import
ch.usi.dag.disl.StaticContext
;
/**
...
...
src-disl/ch/usi/dag/disl/annotation/AfterReturning.java
View file @
9da53e7b
...
...
@@ -8,7 +8,7 @@ import ch.usi.dag.disl.classcontext.ClassContext;
import
ch.usi.dag.disl.dynamiccontext.DynamicContext
;
import
ch.usi.dag.disl.marker.Marker
;
import
ch.usi.dag.disl.processorcontext.ArgumentProcessorContext
;
import
ch.usi.dag.disl.
staticcontext.
StaticContext
;
import
ch.usi.dag.disl.StaticContext
;
/**
...
...
src-disl/ch/usi/dag/disl/annotation/AfterThrowing.java
View file @
9da53e7b
...
...
@@ -8,7 +8,7 @@ import ch.usi.dag.disl.classcontext.ClassContext;
import
ch.usi.dag.disl.dynamiccontext.DynamicContext
;
import
ch.usi.dag.disl.marker.Marker
;
import
ch.usi.dag.disl.processorcontext.ArgumentProcessorContext
;
import
ch.usi.dag.disl.
staticcontext.
StaticContext
;
import
ch.usi.dag.disl.StaticContext
;
/**
...
...
src-disl/ch/usi/dag/disl/annotation/ArgumentProcessor.java
View file @
9da53e7b
...
...
@@ -7,7 +7,7 @@ import java.lang.annotation.Target;
import
ch.usi.dag.disl.classcontext.ClassContext
;
import
ch.usi.dag.disl.dynamiccontext.DynamicContext
;
import
ch.usi.dag.disl.processorcontext.ArgumentContext
;
import
ch.usi.dag.disl.
staticcontext.
StaticContext
;
import
ch.usi.dag.disl.StaticContext
;
/**
...
...
src-disl/ch/usi/dag/disl/annotation/Before.java
View file @
9da53e7b
...
...
@@ -8,7 +8,7 @@ import ch.usi.dag.disl.classcontext.ClassContext;
import
ch.usi.dag.disl.dynamiccontext.DynamicContext
;
import
ch.usi.dag.disl.marker.Marker
;
import
ch.usi.dag.disl.processorcontext.ArgumentProcessorContext
;
import
ch.usi.dag.disl.
staticcontext.
StaticContext
;
import
ch.usi.dag.disl.StaticContext
;
/**
...
...
src-disl/ch/usi/dag/disl/dynamiccontext/DynamicContext.java
View file @
9da53e7b
...
...
@@ -2,7 +2,7 @@ package ch.usi.dag.disl.dynamiccontext;
import
ch.usi.dag.disl.annotation.After
;
import
ch.usi.dag.disl.annotation.AfterThrowing
;
import
ch.usi.dag.disl.
staticcontext.
FieldAccessStaticContext
;
import
ch.usi.dag.disl.FieldAccessStaticContext
;
/**
...
...
src-disl/ch/usi/dag/disl/guardcontext/ReflectionStaticContext.java
View file @
9da53e7b
...
...
@@ -5,7 +5,7 @@ import org.objectweb.asm.tree.MethodNode;
import
ch.usi.dag.disl.Reflection
;
import
ch.usi.dag.disl.Reflection.Class
;
import
ch.usi.dag.disl.Reflection.Method
;
import
ch.usi.dag.disl.
staticcontext.
AbstractStaticContext
;
import
ch.usi.dag.disl.AbstractStaticContext
;
/**
...
...
src-disl/ch/usi/dag/disl/weaver/Weaver.java
View file @
9da53e7b
...
...
@@ -28,7 +28,7 @@ import ch.usi.dag.disl.Shadow;
import
ch.usi.dag.disl.Shadow.WeavingRegion
;
import
ch.usi.dag.disl.Snippet
;
import
ch.usi.dag.disl.SnippetCode
;
import
ch.usi.dag.disl.
staticcontext.generator.
SCGenerator
;
import
ch.usi.dag.disl.SCGenerator
;
import
ch.usi.dag.disl.AsmHelper
;
import
ch.usi.dag.disl.AsmHelper.Insns
;
import
ch.usi.dag.disl.CodeTransformer
;
...
...
src-disl/ch/usi/dag/disl/weaver/WeavingCode.java
View file @
9da53e7b
...
...
@@ -33,8 +33,8 @@ import ch.usi.dag.disl.processorcontext.ArgumentProcessorMode;
import
ch.usi.dag.disl.Shadow
;
import
ch.usi.dag.disl.Snippet
;
import
ch.usi.dag.disl.SnippetCode
;
import
ch.usi.dag.disl.
staticcontext.
StaticContext
;
import
ch.usi.dag.disl.
staticcontext.generator.
SCGenerator
;
import
ch.usi.dag.disl.StaticContext
;
import
ch.usi.dag.disl.SCGenerator
;
import
ch.usi.dag.disl.AsmHelper
;
import
ch.usi.dag.disl.AsmHelper.Insns
;
import
ch.usi.dag.disl.FrameHelper
;
...
...
src-test/ch/usi/dag/disl/test/suite/after2/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -6,7 +6,7 @@ import ch.usi.dag.disl.annotation.After;
import
ch.usi.dag.disl.annotation.Before
;
import
ch.usi.dag.disl.annotation.ThreadLocal
;
import
ch.usi.dag.disl.marker.BodyMarker
;
import
ch.usi.dag.disl.
staticcontext.uid.
RandomMethodUid
;
import
ch.usi.dag.disl.RandomMethodUid
;
import
ch.usi.dag.disl.test.suite.after2.instr.runtime.Analysis
;
public
class
DiSLClass
{
...
...
src-test/ch/usi/dag/disl/test/suite/after2/instr/NotInitNorClinit.java
View file @
9da53e7b
package
ch.usi.dag.disl.test.suite.after2.instr
;
import
ch.usi.dag.disl.annotation.GuardMethod
;
import
ch.usi.dag.disl.
staticcontext.
MethodStaticContext
;
import
ch.usi.dag.disl.MethodStaticContext
;
public
class
NotInitNorClinit
{
...
...
src-test/ch/usi/dag/disl/test/suite/after3/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -3,7 +3,7 @@ package ch.usi.dag.disl.test.suite.after3.instr;
import
ch.usi.dag.disl.annotation.AfterReturning
;
import
ch.usi.dag.disl.annotation.AfterThrowing
;
import
ch.usi.dag.disl.marker.BodyMarker
;
import
ch.usi.dag.disl.
staticcontext.
MethodStaticContext
;
import
ch.usi.dag.disl.MethodStaticContext
;
public
class
DiSLClass
{
...
...
src-test/ch/usi/dag/disl/test/suite/afterinit2/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -3,8 +3,8 @@ package ch.usi.dag.disl.test.suite.afterinit2.instr;
import
ch.usi.dag.disl.annotation.After
;
import
ch.usi.dag.disl.annotation.Before
;
import
ch.usi.dag.disl.marker.AfterInitBodyMarker
;
import
ch.usi.dag.disl.
staticcontext.
ClassStaticContext
;
import
ch.usi.dag.disl.
staticcontext.
MethodStaticContext
;
import
ch.usi.dag.disl.ClassStaticContext
;
import
ch.usi.dag.disl.MethodStaticContext
;
public
class
DiSLClass
{
...
...
src-test/ch/usi/dag/disl/test/suite/args/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -4,7 +4,7 @@ import ch.usi.dag.disl.annotation.AfterReturning;
import
ch.usi.dag.disl.marker.BodyMarker
;
import
ch.usi.dag.disl.processorcontext.ArgumentProcessorContext
;
import
ch.usi.dag.disl.processorcontext.ArgumentProcessorMode
;
import
ch.usi.dag.disl.
staticcontext.
MethodStaticContext
;
import
ch.usi.dag.disl.MethodStaticContext
;
public
class
DiSLClass
{
...
...
src-test/ch/usi/dag/disl/test/suite/bbmarker/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -4,7 +4,7 @@ import ch.usi.dag.disl.annotation.AfterReturning;
import
ch.usi.dag.disl.annotation.Before
;
import
ch.usi.dag.disl.marker.BasicBlockMarker
;
import
ch.usi.dag.disl.marker.PreciseBasicBlockMarker
;
import
ch.usi.dag.disl.
staticcontext.
BasicBlockStaticContext
;
import
ch.usi.dag.disl.BasicBlockStaticContext
;
public
class
DiSLClass
{
...
...
src-test/ch/usi/dag/disl/test/suite/bytecodemarker/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -2,7 +2,7 @@ package ch.usi.dag.disl.test.suite.bytecodemarker.instr;
import
ch.usi.dag.disl.annotation.Before
;
import
ch.usi.dag.disl.marker.BytecodeMarker
;
import
ch.usi.dag.disl.
staticcontext.
InstructionStaticContext
;
import
ch.usi.dag.disl.InstructionStaticContext
;
public
class
DiSLClass
{
...
...
src-test/ch/usi/dag/disl/test/suite/cflow/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -4,7 +4,7 @@ import ch.usi.dag.disl.annotation.Before;
import
ch.usi.dag.disl.annotation.After
;
import
ch.usi.dag.disl.annotation.ThreadLocal
;
import
ch.usi.dag.disl.marker.BodyMarker
;
import
ch.usi.dag.disl.
staticcontext.
MethodStaticContext
;
import
ch.usi.dag.disl.MethodStaticContext
;
public
class
DiSLClass
{
...
...
src-test/ch/usi/dag/disl/test/suite/classinfo/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -2,7 +2,7 @@ package ch.usi.dag.disl.test.suite.classinfo.instr;
import
ch.usi.dag.disl.annotation.Before
;
import
ch.usi.dag.disl.marker.BodyMarker
;
import
ch.usi.dag.disl.
staticcontext.
ClassStaticContext
;
import
ch.usi.dag.disl.ClassStaticContext
;
public
class
DiSLClass
{
...
...
src-test/ch/usi/dag/disl/test/suite/dispatch/instr/CodeLengthSC.java
View file @
9da53e7b
...
...
@@ -2,7 +2,7 @@ package ch.usi.dag.disl.test.suite.dispatch.instr;
import
org.objectweb.asm.tree.AbstractInsnNode
;
import
ch.usi.dag.disl.
staticcontext.
AbstractStaticContext
;
import
ch.usi.dag.disl.AbstractStaticContext
;
public
class
CodeLengthSC
extends
AbstractStaticContext
{
...
...
src-test/ch/usi/dag/disl/test/suite/dynamiccontext/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -4,7 +4,7 @@ import ch.usi.dag.disl.annotation.AfterReturning;
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.
FieldAccessStaticContext
;
import
ch.usi.dag.disl.FieldAccessStaticContext
;
import
ch.usi.dag.disl.test.suite.dynamiccontext.app.TargetClass
;
...
...
src-test/ch/usi/dag/disl/test/suite/dynamicinfo/instr/DiSLClass.java
View file @
9da53e7b
...
...
@@ -5,7 +5,7 @@ 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
ch.usi.dag.disl.MethodStaticContext
;
public
class
DiSLClass
{
...
...
src-test/ch/usi/dag/disl/test/suite/gettarget/instr/GetTargetAnalysis.java
View file @
9da53e7b
...
...
@@ -5,7 +5,7 @@ import org.objectweb.asm.Type;
import
org.objectweb.asm.tree.AbstractInsnNode
;
import
org.objectweb.asm.tree.MethodInsnNode
;
import
ch.usi.dag.disl.
staticcontext.
AbstractStaticContext
;
import
ch.usi.dag.disl.AbstractStaticContext
;