Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- and lambda_opt_maker_helper e = (function
- | (args_num, counter) -> counter := !counter + 1; (*line 403 is redundent*)
- (Printf.sprintf
- "mov r8, [rbp+24] ; num of args in applic\n
- mov rcx, r8\n
- inc rcx\n; plus one for magic
- sub rcx, %d\n ; substitute the num of args in opt
- cmp rcx, 0 ; num of args in opt = minimum number of args\n
- jle end_of_cont%d\n
- add r8, 4\n
- opt_loop%d:\n
- dec r8\n
- mov r9, [rbp +WORD_SIZE*(r8+1)]\n
- mov r10, [rbp+ WORD_SIZE*r8]\n
- MAKE_PAIR (rax, r10, r9)\n
- mov [rbp + WORD_SIZE*r8], rax\n
- loop opt_loop%d, rcx\n
- end_of_cont%d:\n" args_num !counter !counter !counter !counter)
- )e;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement