-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrun-pascal
executable file
·28 lines (24 loc) · 1.27 KB
/
run-pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env bash
JAVACMD=${JAVACMD:=./graalvm/bin/java}
PROGRAM_ARGS=""
JAVA_ARGS=" -Dgraal.MaximumEscapeAnalysisArrayLength=128 -Dgraal.TruffleOSRCompilationThreshold=1000 -Dgraal.TruffleCompilationThreshold=2 -Dgraal.TruffleMinInvokeThreshold=2 "
for opt in "$@"
do
case $opt in
-trace)
JAVA_ARGS="$JAVA_ARGS -Dgraal.TraceTruffleCompilation=true" ;;
-debug)
JAVA_ARGS="$JAVA_ARGS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y" ;;
-dump)
JAVA_ARGS="$JAVA_ARGS -Dgraal.Dump= -Dgraal.MethodFilter=Truffle.* -Dgraal.TruffleBackgroundCompilation=false -Dgraal.TraceTruffleCompilation=true -Dgraal.TraceTruffleCompilationDetails=true" ;;
-disassemble)
JAVA_ARGS="$JAVA_ARGS -XX:CompileCommand=print,*OptimizedCallTarget.callRoot -XX:CompileCommand=exclude,*OptimizedCallTarget.callRoot -Dgraal.TruffleBackgroundCompilation=false -Dgraal.TraceTruffleCompilation=true -Dgraal.TraceTruffleCompilationDetails=true" ;;
-J*)
opt=${opt:2}
JAVA_ARGS="$JAVA_ARGS $opt" ;;
*)
PROGRAM_ARGS="$PROGRAM_ARGS $opt" ;;
esac
done
echo "$JAVACMD $JAVA_ARGS -polyglot -cp ./target/classes com.oracle.truffle.bf.BFMain $PROGRAM_ARGS"
$JAVACMD $JAVA_ARGS -polyglot -jar pascal/target/pascal-0.1-SNAPSHOT.jar $PROGRAM_ARGS