Open zonghaishang opened 3 years ago
You have not use the method max. The compiler import only the needed methods.
You have not use the method max. The compiler import only the needed methods.
@Horcrux7 nice, It is correct to include the import
call in export
public class WasmFunctions {
@Export
public static int hello() {
max(1, 2);
return 43;
}
@Import
public static native int max(int a, int b);
@Import
functions by default, of course, the corresponding implementation can be guaranteed on the host sideIt is correct to include the import call in export Yes, why not.
1.) There is no such switch. It make no sense for me. It would also import all the @import from the runtime. Take a look at: https://github.com/i-net-software/JWebAssembly-API/tree/master/src/de/inetsoftware/jwebassembly/api/java/lang
Of course the runtime is optional and theoretical you can use different use a different runtime. But practical it will use in the most cases.
2.) I does not understand the question. What you means with go runtime.
For the missing GC it use currently a Java script polyfill. With a compiler flag you can enable the usage of the GC code but this is work in progress. In the WASM runtime and in JWebAssembly.
2.) I does not understand the question. What you means with go runtime.
For the missing GC it use currently a Java script polyfill. With a compiler flag you can enable the usage of the GC code but this is work in progress. In the WASM runtime and in JWebAssembly.
Please let me briefly introduce. At present, we have supported running wasm module in go
, allowing developers to write wasm function extensions, and we expect to do better. We hope that java developers can also contribute wasm plugins, so that the implementation of multi-language extensions can be run in go.
Currently I find JWebassembly is a great project,at the same time, it is also expected that the compiled wasm can run outside the web environment. The wasm file generated by dump Jwebassembly lacks the content of the Webassembly specification, such as Memory Section...
So I raised another issue#24 to follow up on this issue
The memory section will be created if there are data for it. For example you use a string constant. Or you use a instance method call then the vtables are in the memory section.
But you can not use it for data exchange with go.
The memory section will be created if there are data for it. For example you use a string constant. Or you use a instance method call then the vtables are in the memory section.
But you can not use it for data exchange with go.
Can provide some simple examples to demonstrate the compilation and export of the memory segment. At present, data exchange is exchanged through linear memory byte arrays.
Can provide some simple examples to demonstrate the compilation and export of the memory segment. At present, data exchange is exchanged through linear memory byte arrays.
No, such sample is not possible. Data exchange via memory segment is not possible. If you want export or import binary data then you need to use a method that use a Java byte[] array like:
@Export
public static byte[] getData()
@Export
public static void setData( byte[] data )
de.inetsoftware.jwebassembly.api.annotation.Import Does not include the import function definition, is it currently not supported?
demo: https://github.com/zonghaishang/wasm-java/tree/jwebassembly