Calling Conventions
The native calling convention is designed for fast non-generic calls. It usually uses a specialized signature.
- LLVM ghosts (zero-length types) are omitted.
- LLVM scalars and vectors are passed by value.
An argument or return values that is a homogeneous tuple is sometimes represented as an LLVM vector instead of an LLVM array.
- - Julia representation of function that is being applied
args
- pointer to array of pointers to boxes
The return value is a pointer to a box.
Tuples are always represented as C arrays.