File: track8.s

package info (click to toggle)
pypy 7.0.0%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 107,216 kB
  • sloc: python: 1,201,787; ansic: 62,419; asm: 5,169; cpp: 3,017; sh: 2,534; makefile: 545; xml: 243; lisp: 45; awk: 4
file content (202 lines) | stat: -rw-r--r-- 5,031 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
191
192
193
194
195
196
197
198
199
200
201
202
_pypy_g_foo:
L1506:
	subl	$140, %esp
	movl	%esi, 128(%esp)
	movl	144(%esp), %esi
	movl	%ebx, 124(%esp)
	call	L1534
"L00000000044$pb":
L1534:
	popl	%ebx
	movl	%edi, 132(%esp)
	testl	%esi, %esi
	movl	%ebp, 136(%esp)
	jle	L1529
L1508:
L1509:
	movl	L__LLstacktoobig_stack_base_pointer$non_lazy_ptr-"L00000000044$pb"(%ebx), %eax
	leal	111(%esp), %edx
	subl	(%eax), %edx
	movl	L__LLstacktoobig_stack_min$non_lazy_ptr-"L00000000044$pb"(%ebx), %eax
	cmpl	(%eax), %edx
	jl	L1510
	movl	L__LLstacktoobig_stack_max$non_lazy_ptr-"L00000000044$pb"(%ebx), %eax
	cmpl	(%eax), %edx
	jg	L1510
L1531:
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000044$pb"(%ebx), %esi
	movl	(%esi), %ecx
	testl	%ecx, %ecx
	je	L1532
L1529:
	movl	124(%esp), %ebx
	movl	128(%esp), %esi
	movl	132(%esp), %edi
	movl	136(%esp), %ebp
	addl	$140, %esp
	ret
	.align 4,0x90
L1510:
	call	L_LL_stack_too_big_slowpath$stub
        ;; expected {140(%esp) | 124(%esp), 128(%esp), 132(%esp), 136(%esp) | 148(%esp), 152(%esp), 156(%esp), 160(%esp), 164(%esp), 168(%esp)}
	testl	%eax, %eax
	je	L1531
L1513:
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000044$pb"(%ebx), %esi
	movl	L_pypy_g_exceptions_RuntimeError_vtable$non_lazy_ptr-"L00000000044$pb"(%ebx), %eax
	movl	%eax, (%esi)
	movl	(%esi), %ecx
	movl	L_pypy_g_exceptions_RuntimeError$non_lazy_ptr-"L00000000044$pb"(%ebx), %eax
	testl	%ecx, %ecx
	movl	%eax, 4(%esi)
	jne	L1529
L1514:
	.align 4,0x90
L1532:
	movl	L_pypy_g_pypy_rpython_memory_gc_semispace_SemiSpaceGC$non_lazy_ptr-"L00000000044$pb"(%ebx), %edi
	movl	12(%edi), %edx
	movl	80(%edi), %eax
	subl	%edx, %eax
	cmpl	$7, %eax
	jle	L1515
L1517:
	leal	8(%edx), %eax
	movl	$4, (%edx)
	movl	%eax, 12(%edi)
	movl	%edx, %edi
L1518:
	movl	L___gcnoreorderhack$non_lazy_ptr-"L00000000044$pb"(%ebx), %esi
	movl	168(%esp), %eax
	movl	164(%esp), %ebp
	/* GCROOT %eax */
	/* GCROOT %ebp */
	movl	%eax, 48(%esp)
	movl	152(%esp), %eax
	/* GCROOT %eax */
	movl	%eax, 52(%esp)
	movl	156(%esp), %eax
	/* GCROOT %eax */
	movl	%eax, 56(%esp)
	movl	160(%esp), %eax
	/* GCROOT %eax */
	movl	%eax, 60(%esp)
	movl	148(%esp), %eax
	/* GCROOT %eax */
	testl	%edx, %edx
	movl	%eax, 64(%esp)
	je	L1529
L1519:
	movl	L_pypy_g_src8_A_vtable$non_lazy_ptr-"L00000000044$pb"(%ebx), %eax
	movl	%eax, 4(%edi)
	movl	144(%esp), %edx
	movl	%edi, 24(%esp)
	movl	%edi, 20(%esp)
	movl	%edi, 16(%esp)
	decl	%edx
	movl	%edx, 44(%esp)
	movl	%edi, 12(%esp)
	movl	%edi, 8(%esp)
	movl	%edi, 4(%esp)
	movl	%edx, (%esp)
	call	_pypy_g_foo
        ;; expected {140(%esp) | 124(%esp), 128(%esp), 132(%esp), 136(%esp) | %edi, %ebp, 48(%esp), 52(%esp), 56(%esp), 60(%esp), 64(%esp)}
	movl	56(%esp), %edx
	/* GCROOT %edx */
	movl	%edx, 76(%esp)
	movl	60(%esp), %edx
	/* GCROOT %edx */
	movl	%edx, 80(%esp)
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000044$pb"(%ebx), %edx
	/* GCROOT %ebp */
	movl	48(%esp), %eax
	movl	%ebp, 72(%esp)
	movl	52(%esp), %ebp
	movl	(%edx), %edx
	/* GCROOT %eax */
	/* GCROOT %ebp */
	movl	%eax, 68(%esp)
	movl	%edi, %eax
	movl	64(%esp), %edi
	/* GCROOT %eax */
	/* GCROOT %edi */
	testl	%edx, %edx
	jne	L1529
L1520:
	movl	%eax, 24(%esp)
	movl	%eax, 20(%esp)
	movl	%eax, 16(%esp)
	movl	%eax, 12(%esp)
	movl	%eax, 8(%esp)
	movl	%eax, 4(%esp)
	movl	44(%esp), %eax
	movl	%eax, (%esp)
	call	_pypy_g_foo
        ;; expected {140(%esp) | 124(%esp), 128(%esp), 132(%esp), 136(%esp) | %edi, %ebp, 68(%esp), 72(%esp), 76(%esp), 80(%esp)}
	movl	68(%esp), %edx
	movl	72(%esp), %eax
	/* GCROOT %edx */
	/* GCROOT %eax */
	movl	%edx, 84(%esp)
	movl	80(%esp), %ecx
	movl	%eax, 88(%esp)
	movl	76(%esp), %edx
	movl	%edi, %eax
	/* GCROOT %edx */
	/* GCROOT %ecx */
	/* GCROOT %eax */
	movl	%edx, 92(%esp)
	movl	%ebp, %edx
	/* GCROOT %edx */
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000044$pb"(%ebx), %esi
	movl	(%esi), %esi
	testl	%esi, %esi
	jne	L1529
L1521:
	movl	%eax, 24(%esp)
	movl	92(%esp), %eax
	movl	%edx, 20(%esp)
	movl	84(%esp), %esi
	movl	88(%esp), %edx
	movl	%ecx, 12(%esp)
	movl	%eax, 16(%esp)
	movl	44(%esp), %eax
	movl	%esi, 4(%esp)
	movl	%edx, 8(%esp)
	movl	%eax, (%esp)
	call	_pypy_g_foo
        ;; expected {140(%esp) | 124(%esp), 128(%esp), 132(%esp), 136(%esp) | }
	jmp	L1529
	.align 4,0x90
L1515:
	movl	$8, 4(%esp)
	movl	%edi, (%esp)
	call	_pypy_g_SemiSpaceGC_try_obtain_free_space
        ;; expected {140(%esp) | 124(%esp), 128(%esp), 132(%esp), 136(%esp) | 148(%esp), 152(%esp), 156(%esp), 160(%esp), 164(%esp), 168(%esp)}
	movl	(%esi), %edx
	xorl	%ecx, %ecx
	testl	%edx, %edx
	je	L1533
L1524:
	movl	L_pypy_g_ExcData$non_lazy_ptr-"L00000000044$pb"(%ebx), %eax
	xorl	%edx, %edx
	xorl	%edi, %edi
	movl	(%eax), %eax
	testl	%eax, %eax
	jne	L1518
	movl	L_pypy_g_pypy_rpython_memory_gc_semispace_SemiSpaceGC$non_lazy_ptr-"L00000000044$pb"(%ebx), %edi
	movl	%ecx, %edx
	jmp	L1517
L1533:
L1522:
	testb	%al, %al
	jne	L1525
L1526:
	movl	L_pypy_g_exceptions_MemoryError_vtable$non_lazy_ptr-"L00000000044$pb"(%ebx), %eax
	movl	%eax, (%esi)
	movl	L_pypy_g_exceptions_MemoryError_1$non_lazy_ptr-"L00000000044$pb"(%ebx), %eax
	movl	%eax, 4(%esi)
	jmp	L1524
L1525:
	movl	12(%edi), %ecx
	jmp	L1524
	.align 4,0x90