Refactor externref related APIs of reference types feature (#971)
Currently when calling wasm_runtime_call_wasm() to invoke wasm function with externref type argument from runtime embedder, developer needs to use wasm_externref_obj2ref() to convert externref obj into an internal ref index firstly, which is not convenient to developer. To align with GC feature in which all the references passed to wasm_runtime_call_wasm() can be object pointers directly, we change the interface of wasm_runtime_call_wasm() to allow to pass object pointer directly for the externref argument, and refactor the related codes, update the related samples and the document.
This commit is contained in:
@ -85,10 +85,11 @@ The function signature field in **NativeSymbol** structure is a string for descr
|
||||
|
||||
Each letter in the "()" represents a parameter type, and the one following after ")" represents the return value type. The meaning of each letter:
|
||||
|
||||
- '**i**': i32 or externref (for externref, developer should use `wasm_externref_obj2ref()` to map host object to externref index firstly)
|
||||
- '**i**': i32
|
||||
- '**I**': i64
|
||||
- '**f**': f32
|
||||
- '**F**': f64
|
||||
- '**r**': externref (has to be the value of a `uintptr_t` variable)
|
||||
- '**\***': the parameter is a buffer address in WASM application
|
||||
- '**~**': the parameter is the byte length of WASM buffer as referred by preceding argument "\*". It must follow after '*', otherwise, registration will fail
|
||||
- '**$**': the parameter is a string in WASM application
|
||||
|
||||
Reference in New Issue
Block a user