beast:irken rushing$ self/backend
-- reader --
(((lambda (x y) x) 3 4))
-- macros --
((function lambda (x y) x) 3 4)
-- node tree --
5 call
2 function lambda (x y)
1 varref x
1 literal {u1 3}
1 literal {u1 4}
-- RTL --
0 env 2
1 lit {u1 3}
- stor 1 1 0 0
1 lit {u1 4}
0 stor 1 1 0 1
1 close lambda
0 ref 0 0
- ret 0
0 tail 1 0
- ret 0
-- C output --
r0 = allocate (TC_TUPLE, 3);
r1 = (object *) 7;
r0[2] = r1;
r1 = (object *) 9;
r0[3] = r1;
// def lambda
goto L0;
FUN_lambda:
r0 = varref (0, 0);
PXLL_RETURN(0);
L0:
r1 = allocate (TC_CLOSURE, 2);
r1[1] = &&FUN_lambda; r1 = lenv;
r0[1] = r1[2]; lenv = r0; goto *r1;
PXLL_RETURN(0);
#u
{total ticks: 1870544 gc ticks: 0}
Friday, January 14, 2011
progress on self-hosting
Making excellent progress on self-hosting. Today the baby irken compiler spat up its first real code:
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment