Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
DiSL
DiSL
Commits
a016d51c
Commit
a016d51c
authored
Feb 15, 2012
by
Lukáš Marek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Skeleton for remote dispatch object
parent
9939566f
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
104 additions
and
28 deletions
+104
-28
.classpath
.classpath
+1
-0
build.properties
build.properties
+2
-1
build.xml
build.xml
+31
-19
runClient.sh
runClient.sh
+1
-1
runREServer.sh
runREServer.sh
+2
-3
src-re-agent/Makefile.local
src-re-agent/Makefile.local
+0
-4
src-re-agent/dislreagent.c
src-re-agent/dislreagent.c
+10
-0
src-re-agent/dislreagent.h
src-re-agent/dislreagent.h
+16
-0
src-re-disp/ch/usi/dag/dislre/REDispatch.java
src-re-disp/ch/usi/dag/dislre/REDispatch.java
+14
-0
src-test/ch/usi/dag/disl/test/dispatch/DiSLClass.java
src-test/ch/usi/dag/disl/test/dispatch/DiSLClass.java
+13
-0
src-test/ch/usi/dag/disl/test/dispatch/MANIFEST.MF
src-test/ch/usi/dag/disl/test/dispatch/MANIFEST.MF
+2
-0
src-test/ch/usi/dag/disl/test/dispatch/TargetClass.java
src-test/ch/usi/dag/disl/test/dispatch/TargetClass.java
+12
-0
No files found.
.classpath
View file @
a016d51c
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry
kind=
"src"
path=
"src"
/>
<classpathentry
kind=
"src"
path=
"src-re-disp"
/>
<classpathentry
kind=
"src"
path=
"src-re-server"
/>
<classpathentry
kind=
"src"
path=
"src-agent-java"
/>
<classpathentry
kind=
"src"
path=
"src-test"
/>
...
...
build.properties
View file @
a016d51c
...
...
@@ -5,7 +5,8 @@ src.disl=src
src.dynbypass
=
src-dynbypass
src.dynbypass.act
=
src-dynbypass-act
src.agent.java
=
src-agent-java
src.dislre
=
src-re-server
src.dislre.server
=
src-re-server
src.dislre.dispatch
=
src-re-disp
src.test
=
src-test
bin
=
bin
...
...
build.xml
View file @
a016d51c
...
...
@@ -47,8 +47,14 @@
</javac>
</target>
<target
name=
"compile-dislre"
>
<javac
srcdir=
"${src.dislre}"
destdir=
"${bin}"
debug=
"true"
includeAntRuntime=
"false"
>
<target
name=
"compile-dislre-server"
>
<javac
srcdir=
"${src.dislre.server}"
destdir=
"${bin}"
debug=
"true"
includeAntRuntime=
"false"
>
<classpath
refid=
"buildpath"
/>
</javac>
</target>
<target
name=
"compile-dislre-dispatch"
>
<javac
srcdir=
"${src.dislre.dispatch}"
destdir=
"${bin}"
debug=
"true"
includeAntRuntime=
"false"
>
<classpath
refid=
"buildpath"
/>
</javac>
</target>
...
...
@@ -59,27 +65,16 @@
</javac>
</target>
<target
name=
"compile"
depends=
"compile-disl,compile-agent-java,compile-test,compile-dislre"
/>
<target
name=
"compile"
depends=
"compile-disl,compile-agent-java,compile-test,compile-dislre
-server,compile-dislre-dispatch
"
/>
<target
name=
"package-dislserver"
depends=
"compile-disl"
>
<jar
basedir=
"${bin}"
destfile=
"${build}/dislserver-${disl.version}.jar"
includes=
"ch/usi/dag/disl/**,ch/usi/dag/dislserver/**"
excludes=
"ch/usi/dag/disl/test/**,ch/usi/dag/disl/testtools/**"
>
<manifest>
<attribute
name=
"Class-Path"
value=
"${asm.lib} ${instr.jar.name}"
/>
<attribute
name=
"Main-Class"
value=
"ch.usi.dag.dislserver.DiSLServer"
/>
</manifest>
</jar>
</target>
<target
name=
"package-dislreserver"
depends=
"compile-dislre"
>
<jar
basedir=
"${bin}"
destfile=
"${build}/dislreserver-${disl.version}.jar"
includes=
"ch/usi/dag/dislreserver/**"
>
<manifest>
<attribute
name=
"Class-Path"
value=
"${asm.lib} ${instr.jar.name}"
/>
<attribute
name=
"Main-Class"
value=
"ch.usi.dag.disl
re
server.DiSL
RE
Server"
/>
<attribute
name=
"Main-Class"
value=
"ch.usi.dag.dislserver.DiSLServer"
/>
</manifest>
</jar>
</target>
...
...
@@ -96,10 +91,10 @@
<!-- rename after bootstrap class -->
<move
file=
"${build.afterbootstrap}/ch/usi/dag/disl/dynamicbypass/DynamicBypassCheck.class"
tofile=
"${build.afterbootstrap}/DynamicBypassCheck-AfterBootstrap.class"
/>
<jar
basedir=
"${bin}"
destfile=
"${build}/dislagent-${disl.version}.jar"
includes=
"ch/usi/dag/dislagent/**,ch/usi/dag/disl/dynamicbypass/**"
>
<manifest>
<attribute
name=
"Class-Path"
value=
"${instr.jar.name}"
/>
<attribute
name=
"Premain-Class"
value=
"ch.usi.dag.dislagent.DiSLAgent"
/>
...
...
@@ -114,7 +109,24 @@
<delete
dir=
"${build.afterbootstrap}"
/>
</target>
<target
name=
"package"
depends=
"package-dislserver,package-dislagent-java,package-dislreserver"
/>
<target
name=
"package-dislre-server"
depends=
"compile-dislre-server"
>
<jar
basedir=
"${bin}"
destfile=
"${build}/dislre-server-${disl.version}.jar"
includes=
"ch/usi/dag/dislreserver/**"
>
<manifest>
<attribute
name=
"Class-Path"
value=
"${asm.lib} ${instr.jar.name}"
/>
<attribute
name=
"Main-Class"
value=
"ch.usi.dag.dislreserver.DiSLREServer"
/>
</manifest>
</jar>
</target>
<target
name=
"package-dislre-dispatch"
depends=
"compile-dislre-dispatch"
>
<jar
basedir=
"${bin}"
destfile=
"${build}/dislre-dispatch-${disl.version}.jar"
includes=
"ch/usi/dag/dislre/**"
>
</jar>
</target>
<target
name=
"package"
depends=
"package-dislserver,package-dislagent-java,package-dislre-server,package-dislre-dispatch"
/>
<target
name=
"eclipse-agent"
description=
"creates simple agent jar file for eclipse"
>
<mkdir
dir=
"build"
/>
...
...
@@ -127,7 +139,7 @@
<target
name=
"eclipse-dynamicbypass"
depends=
"compile-dynamicbypass"
description=
"creates support library for DiSL development under eclipse"
>
<jar
basedir=
"${bin}"
destfile=
"${build}/eclipse-dynamicbypass.jar"
includes=
"ch/usi/dag/disl/dynamicbypass/"
/>
</target>
...
...
runClient.sh
View file @
a016d51c
...
...
@@ -15,6 +15,6 @@ fi
java
-agentpath
:
${
C_AGENT
}
\
-agentpath
:
${
RE_AGENT
}
\
-javaagent
:build/dislagent-unspec.jar
\
-Xbootclasspath
/a:build/dislagent-unspec.jar:build/dislinstr.jar
\
-Xbootclasspath
/a:build/dislagent-unspec.jar:build/dislinstr.jar
:build/dislre-dispatch-unspec.jar
\
-cp
bin/
\
$*
runREServer.sh
View file @
a016d51c
...
...
@@ -4,9 +4,8 @@
# -Ddebug=true \
# -Ddislserver.port="portNum" \
java
-Ddebug
=
true
\
$*
\
-jar
build/dislreserver-unspec.jar
\
java
$*
\
-jar
build/dislre-server-unspec.jar
\
&
echo
$!
>
re_
${
SERVER_FILE
}
src-re-agent/Makefile.local
deleted
100644 → 0
View file @
9939566f
# rename this file to Makefile.local to take effect
# if variable is not defined autodetection or default is used
JAVA_HOME
=
/etc/alternatives/java_sdk/
src-re-agent/dislreagent.c
View file @
a016d51c
...
...
@@ -487,3 +487,13 @@ JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved)
return
0
;
}
// ******************* REDispatch methods *******************
JNIEXPORT
void
JNICALL
Java_ch_usi_dag_dislre_REDispatch_analyse
(
JNIEnv
*
jni_env
,
jclass
this_class
,
jint
objID
,
jint
methodID
,
jobjectArray
args
)
{
// TODO create send method for each basic type
printf
(
"I'm here
\n
"
);
}
src-re-agent/dislreagent.h
View file @
a016d51c
...
...
@@ -13,5 +13,21 @@ JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *jvm, char *options, void *reserved);
}
#endif
// ******************* REDispatch methods *******************
#ifdef __cplusplus
extern
"C"
{
#endif
/*
* Class: ch_usi_dag_dislre_REDispatch
* Method: analyse
* Signature: (II[Ljava/lang/Object;)V
*/
JNIEXPORT
void
JNICALL
Java_ch_usi_dag_dislre_REDispatch_analyse
(
JNIEnv
*
,
jclass
,
jint
,
jint
,
jobjectArray
);
#ifdef __cplusplus
}
#endif
#endif
/* _DISLAGENT_H */
src-re-disp/ch/usi/dag/dislre/REDispatch.java
0 → 100644
View file @
a016d51c
package
ch.usi.dag.dislre
;
public
class
REDispatch
{
// TODO remove
public
static
native
void
analyse
(
int
analysisID
,
int
methodID
,
Object
...
args
);
// TODO uncomment
/*
public static native void analyse(int analysisID, int methodID);
// TODO all basic types in jni
public static native void sendInt(int intToSend);
*/
}
src-test/ch/usi/dag/disl/test/dispatch/DiSLClass.java
0 → 100644
View file @
a016d51c
package
ch.usi.dag.disl.test.dispatch
;
import
ch.usi.dag.disl.annotation.After
;
import
ch.usi.dag.disl.marker.BodyMarker
;
import
ch.usi.dag.dislre.REDispatch
;
public
class
DiSLClass
{
@After
(
marker
=
BodyMarker
.
class
,
scope
=
"TargetClass.empty"
,
order
=
0
)
public
static
void
emptypostcondition
()
{
REDispatch
.
analyse
(
1
,
1
);
}
}
src-test/ch/usi/dag/disl/test/dispatch/MANIFEST.MF
0 → 100644
View file @
a016d51c
Manifest-Version: 1.0
DiSL-Classes: ch.usi.dag.disl.test.dispatch.DiSLClass
\ No newline at end of file
src-test/ch/usi/dag/disl/test/dispatch/TargetClass.java
0 → 100644
View file @
a016d51c
package
ch.usi.dag.disl.test.dispatch
;
public
class
TargetClass
{
public
void
empty
()
{
}
public
static
void
main
(
String
[]
args
)
{
TargetClass
t
=
new
TargetClass
();
t
.
empty
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment