123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- int compile_udp_poll(int retreg, Cell* args) {
- jit_prepare();
- jit_finishi(machine_poll_udp);
- jit_retval(retreg);
-
- return 1;
- }
- int compile_udp_send(int retreg, Cell* args) {
- jit_prepare();
- compile_arg(JIT_R0, car(args), TAG_ANY);
- jit_pushargr(JIT_R0);
- jit_finishi(machine_send_udp);
- jit_retval(retreg);
-
- return 1;
- }
- int compile_tcp_connect(int retreg, Cell* args) {
- // Cell* machine_connect_tcp(Cell* host_cell, Cell* port_cell, Cell* connected_fn_cell, Cell* data_fn_cell);
-
- compile_arg(JIT_R0, car(cdr(cdr(cdr(args)))), TAG_ANY);
- stack_push(JIT_R0, &stack_ptr);
- compile_arg(JIT_R0, car(cdr(cdr(args))), TAG_ANY);
- stack_push(JIT_R0, &stack_ptr);
- compile_arg(JIT_R0, car(cdr(args)), TAG_ANY);
- stack_push(JIT_R0, &stack_ptr);
- compile_arg(JIT_R0, car(args), TAG_ANY);
-
- jit_prepare();
- jit_pushargr(JIT_R0);
- stack_pop(JIT_R0, &stack_ptr);
- jit_pushargr(JIT_R0);
- stack_pop(JIT_R0, &stack_ptr);
- jit_pushargr(JIT_R0);
- stack_pop(JIT_R0, &stack_ptr);
- jit_pushargr(JIT_R0);
- jit_finishi(machine_connect_tcp);
- jit_retval(retreg);
-
- return 1;
- }
- int compile_tcp_bind(int retreg, Cell* args) {
- jit_prepare();
- compile_arg(JIT_R0, car(args), TAG_ANY);
- jit_pushargr(JIT_R0);
- compile_arg(JIT_R0, car(cdr(args)), TAG_ANY);
- jit_pushargr(JIT_R0);
- jit_finishi(machine_bind_tcp);
- jit_retval(retreg);
-
- return 1;
- }
- int compile_tcp_send(int retreg, Cell* args) {
- compile_arg(JIT_R0, car(args), TAG_ANY);
-
- jit_prepare();
- jit_pushargr(JIT_R0);
- jit_finishi(machine_send_tcp);
- jit_retval(retreg);
- return 1;
- }
|