annotate dyncallback/dyncall_callback_x64_masm.asm @ 0:3e629dc19168

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:24:28 +0100
parents
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 ; auto-generated by gen-masm.sh
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
2 .CODE
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
3 DCThunk_size = 24
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
4 DCArgs_size_win64 = 80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
5 DCArgs_size_sysv = 128
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
6 DCValue_size = 8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
7 FRAME_arg0_win64 = 48
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
8 FRAME_arg0_sysv = 16
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
9 FRAME_return = 8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
10 FRAME_parent = 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
11 FRAME_DCArgs_sysv = -128
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
12 FRAME_DCValue_sysv = -136
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
13 FRAME_DCArgs_win64 = -80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
14 FRAME_DCValue_win64 = -80
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
15 CTX_thunk = 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
16 CTX_handler = 24
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
17 CTX_userdata = 32
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
18 DCCallback_size = 40
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
19 dcCallback_x64_sysv PROC
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
20 OPTION PROLOGUE:NONE, EPILOGUE:NONE
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
21 push RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
22 mov RBP,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
23 sub RSP,8*8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
24 movsd qword ptr [RSP+8*7],XMM7
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
25 movsd qword ptr [RSP+8*6],XMM6
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
26 movsd qword ptr [RSP+8*5],XMM5
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
27 movsd qword ptr [RSP+8*4],XMM4
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
28 movsd qword ptr [RSP+8*3],XMM3
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
29 movsd qword ptr [RSP+8*2],XMM2
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
30 movsd qword ptr [RSP+8*1],XMM1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
31 movsd qword ptr [RSP+8*0],XMM0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
32 push R9
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
33 push R8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
34 push RCX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
35 push RDX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
36 push RSI
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
37 push RDI
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
38 push 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
39 lea RDX,qword ptr [RBP+FRAME_arg0_sysv]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
40 push RDX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
41 mov RSI,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
42 push 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
43 mov RDI,RAX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
44 mov RCX,qword ptr [RDI+CTX_userdata]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
45 mov RDX,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
46 push 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
47 call qword ptr [RAX+CTX_handler]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
48 mov RAX,qword ptr [RBP+FRAME_DCValue_sysv]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
49 movd XMM0,RAX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
50 mov RSP,RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
51 pop RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
52 ret
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
53 dcCallback_x64_sysv ENDP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
54 dcCallback_x64_win64 PROC
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
55 OPTION PROLOGUE:NONE, EPILOGUE:NONE
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
56 push RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
57 mov RBP,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
58 sub RSP,4*8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
59 movsd qword ptr [RSP+8*3],XMM3
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
60 movsd qword ptr [RSP+8*2],XMM2
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
61 movsd qword ptr [RSP+8*1],XMM1
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
62 movsd qword ptr [RSP+8*0],XMM0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
63 push R9
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
64 push R8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
65 push RDX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
66 push RCX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
67 push 0
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
68 lea RDX,qword ptr [RBP+FRAME_arg0_win64]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
69 push RDX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
70 mov RDX,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
71 mov RCX,RAX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
72 mov R9,qword ptr [RAX+CTX_userdata]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
73 mov R8,RSP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
74 sub RSP,4*8
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
75 call qword ptr [RAX+CTX_handler]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
76 mov RAX,qword ptr [RBP+FRAME_DCValue_win64]
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
77 movd XMM0,RAX
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
78 mov RSP,RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
79 pop RBP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
80 ret
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
81 dcCallback_x64_win64 ENDP
3e629dc19168 initial from svn dyncall-1745
Daniel Adler
parents:
diff changeset
82 END