diff options
Diffstat (limited to 'include/macros.s')
| -rw-r--r-- | include/macros.s | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/macros.s b/include/macros.s index c857995..c52f6b0 100644 --- a/include/macros.s +++ b/include/macros.s @@ -39,4 +39,22 @@ _macros_s_file: \name: .endm +.macro thunkargs arg,args:vararg + .ifnb \arg + thunkargs \args + pushq \arg + .endif +.endm + +.macro thunk code:req,n:req,args:vararg + thunkargs \args + pushq \n + pushq \code +.endm + +.macro thunkto reg:req,code:req,n:req,args:vararg + thunk \code,\n,\args + mov %rsp, \reg +.endm + .endif # _macros_s_file |
