|
|
@@ -234,14 +234,15 @@ gold() { |
|
|
#
|
|
|
|
|
|
fib-dis() {
|
|
|
local pyc=_tmp/fibonacci.pyc
|
|
|
../bin/opyc compile gold/fibonacci.py $pyc
|
|
|
local py=${1:-gold/fib_iterative.py}
|
|
|
local pyc=_tmp/fib_iterative.pyc
|
|
|
../bin/opyc compile $py $pyc
|
|
|
../bin/opyc dis $pyc
|
|
|
}
|
|
|
|
|
|
# TODO: Show graph output
|
|
|
fib-cfg() {
|
|
|
../bin/opyc cfg gold/fibonacci.py
|
|
|
../bin/opyc cfg gold/fib_iterative.py
|
|
|
}
|
|
|
|
|
|
# TODO: Move this to the OVM dir
|
|
|
@@ -258,20 +259,37 @@ run-ovm() { |
|
|
}
|
|
|
|
|
|
fib-ovm-prototype() {
|
|
|
local bytecode=_tmp/fibonacci.bytecode
|
|
|
VM_SUMMARY=1 ../bin/opyc run-ovm gold/fibonacci.py
|
|
|
local py=${1:-gold/fib_iterative.py}
|
|
|
#local bytecode=_tmp/$(basename $py .py).bytecode
|
|
|
VM_SUMMARY=1 ../bin/opyc run-ovm $py
|
|
|
}
|
|
|
|
|
|
fib-ovm-native() {
|
|
|
local bytecode=_tmp/fibonacci.bytecode
|
|
|
../bin/opyc compile-ovm gold/fibonacci.py $bytecode
|
|
|
local bytecode=_tmp/fib_iterative.bytecode
|
|
|
../bin/opyc compile-ovm gold/fib_iterative.py $bytecode
|
|
|
run-ovm $bytecode
|
|
|
}
|
|
|
|
|
|
compare-compiler() {
|
|
|
../bin/opyc compile gold/fib_iterative.py _tmp/c2.pyc
|
|
|
../bin/opyc compile-ovm gold/fib_iterative.py _tmp/ovm.pyc
|
|
|
ls -l _tmp/{c2,ovm}.pyc
|
|
|
../bin/opyc dis-md5 _tmp/c2.pyc
|
|
|
../bin/opyc dis-md5 _tmp/ovm.pyc
|
|
|
|
|
|
../bin/opyc dis _tmp/c2.pyc > _tmp/c2.txt
|
|
|
../bin/opyc dis _tmp/ovm.pyc > _tmp/ovm.txt
|
|
|
diff -u _tmp/{c2,ovm}.txt
|
|
|
}
|
|
|
|
|
|
fib-byterun() {
|
|
|
local bytecode=_tmp/fibonacci.pyc
|
|
|
../bin/opyc compile gold/fibonacci.py $bytecode
|
|
|
local bytecode=_tmp/fib_iterative.pyc
|
|
|
../bin/opyc compile gold/fib_iterative.py $bytecode
|
|
|
BYTERUN_SUMMARY=1 ../bin/opyc run $bytecode
|
|
|
}
|
|
|
|
|
|
fib-callgraph() {
|
|
|
PYTHONPATH=.. CALLGRAPH=1 gold/fib_recursive.py
|
|
|
}
|
|
|
|
|
|
"$@"
|