Commit 202f0f19 authored by Julian Kranz's avatar Julian Kranz
Browse files

Liveness

parent e2b2af9d
......@@ -8,7 +8,7 @@
#include <sys/resource.h>
int main (int argc, char** argv) {
const rlim_t kStackSize = 64L * 1024L * 1024L; // min stack size = 64 Mb
const rlim_t kStackSize = 512L * 1024L * 1024L; // min stack size = 64 Mb
struct rlimit rl;
int result;
......@@ -65,14 +65,14 @@ int main (int argc, char** argv) {
__obj greedy = __runMonadicOneArg(__liveness__, &state, stack);
__obj insns = __RECORD_SELECT(state, ___live);
//__obj r = __translate(__translate__,insn);
if(___isNil(greedy))
__fatal("Translate failed");
else {
// if(___isNil(greedy))
// __fatal("Translate failed");
// else {
__pretty(__lv_pretty__,greedy,fmt_state,size);
__pretty(__rreil_pretty__,stack,fmt,size);
__pretty(__rreil_pretty__,insns,fmt,size);
puts(fmt_state);
puts(fmt);
}
// }
}
......
......@@ -2197,7 +2197,6 @@ val transInstr = do
end
val transBlock = do
update@{stack=SEM_NIL,foundJump='0'};
transInstr;
jmp <- query $foundJump;
ic <- query $ins_count;
......@@ -2206,6 +2205,7 @@ end
val translateBlock = do
update @{ins_count=0,mode64='1'};
update@{stack=SEM_NIL,foundJump='0'};
# the type checker is seriously broken when it comes to infinite recursion,
# I cannot as of yet reproduce this bug
update @{ptrsz=0, reg/opcode='000', rm='000', mod='00', vexm='00001', vexv='0000', vexl='0', vexw='0'};
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment