annotate dyncallback/dyncall_callback_x64.S @ 508:1aa2af848e8a

- callback_suite: updated readme to reflect changes and general cleanup
author Tassilo Philipp
date Sat, 09 Apr 2022 14:44:33 +0200
parents 41e2a01cad32
children 71c884e610f0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
1 /*
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 Package: dyncall
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 Library: dyncallback
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 File: dyncallback/dyncall_callback_x64.S
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 Description: Callback Thunk entry for x64 (portasm version)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 License:
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8
281
f5577f6bf97a - file header cleanups for release
Tassilo Philipp
parents: 256
diff changeset
9 Copyright (c) 2011-2018 Daniel Adler <dadler@uni-goettingen.de>
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 Permission to use, copy, modify, and distribute this software for any
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 purpose with or without fee is hereby granted, provided that the above
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 copyright notice and this permission notice appear in all copies.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26
165
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 0
diff changeset
27 #include "../portasm/portasm-x64.S"
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 /* structure sizes */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 SET(DCThunk_size,24)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 SET(DCArgs_size_win64,80)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 SET(DCArgs_size_sysv,128)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 SET(DCValue_size,8)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36 /* frame local variable offsets relative to %rbp*/
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 SET(FRAME_arg0_win64,48)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 SET(FRAME_arg0_sysv,16)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 SET(FRAME_return,8)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 SET(FRAME_parent,0)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 SET(FRAME_DCArgs_sysv,-128)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 SET(FRAME_DCValue_sysv,-136)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44 SET(FRAME_DCArgs_win64,-80)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 SET(FRAME_DCValue_win64,-80)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 /* struct DCCallback */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 SET(CTX_thunk,0)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50 SET(CTX_handler,24)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 SET(CTX_userdata,32)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 SET(DCCallback_size,40)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 GLOBAL(dcCallback_x64_sysv)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 BEGIN_PROC(dcCallback_x64_sysv)
165
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 0
diff changeset
58
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 PUSH(RBP)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 MOV(RSP,RBP)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 /* initialize DCArgs */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 /* float parameters (8 registers spill to DCArgs) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65
165
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 0
diff changeset
66 SUB(LIT(8*8),RSP)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 MOVSD(XMM7, QWORD(RSP,8*7)) /* struct offset 120: float parameter 7 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 MOVSD(XMM6, QWORD(RSP,8*6)) /* struct offset 112: float parameter 6 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 MOVSD(XMM5, QWORD(RSP,8*5)) /* struct offset 104: float parameter 5 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71 MOVSD(XMM4, QWORD(RSP,8*4)) /* struct offset 96: float parameter 4 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72 MOVSD(XMM3, QWORD(RSP,8*3)) /* struct offset 88: float parameter 3 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 MOVSD(XMM2, QWORD(RSP,8*2)) /* struct offset 80: float parameter 2 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 MOVSD(XMM1, QWORD(RSP,8*1)) /* struct offset 72: float parameter 1 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 MOVSD(XMM0, QWORD(RSP,8*0)) /* struct offset 64: float parameter 0 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77 /* integer parameters (6 registers spill to DCArgs) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79 PUSH(R9) /* struct offset 56: parameter 5 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80 PUSH(R8) /* struct offset 48: parameter 4 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 PUSH(RCX) /* struct offset 40: parameter 3 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 PUSH(RDX) /* struct offset 32: parameter 2 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
83 PUSH(RSI) /* struct offset 24: parameter 1 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
84 PUSH(RDI) /* struct offset 16: parameter 0 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
85
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
86 /* register counts for integer/pointer and float regs */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
87
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
88 PUSH(LIT(0)) /* struct offset 12: fcount */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
89 /* struct offset 8: icount */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
90
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
91 LEA(QWORD(RBP,FRAME_arg0_sysv),RDX) /* struct offset 0: stack pointer */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
92 PUSH(RDX)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
93
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
94 MOV(RSP,RSI) /* arg 1 RSI : DCArgs* */
165
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 0
diff changeset
95
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
96 /* initialize DCValue */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
97
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
98 PUSH(LIT(0)) /* struct offset 0: return value (max long long) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
99
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
100 /* call handler( *ctx, *args, *value, *userdata) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
101
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
102 MOV(RAX,RDI) /* arg 0 RDI : DCCallback* (RAX) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
103 MOV(QWORD(RDI,CTX_userdata),RCX) /* arg 3 RCX : userdata* */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
104 MOV(RSP,RDX) /* arg 2 RDX : DCValue* */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
105 PUSH(LIT(0)) /* align to 16 bytes */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
106 CALL_REG(QWORD(RAX,CTX_handler))
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
107
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
108 /* pass return type via registers, handle ints and floats */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
109
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
110 MOV(QWORD(RBP,FRAME_DCValue_sysv),RAX)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
111 MOVD(RAX,XMM0)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
112
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
113 MOV(RBP,RSP)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
114 POP(RBP)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
115 RET()
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
116
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
117 END_PROC(dcCallback_x64_sysv)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
118
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
119 GLOBAL(dcCallback_x64_win64)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
120 BEGIN_PROC(dcCallback_x64_win64)
165
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 0
diff changeset
121
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
122 PUSH(RBP)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
123 MOV(RSP,RBP)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
124
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
125 /* initialize DCArgs */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
126
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
127 /* float parameters (4 registers spill to DCArgs) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
128
165
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 0
diff changeset
129 SUB(LIT(4*8),RSP)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
130
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
131 MOVSD(XMM3, QWORD(RSP,8*3)) /* struct offset 72: float parameter 3 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
132 MOVSD(XMM2, QWORD(RSP,8*2)) /* struct offset 64: float parameter 2 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
133 MOVSD(XMM1, QWORD(RSP,8*1)) /* struct offset 56: float parameter 1 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
134 MOVSD(XMM0, QWORD(RSP,8*0)) /* struct offset 48: float parameter 0 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
135
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
136 /* integer parameters (4 registers spill to DCArgs) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
137
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
138 PUSH(R9) /* struct offset 40: parameter 3 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
139 PUSH(R8) /* struct offset 32: parameter 2 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
140 PUSH(RDX) /* struct offset 24: parameter 1 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
141 PUSH(RCX) /* struct offset 16: parameter 0 */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
142
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
143 /* register counts for integer/pointer and float regs */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
144
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
145 PUSH(LIT(0)) /* struct offset 12: fcount */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
146 /* struct offset 8: icount */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
147
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
148 LEA(QWORD(RBP,FRAME_arg0_win64),RDX) /* struct offset 0: stack pointer */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
149 PUSH(RDX)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
150
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
151 MOV(RSP,RDX) /* arg 1 RDX : DCArgs* */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
152
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
153 /* initialize DCValue */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
154
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
155 // PUSHQ(LIT(0)) /* struct offset 0: return value (max long long) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
156
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
157 /* call handler( *ctx, *args, *value, *userdata) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
158
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
159 MOV(RAX,RCX) /* arg 0 RCX : DCCallback* (RAX) */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
160 MOV(QWORD(RAX,CTX_userdata),R9) /* arg 3 R9 : userdata* */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
161 MOV(RSP,R8) /* arg 2 R8 : DCValue* */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
162 SUB(LIT(4*8),RSP) /* make room for spill area and call */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
163 CALL_REG(QWORD(RAX,CTX_handler))
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
164
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
165 /* pass return type via registers, handle ints and floats */
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
166
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
167 MOV(QWORD(RBP,FRAME_DCValue_win64),RAX)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
168 MOVD(RAX,XMM0)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
169
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
170 MOV(RBP,RSP)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
171 POP(RBP)
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
172 RET()
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
173
165
572aff021627 - file name/layout cleanup, removed "-att" from x64 .S filenames, as unnecessary and also misleading
cslag
parents: 0
diff changeset
174 END_PROC(dcCallback_x64_win64)
0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
175
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
176 END_ASM
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
177