调用约定
Julia使用三个调用约定来实现四个不同的目的:
| 姓名 | 前缀 | 目的 |
|---|---|---|
土着人 |
|
通过专用签名加快速度 |
JL呼叫 |
|
泛型调用的包装器 |
JL呼叫 |
|
建造工程 |
C ABI |
|
可从C调用的包装器 |
朱莉娅本地呼叫公约
本机调用约定是为快速非泛型调用而设计的。 它通常使用专门的签名。
*LLVM幽灵(零长度类型)被省略。 *LLVM标量和向量按值传递。 *LLVM聚合(数组和结构)通过引用传递。
小的返回值作为LLVM返回值返回。 一个大的返回值是通过"结构返回"(秘书处)约定,其中调用者提供指向返回槽的指针。
作为齐次元组的参数或返回值有时表示为LLVM向量而不是LLVM数组。