Implement a Windows Baldrdash calling convention;
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
test verifier
|
||||
|
||||
function %add_members(i32, i64 vmctx) -> f32 baldrdash {
|
||||
function %add_members(i32, i64 vmctx) -> f32 baldrdash_system_v {
|
||||
gv0 = vmctx
|
||||
gv1 = load.i64 notrap aligned gv0+64
|
||||
gv2 = load.i32 notrap aligned gv0+72
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
test verifier
|
||||
|
||||
function %add_members(i32, i32 vmctx) -> f32 baldrdash {
|
||||
function %add_members(i32, i32 vmctx) -> f32 baldrdash_system_v {
|
||||
gv0 = vmctx
|
||||
gv1 = load.i32 notrap aligned gv0+64
|
||||
heap0 = static gv1, min 0x1000, bound 0x10_0000, offset_guard 0x1000
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
test verifier
|
||||
|
||||
function %add_members(i32, i64 vmctx) -> f32 baldrdash {
|
||||
function %add_members(i32, i64 vmctx) -> f32 baldrdash_system_v {
|
||||
gv0 = vmctx
|
||||
gv1 = load.i64 notrap aligned gv0+64
|
||||
heap0 = static gv1, min 0x1000, bound 0x1_0000_0000, offset_guard 0x8000_0000
|
||||
|
||||
@@ -375,7 +375,7 @@ convention:
|
||||
param : type [paramext] [paramspecial]
|
||||
paramext : "uext" | "sext"
|
||||
paramspecial : "sret" | "link" | "fp" | "csr" | "vmctx" | "sigid" | "stack_limit"
|
||||
callconv : "fast" | "cold" | "system_v" | "fastcall" | "baldrdash"
|
||||
callconv : "fast" | "cold" | "system_v" | "fastcall" | "baldrdash_system_v" | "baldrdash_windows"
|
||||
|
||||
A function's calling convention determines exactly how arguments and return
|
||||
values are passed, and how stack frames are managed. Since all of these details
|
||||
@@ -402,7 +402,8 @@ fast not-ABI-stable convention for best performance
|
||||
cold not-ABI-stable convention for infrequently executed code
|
||||
system_v System V-style convention used on many platforms
|
||||
fastcall Windows "fastcall" convention, also used for x64 and ARM
|
||||
baldrdash SpiderMonkey WebAssembly convention
|
||||
baldrdash_system_v SpiderMonkey WebAssembly convention on platforms natively using SystemV.
|
||||
baldrdash_windows SpiderMonkey WebAssembly convention on platforms natively using Windows.
|
||||
========== ===========================================
|
||||
|
||||
The "not-ABI-stable" conventions do not follow an external specification and
|
||||
|
||||
Reference in New Issue
Block a user