-
Notifications
You must be signed in to change notification settings - Fork 0
Native Interface (super issue) #24
Comments
Hi Kungshan, I remembered that we talked about redefining the reference types into 3: ref, iref and pointer (which refers to any untracted memory location). |
No. Pointer will be a separate type. A weak reference is still a traced object reference. But when an object is The document has not been updated to reflect the pointer type. The real Kunshan John Zhang notifications@github.com于2015年1月5日星期一写道:
|
Some drafts are added in the spec. Links: |
Note on variadic functions: The native interface is not designed to call variadic functions. Reasons are:
The reasons why Mu itself did not adopt variadic functions are:
Platform-specific details: Here is a comment on this decision in the ABI: https://gcc.gnu.org/ml/gcc-patches/2010-07/msg01505.html
Strangely the AMD64 SysV ABI also says XMMx registers are caller-saved. There is no such register required on ARM. For implementations, if it wants to support calling variardic functions directly, it can always call variardic functions as if they were not, and conservatively set AL to the number of FP arguments for all native functions. |
This is an outline of issues related to the native interface, that is, interacting with the native world. This topic includes but is not limited to object layout, pointer types, object pinning and foreign function calls. We should open other issues to discuss concrete problems.
The following should be addressed by a higher-level abstraction:
dlopen
,dlsym
,dlclose
anddlerror
. Then theCCALL
instruction takes care of the rest by calling them.The following are not related to the native interface, but are related to raw memory:
The text was updated successfully, but these errors were encountered: