Mercurial > pub > dyncall > dyncall
comparison dyncall/dyncall_callvm_x64.c @ 347:a2a42f477662
- C declaration order fix
author | Tassilo Philipp |
---|---|
date | Wed, 08 Jan 2020 17:10:17 +0100 |
parents | ab2d78e48ca2 |
children | ad5f9803f52f |
comparison
equal
deleted
inserted
replaced
346:d3d6dbe3c2bc | 347:a2a42f477662 |
---|---|
192 /* --- syscall ------------------------------------------------------------- */ | 192 /* --- syscall ------------------------------------------------------------- */ |
193 | 193 |
194 #include <assert.h> | 194 #include <assert.h> |
195 void dc_callvm_call_x64_syscall_sysv(DCCallVM* in_self, DCpointer target) | 195 void dc_callvm_call_x64_syscall_sysv(DCCallVM* in_self, DCpointer target) |
196 { | 196 { |
197 DCCallVM_x64* self; | |
198 | |
197 /* syscalls can have up to 6 args, required to be "Only values of class INTEGER or class MEMORY" (from */ | 199 /* syscalls can have up to 6 args, required to be "Only values of class INTEGER or class MEMORY" (from */ |
198 /* SysV manual), so we can use self->mRegData.i directly; verify this holds at least 6 values, though. */ | 200 /* SysV manual), so we can use self->mRegData.i directly; verify this has space for at least 6 values, though. */ |
199 assert(numIntRegs >= 6); | 201 assert(numIntRegs >= 6); |
200 | 202 |
201 DCCallVM_x64* self = (DCCallVM_x64*)in_self; | 203 self = (DCCallVM_x64*)in_self; |
202 dcCall_x64_syscall_sysv(self->mRegData.i, target); | 204 dcCall_x64_syscall_sysv(self->mRegData.i, target); |
203 } | 205 } |
204 | 206 |
205 DCCallVM_vt gVT_x64_syscall_sysv = | 207 DCCallVM_vt gVT_x64_syscall_sysv = |
206 { | 208 { |