Lines Matching refs:function

57                    rbx, rbp, rdi, rsi, rsp, r12-r15 are saved by the called function.
59 ebx, edi, esi, ebp and esp are saved by the called function.
330 CallAddress(RegisterArg entryPtrReg), (* Call the function *)
338 (* Since this is an ML function we need to remove any ML stack arguments. *)
403 version we make this a function. *)
456 (* Build a foreign call function. The arguments are the abi, the list of argument types and the result type.
457 The result is the code of the ML function that takes three arguments: the C function to call, the arguments
484 | (CTypeVoid, _) => raise Foreign.Foreign "Void cannot be used for a function argument"
560 (* Adjustment to be made when the function returns. Stdcall resets the stack in the callee. *)
604 ML function. *)
620 raise Foreign.Foreign "Void cannot be used for a function argument"
702 (* Move the function address in eax into esi since that's a callee-save register. *)
727 (* Call the ML function using the full closure call. *)
826 copied into new areas on the stack. This ensures that the called function
844 | _ => raise Foreign.Foreign "Unrecognised type for function argument"
937 (* Call the function. We're discarding the value in rsp so no need to remove args. *)
1018 | _ => raise Foreign.Foreign "Unrecognised type for function argument"
1083 (* Move the function we're calling, in rax, into r13, a callee-save register *)
1101 (* Now move the function closure into the closure register ready for the call. *)
1115 (* Call the ML function using the full closure call. *)
1170 CTypeVoid => raise Foreign.Foreign "Void cannot be used for a function argument"
1437 (* Call the function. We're discarding the value in rsp so no need to remove args. *)
1593 (* Move the function we're calling, in rax, into r13, a callee-save register *)
1609 (* Now move the function closure into the closure register ready for the call. *)
1623 (* Call the ML function using the full closure call. *)
1665 (* Build a callback function. The arguments are the abi, the list of argument types and the result type.
1666 The result is an ML function that takes an ML function, f, as its argument, registers it as a callback and
1667 returns the C function as its result. When the C function is called the arguments are copied into
1693 (* Generate a small function to load the address of f into rax/eax and then jump to stage2.