File: track2.s

package info (click to toggle)
pypy3 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 111,848 kB
  • sloc: python: 1,291,746; ansic: 74,281; asm: 5,187; cpp: 3,017; sh: 2,533; makefile: 544; xml: 243; lisp: 45; csh: 21; awk: 4
file content (190 lines) | stat: -rw-r--r-- 4,827 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
_pypy_g_populate:
L2135:
	subl	$76, %esp
	movl	%esi, 64(%esp)
	movl	80(%esp), %esi
	movl	%ebx, 60(%esp)
	call	L2175
"L00000000060$pb":
L2175:
	popl	%ebx
	movl	%edi, 68(%esp)
	testl	%esi, %esi
	movl	%ebp, 72(%esp)
	jle	L2169
L2137:
L2138:
	movl	L__LLstacktoobig_stack_base_pointer$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	leal	47(%esp), %edx
	subl	(%eax), %edx
	movl	L__LLstacktoobig_stack_min$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	cmpl	(%eax), %edx
	jl	L2139
	movl	L__LLstacktoobig_stack_max$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	cmpl	(%eax), %edx
	jg	L2139
L2171:
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000060$pb"(%ebx), %edi
	movl	(%edi), %ebp
	testl	%ebp, %ebp
	je	L2172
L2169:
	movl	60(%esp), %ebx
	movl	64(%esp), %esi
	movl	68(%esp), %edi
	movl	72(%esp), %ebp
	addl	$76, %esp
	ret
	.align 4,0x90
L2139:
	call	L_LL_stack_too_big_slowpath$stub
        ;; expected {76(%esp) | 60(%esp), 64(%esp), 68(%esp), 72(%esp) | 84(%esp)}
	testl	%eax, %eax
	je	L2171
L2142:
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000060$pb"(%ebx), %edi
	movl	L_pypy_g_exceptions_RuntimeError_vtable$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	movl	%eax, (%edi)
	movl	(%edi), %ebp
	movl	L_pypy_g_exceptions_RuntimeError$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	testl	%ebp, %ebp
	movl	%eax, 4(%edi)
	jne	L2169
L2143:
	.align 4,0x90
L2172:
	movl	L_pypy_g_pypy_rpython_memory_gc_semispace_SemiSpaceGC$non_lazy_ptr-"L00000000060$pb"(%ebx), %ebp
	decl	%esi
	movl	%esi, 28(%esp)
	movl	12(%ebp), %edx
	movl	80(%ebp), %eax
	subl	%edx, %eax
	cmpl	$15, %eax
	jle	L2144
L2146:
	leal	16(%edx), %eax
	movl	%edx, %ecx
	movl	$31, (%edx)
	movl	%eax, 12(%ebp)
L2147:
	movl	L___gcnoreorderhack$non_lazy_ptr-"L00000000060$pb"(%ebx), %edi
	movl	84(%esp), %esi
	/* GCROOT %esi */
	testl	%ecx, %ecx
	je	L2169
L2148:
	movl	L_pypy_g_pypy_translator_goal_gcbench_Node_vtable$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	movl	L_pypy_g_pypy_rpython_memory_gc_semispace_SemiSpaceGC$non_lazy_ptr-"L00000000060$pb"(%ebx), %ebp
	movl	$0, 8(%edx)
	movl	$0, 12(%edx)
	movl	%eax, 4(%edx)
	movl	%edx, 8(%esi)
	movl	12(%ebp), %edx
	movl	80(%ebp), %eax
	subl	%edx, %eax
	cmpl	$15, %eax
	jle	L2149
L2151:
	leal	16(%edx), %eax
	movl	$31, (%edx)
	movl	%eax, 12(%ebp)
	movl	%edx, %eax
L2152:
	/* GCROOT %esi */
	testl	%eax, %eax
	je	L2169
L2153:
	movl	L_pypy_g_pypy_translator_goal_gcbench_Node_vtable$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	movl	$0, 8(%edx)
	movl	$0, 12(%edx)
	movl	%eax, 4(%edx)
	movl	8(%esi), %eax
	movl	%edx, 12(%esi)
	movl	%eax, 4(%esp)
	movl	28(%esp), %eax
	movl	%eax, (%esp)
	call	_pypy_g_populate
        ;; expected {76(%esp) | 60(%esp), 64(%esp), 68(%esp), 72(%esp) | %esi}
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	movl	%esi, %edx
	/* GCROOT %edx */
	movl	(%eax), %esi
	testl	%esi, %esi
	jne	L2169
L2154:
	movl	12(%edx), %eax
	movl	%eax, 4(%esp)
	movl	28(%esp), %eax
	movl	%eax, (%esp)
	call	_pypy_g_populate
        ;; expected {76(%esp) | 60(%esp), 64(%esp), 68(%esp), 72(%esp) | }
	jmp	L2169
L2144:
	movl	$16, 4(%esp)
	xorl	%esi, %esi
	movl	%ebp, (%esp)
	call	_pypy_g_SemiSpaceGC_try_obtain_free_space
        ;; expected {76(%esp) | 60(%esp), 64(%esp), 68(%esp), 72(%esp) | 84(%esp)}

	movl	(%edi), %edx
	testl	%edx, %edx
	je	L2173
L2164:
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	xorl	%ecx, %ecx
	xorl	%edx, %edx
	movl	(%eax), %eax
	testl	%eax, %eax
	jne	L2147
	movl	L_pypy_g_pypy_rpython_memory_gc_semispace_SemiSpaceGC$non_lazy_ptr-"L00000000060$pb"(%ebx), %ebp
	movl	%esi, %edx
	jmp	L2146
L2149:
	movl	$16, 4(%esp)
	movl	%ebp, (%esp)
	call	_pypy_g_SemiSpaceGC_try_obtain_free_space
        ;; expected {76(%esp) | 60(%esp), 64(%esp), 68(%esp), 72(%esp) | %esi}
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000060$pb"(%ebx), %edi
	xorl	%edx, %edx
	movl	(%edi), %ecx
	testl	%ecx, %ecx
	je	L2174
L2157:
	movl	(%edi), %ecx
	testl	%ecx, %ecx
	je	L2160
	movl	L___gcnoreorderhack$non_lazy_ptr-"L00000000060$pb"(%ebx), %edi
	xorl	%eax, %eax
	xorl	%edx, %edx
	jmp	L2152
L2173:
L2162:
	testb	%al, %al
	jne	L2165
L2166:
	movl	L_pypy_g_exceptions_MemoryError_vtable$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	movl	%eax, (%edi)
	movl	L_pypy_g_exceptions_MemoryError_1$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	movl	%eax, 4(%edi)
	jmp	L2164
L2160:
	movl	L_pypy_g_pypy_rpython_memory_gc_semispace_SemiSpaceGC$non_lazy_ptr-"L00000000060$pb"(%ebx), %ebp
	movl	L___gcnoreorderhack$non_lazy_ptr-"L00000000060$pb"(%ebx), %edi
	jmp	L2151
L2174:
L2155:
	testb	%al, %al
	jne	L2158
L2159:
	movl	L_pypy_g_exceptions_MemoryError_vtable$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	movl	%eax, (%edi)
	movl	L_pypy_g_exceptions_MemoryError_1$non_lazy_ptr-"L00000000060$pb"(%ebx), %eax
	movl	%eax, 4(%edi)
	jmp	L2157
L2165:
	movl	12(%ebp), %esi
	jmp	L2164
L2158:
	movl	12(%ebp), %edx
	jmp	L2157
	.align 4,0x90