Begin to add support for experimental wasm64

This commit is contained in:
gingerBill
2022-05-21 13:30:43 +01:00
parent 3049e07f72
commit dfbe68bcfe
6 changed files with 16 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
//+private
//+build wasm32
//+build wasm32, wasm64
package sync
import "core:intrinsics"

View File

@@ -1,5 +1,5 @@
//+private
//+build wasm32
//+build wasm32, wasm64
package sync
_current_thread_id :: proc "contextless" () -> int {

View File

@@ -452,6 +452,15 @@ gb_global TargetMetrics target_js_wasm32 = {
str_lit(""),
};
gb_global TargetMetrics target_js_wasm64 = {
TargetOs_js,
TargetArch_wasm64,
8,
16,
str_lit("wasm64-js-js"),
str_lit(""),
};
gb_global TargetMetrics target_wasi_wasm32 = {
TargetOs_wasi,
TargetArch_wasm32,
@@ -504,6 +513,7 @@ gb_global NamedTargetMetrics named_targets[] = {
{ str_lit("freestanding_wasm32"), &target_freestanding_wasm32 },
{ str_lit("wasi_wasm32"), &target_wasi_wasm32 },
{ str_lit("js_wasm32"), &target_js_wasm32 },
{ str_lit("js_wasm64"), &target_js_wasm64 },
{ str_lit("freestanding_amd64_sysv"), &target_freestanding_amd64_sysv },
};
@@ -1151,7 +1161,7 @@ void init_build_context(TargetMetrics *cross_target) {
// link_flags = gb_string_appendc(link_flags, "--export-table ");
link_flags = gb_string_appendc(link_flags, "--allow-undefined ");
if (bc->metrics.arch == TargetArch_wasm64) {
link_flags = gb_string_appendc(link_flags, "-mwas64 ");
link_flags = gb_string_appendc(link_flags, "-mwasm64 ");
}
if (bc->no_entry_point) {
link_flags = gb_string_appendc(link_flags, "--no-entry ");

View File

@@ -1,4 +1,4 @@
//+build js wasm32
//+build js wasm32, js wasm64
package wasm_js_interface
foreign import dom_lib "odin_dom"

View File

@@ -1,4 +1,4 @@
//+build js wasm32
//+build js wasm32, js wasm64
package wasm_js_interface
foreign import dom_lib "odin_dom"

View File

@@ -1,4 +1,4 @@
//+build js wasm32
//+build js wasm32, js wasm64
package wasm_js_interface
import "core:mem"