clarify the purpose of this project
[nyanglibc.git] / nptl / pthread_mutex_lock.shared.s
blobf919cb5167e5a3160f237ebc97ac50d86e4acc09
1 .text
2 .section .rodata.str1.8,"aMS",@progbits,1
3 .align 8
4 .LC0:
5 .string "The futex facility returned an unexpected error code.\n"
6 .section .rodata.str1.1,"aMS",@progbits,1
7 .LC1:
8 .string "../nptl/pthread_mutex_lock.c"
9 .section .rodata.str1.8
10 .align 8
11 .LC2:
12 .string "e != EDEADLK || (kind != PTHREAD_MUTEX_ERRORCHECK_NP && kind != PTHREAD_MUTEX_RECURSIVE_NP)"
13 .section .rodata.str1.1
14 .LC3:
15 .string "e != ESRCH || !robust"
16 .section .rodata.str1.8
17 .align 8
18 .LC4:
19 .string "robust || (oldval & FUTEX_OWNER_DIED) == 0"
20 .section .rodata.str1.1
21 .LC5:
22 .string "mutex->__data.__owner == 0"
23 .text
24 .p2align 4,,15
25 .type __pthread_mutex_lock_full, @function
26 __pthread_mutex_lock_full:
27 pushq %r15
28 pushq %r14
29 pushq %r13
30 pushq %r12
31 pushq %rbp
32 pushq %rbx
33 subq $24, %rsp
34 #APP
35 # 170 "../nptl/pthread_mutex_lock.c" 1
36 movl %fs:720,%r13d
37 # 0 "" 2
38 #NO_APP
39 movl 16(%rdi), %ecx
40 andl $127, %ecx
41 subl $16, %ecx
42 cmpl $51, %ecx
43 ja .L82
44 movl $1, %eax
45 movabsq $64425492480, %rdx
46 movq %rdi, %rbx
47 salq %cl, %rax
48 testq %rdx, %rax
49 jne .L4
50 movabsq $4222124650659840, %rdx
51 leaq 16(%rdi), %r14
52 testq %rdx, %rax
53 jne .L5
54 testb $15, %al
55 je .L82
56 leaq 32(%rdi), %r8
57 #APP
58 # 178 "../nptl/pthread_mutex_lock.c" 1
59 movq %r8,%fs:752
60 # 0 "" 2
61 #NO_APP
62 movl (%rdi), %ecx
63 xorl %esi, %esi
64 movl $202, %r12d
65 movl $-2147483648, %ebp
66 movl $1, %r9d
67 .L7:
68 testl %ecx, %ecx
69 jne .L8
70 movl %r13d, %edx
71 movl %ecx, %eax
72 orl %esi, %edx
73 lock cmpxchgl %edx, (%rbx)
74 testl %eax, %eax
75 movl %eax, %ecx
76 jne .L8
77 cmpl $2147483646, 8(%rbx)
78 je .L86
79 movl $1, 4(%rbx)
80 #APP
81 # 333 "../nptl/pthread_mutex_lock.c" 1
82 movq %fs:736,%rax
83 # 0 "" 2
84 #NO_APP
85 andq $-2, %rax
86 movq %r8, -8(%rax)
87 #APP
88 # 333 "../nptl/pthread_mutex_lock.c" 1
89 movq %fs:736,%rax
90 # 0 "" 2
91 #NO_APP
92 movq %rax, 32(%rbx)
93 movq %fs:16, %rax
94 addq $736, %rax
95 movq %rax, 24(%rbx)
96 #APP
97 # 333 "../nptl/pthread_mutex_lock.c" 1
98 movq %r8,%fs:736
99 # 0 "" 2
100 # 336 "../nptl/pthread_mutex_lock.c" 1
101 movq $0,%fs:752
102 # 0 "" 2
103 #NO_APP
104 .L21:
105 movl %r13d, 8(%rbx)
106 addl $1, 12(%rbx)
107 addq $24, %rsp
108 popq %rbx
109 xorl %eax, %eax
110 popq %rbp
111 popq %r12
112 popq %r13
113 popq %r14
114 popq %r15
116 .L88:
117 cmpl $-1, %ebp
118 je .L82
119 orl $-1, %esi
120 movl %ebp, %edi
121 call __pthread_tpp_change_priority
122 .L82:
123 movl $22, %eax
124 .L1:
125 addq $24, %rsp
126 popq %rbx
127 popq %rbp
128 popq %r12
129 popq %r13
130 popq %r14
131 popq %r15
133 .L5:
134 movl 16(%rdi), %eax
135 cmpl 8(%rdi), %r13d
136 movl $-1, %ebp
137 movl (%rdi), %ecx
138 je .L87
139 .L39:
140 movl $202, %r15d
141 .L42:
142 shrl $19, %ecx
143 movl %ecx, %r12d
144 call __pthread_current_priority
145 cmpl %r12d, %eax
146 jg .L88
147 movl %r12d, %esi
148 movl %ebp, %edi
149 call __pthread_tpp_change_priority
150 testl %eax, %eax
151 jne .L1
152 movl %r12d, %r8d
153 sall $19, %r8d
154 movl %r8d, %ebp
155 movl %r8d, %eax
156 orl $1, %ebp
157 lock cmpxchgl %ebp, (%rbx)
158 cmpl %eax, %r8d
159 je .L41
160 movl %r8d, %r9d
161 orl $2, %r9d
162 jmp .L44
163 .p2align 4,,10
164 .p2align 3
165 .L43:
166 movl %r8d, %eax
167 lock cmpxchgl %r9d, (%rbx)
168 cmpl %r8d, %eax
169 je .L41
170 .L44:
171 movl %ebp, %eax
172 lock cmpxchgl %r9d, (%rbx)
173 movl %eax, %edx
174 movl %eax, %ecx
175 andl $-524288, %edx
176 cmpl %edx, %r8d
177 jne .L52
178 cmpl %eax, %r8d
179 je .L43
180 movl (%r14), %esi
181 xorl %r10d, %r10d
182 movl %r9d, %edx
183 movq %rbx, %rdi
184 movl %r15d, %eax
185 notl %esi
186 andl $128, %esi
187 #APP
188 # 146 "../sysdeps/nptl/futex-internal.h" 1
189 syscall
191 # 0 "" 2
192 #NO_APP
193 cmpq $-4096, %rax
194 jbe .L43
195 addl $11, %eax
196 cmpl $11, %eax
197 ja .L18
198 movl %eax, %ecx
199 movl $1, %edi
200 salq %cl, %rdi
201 movq %rdi, %rax
202 testl $2177, %eax
203 jne .L43
204 jmp .L18
205 .p2align 4,,10
206 .p2align 3
207 .L52:
208 movl %r12d, %ebp
209 jmp .L42
210 .L41:
211 movl 8(%rbx), %eax
212 testl %eax, %eax
213 jne .L89
214 .L35:
215 movl $1, 4(%rbx)
216 jmp .L21
217 .L4:
218 movl 16(%rdi), %r8d
219 movl %r8d, %r9d
220 andl $3, %r9d
221 andl $16, %r8d
222 jne .L90
223 .L22:
224 movl (%rbx), %eax
225 andl $1073741823, %eax
226 cmpl %eax, %r13d
227 je .L91
228 .L23:
229 xorl %eax, %eax
230 lock cmpxchgl %r13d, (%rbx)
231 testl %eax, %eax
232 je .L26
233 testl %r8d, %r8d
234 movl $6, %esi
235 movl $128, %ebp
236 jne .L27
237 movl 16(%rbx), %ebp
238 andl $128, %ebp
239 movl %ebp, %esi
240 xorb $-122, %sil
241 .L27:
242 xorl %r10d, %r10d
243 xorl %edx, %edx
244 movq %rbx, %rdi
245 movl $202, %eax
246 #APP
247 # 257 "../sysdeps/nptl/futex-internal.h" 1
248 syscall
250 # 0 "" 2
251 #NO_APP
252 cmpl $-11, %eax
253 je .L28
254 jg .L29
255 cmpl $-35, %eax
256 je .L28
257 cmpl $-22, %eax
258 je .L28
259 cmpl $-110, %eax
260 je .L28
261 .L18:
262 leaq .LC0(%rip), %rdi
263 call __libc_fatal@PLT
264 .p2align 4,,10
265 .p2align 3
266 .L26:
267 testl %r8d, %r8d
268 je .L35
269 .L46:
270 cmpl $2147483646, 8(%rbx)
271 je .L92
272 movl $1, 4(%rbx)
273 #APP
274 # 488 "../nptl/pthread_mutex_lock.c" 1
275 movq %fs:736,%rdx
276 # 0 "" 2
277 #NO_APP
278 leaq 32(%rbx), %rax
279 andq $-2, %rdx
280 movq %rax, -8(%rdx)
281 #APP
282 # 488 "../nptl/pthread_mutex_lock.c" 1
283 movq %fs:736,%rdx
284 # 0 "" 2
285 #NO_APP
286 movq %rdx, 32(%rbx)
287 movq %fs:16, %rdi
288 leaq 736(%rdi), %rdx
289 movq %rdx, 24(%rbx)
290 orq $1, %rax
291 #APP
292 # 488 "../nptl/pthread_mutex_lock.c" 1
293 movq %rax,%fs:736
294 # 0 "" 2
295 # 491 "../nptl/pthread_mutex_lock.c" 1
296 movq $0,%fs:752
297 # 0 "" 2
298 #NO_APP
299 jmp .L21
300 .L90:
301 leaq 32(%rdi), %rax
302 orq $1, %rax
303 #APP
304 # 364 "../nptl/pthread_mutex_lock.c" 1
305 movq %rax,%fs:752
306 # 0 "" 2
307 #NO_APP
308 jmp .L22
309 .L87:
310 andl $3, %eax
311 cmpl $2, %eax
312 je .L50
313 cmpl $1, %eax
314 jne .L39
315 movl 4(%rdi), %eax
316 cmpl %ebp, %eax
317 je .L25
318 .L84:
319 addl $1, %eax
320 movl %eax, 4(%rbx)
321 xorl %eax, %eax
322 jmp .L1
323 .p2align 4,,10
324 .p2align 3
325 .L29:
326 cmpl $-4, %eax
327 jl .L18
328 cmpl $-3, %eax
329 jle .L28
330 testl %eax, %eax
331 jne .L18
332 .L28:
333 movl %eax, %edx
334 andl $-33, %edx
335 cmpl $-35, %edx
336 jne .L30
337 cmpl $-35, %eax
338 je .L93
339 cmpl $-3, %eax
340 jne .L32
341 testl %r8d, %r8d
342 jne .L94
343 .L32:
344 leaq 12(%rsp), %rbx
345 .p2align 4,,10
346 .p2align 3
347 .L33:
348 movl %ebp, %r8d
349 xorl %ecx, %ecx
350 xorl %edx, %edx
351 xorl %esi, %esi
352 movq %rbx, %rdi
353 movl $0, 12(%rsp)
354 call __GI___futex_abstimed_wait64
355 jmp .L33
356 .L30:
357 movl (%rbx), %eax
358 andl $1073741824, %eax
359 testl %r8d, %r8d
360 jne .L34
361 testl %eax, %eax
362 je .L35
363 leaq __PRETTY_FUNCTION__.10083(%rip), %rcx
364 leaq .LC1(%rip), %rsi
365 leaq .LC4(%rip), %rdi
366 movl $434, %edx
367 call __assert_fail@PLT
368 .p2align 4,,10
369 .p2align 3
370 .L8:
371 movl %ecx, %eax
372 movl %ecx, %edx
373 andl $1073741824, %eax
374 jne .L95
375 andl $1073741823, %edx
376 cmpl %r13d, %edx
377 je .L96
378 .L12:
379 testl %ecx, %ecx
380 movl %ecx, %edx
381 jns .L97
382 .L15:
383 xorl %r10d, %r10d
384 xorl %esi, %esi
385 movq %rbx, %rdi
386 movl %r12d, %eax
387 #APP
388 # 146 "../sysdeps/nptl/futex-internal.h" 1
389 syscall
391 # 0 "" 2
392 #NO_APP
393 cmpq $-4096, %rax
394 ja .L98
395 .L16:
396 movl (%rbx), %eax
397 movl %ebp, %esi
398 .L11:
399 movl %eax, %ecx
400 jmp .L7
401 .L34:
402 testl %eax, %eax
403 je .L46
404 #APP
405 # 439 "../nptl/pthread_mutex_lock.c" 1
406 lock;andl $-1073741825, (%rbx)
407 # 0 "" 2
408 #NO_APP
409 movabsq $9223372032559808513, %rax
410 movq %rax, 4(%rbx)
411 #APP
412 # 449 "../nptl/pthread_mutex_lock.c" 1
413 movq %fs:736,%rdx
414 # 0 "" 2
415 #NO_APP
416 leaq 32(%rbx), %rax
417 andq $-2, %rdx
418 movq %rax, -8(%rdx)
419 #APP
420 # 449 "../nptl/pthread_mutex_lock.c" 1
421 movq %fs:736,%rdx
422 # 0 "" 2
423 #NO_APP
424 movq %rdx, 32(%rbx)
425 movq %fs:16, %rdi
426 leaq 736(%rdi), %rdx
427 movq %rdx, 24(%rbx)
428 orq $1, %rax
429 #APP
430 # 449 "../nptl/pthread_mutex_lock.c" 1
431 movq %rax,%fs:736
432 # 0 "" 2
433 # 452 "../nptl/pthread_mutex_lock.c" 1
434 movq $0,%fs:752
435 # 0 "" 2
436 #NO_APP
437 movl $130, %eax
438 jmp .L1
439 .L96:
440 movl (%r14), %edx
441 andl $127, %edx
442 cmpl $18, %edx
443 je .L83
444 cmpl $17, %edx
445 jne .L12
446 #APP
447 # 271 "../nptl/pthread_mutex_lock.c" 1
448 movq $0,%fs:752
449 # 0 "" 2
450 #NO_APP
451 movl 4(%rbx), %edx
452 cmpl $-1, %edx
453 je .L25
454 addl $1, %edx
455 movl %edx, 4(%rbx)
456 jmp .L1
457 .L95:
458 movl %r13d, %eax
459 andl $-2147483648, %edx
460 orl %esi, %eax
461 orl %eax, %edx
462 movl %ecx, %eax
463 lock cmpxchgl %edx, (%rbx)
464 cmpl %eax, %ecx
465 jne .L11
466 movabsq $9223372032559808513, %rax
467 movq %rax, 4(%rbx)
468 #APP
469 # 236 "../nptl/pthread_mutex_lock.c" 1
470 movq %fs:736,%rax
471 # 0 "" 2
472 #NO_APP
473 andq $-2, %rax
474 movq %r8, -8(%rax)
475 #APP
476 # 236 "../nptl/pthread_mutex_lock.c" 1
477 movq %fs:736,%rax
478 # 0 "" 2
479 #NO_APP
480 movq %rax, 32(%rbx)
481 movq %fs:16, %rax
482 addq $736, %rax
483 movq %rax, 24(%rbx)
484 #APP
485 # 236 "../nptl/pthread_mutex_lock.c" 1
486 movq %r8,%fs:736
487 # 0 "" 2
488 # 239 "../nptl/pthread_mutex_lock.c" 1
489 movq $0,%fs:752
490 # 0 "" 2
491 #NO_APP
492 movl $130, %eax
493 jmp .L1
494 .L83:
495 #APP
496 # 381 "../nptl/pthread_mutex_lock.c" 1
497 movq $0,%fs:752
498 # 0 "" 2
499 #NO_APP
500 movl $35, %eax
501 jmp .L1
502 .L92:
503 movl $0, 4(%rbx)
504 xorl %r10d, %r10d
505 xorl %edx, %edx
506 movl $7, %esi
507 movq %rbx, %rdi
508 movl $202, %eax
509 #APP
510 # 307 "../sysdeps/nptl/futex-internal.h" 1
511 syscall
513 # 0 "" 2
514 #NO_APP
515 cmpq $-4096, %rax
516 ja .L99
517 .L37:
518 #APP
519 # 478 "../nptl/pthread_mutex_lock.c" 1
520 movq $0,%fs:752
521 # 0 "" 2
522 #NO_APP
523 movl $131, %eax
524 jmp .L1
525 .L94:
526 leaq __PRETTY_FUNCTION__.10083(%rip), %rcx
527 leaq .LC1(%rip), %rsi
528 leaq .LC3(%rip), %rdi
529 movl $424, %edx
530 call __assert_fail@PLT
531 .L99:
532 cmpl $-11, %eax
533 je .L37
534 jg .L38
535 cmpl $-38, %eax
536 je .L37
537 cmpl $-35, %eax
538 je .L37
539 cmpl $-110, %eax
540 jne .L18
541 jmp .L37
542 .L98:
543 addl $11, %eax
544 cmpl $11, %eax
545 ja .L18
546 movl %eax, %ecx
547 movq %r9, %rdi
548 salq %cl, %rdi
549 movq %rdi, %rax
550 testl $2177, %eax
551 je .L18
552 jmp .L16
553 .L89:
554 leaq __PRETTY_FUNCTION__.10083(%rip), %rcx
555 leaq .LC1(%rip), %rsi
556 leaq .LC5(%rip), %rdi
557 movl $581, %edx
558 call __assert_fail@PLT
559 .L93:
560 subl $1, %r9d
561 cmpl $1, %r9d
562 ja .L32
563 leaq __PRETTY_FUNCTION__.10083(%rip), %rcx
564 leaq .LC1(%rip), %rsi
565 leaq .LC2(%rip), %rdi
566 movl $421, %edx
567 call __assert_fail@PLT
568 .L86:
569 movl $0, 4(%rbx)
570 #APP
571 # 322 "../nptl/pthread_mutex_lock.c" 1
572 xchgl %ecx, (%rbx)
573 # 0 "" 2
574 #NO_APP
575 subl $1, %ecx
576 jle .L37
577 xorl %r10d, %r10d
578 movl $1, %edx
579 movl $1, %esi
580 movq %rbx, %rdi
581 movl $202, %eax
582 #APP
583 # 322 "../nptl/pthread_mutex_lock.c" 1
584 syscall
586 # 0 "" 2
587 #NO_APP
588 jmp .L37
589 .L97:
590 orl $-2147483648, %edx
591 movl %ecx, %eax
592 lock cmpxchgl %edx, (%rbx)
593 je .L15
594 movl (%rbx), %eax
595 movl %eax, %ecx
596 jmp .L7
597 .L38:
598 cmpl $-4, %eax
599 jl .L18
600 cmpl $-3, %eax
601 jle .L37
602 addl $1, %eax
603 je .L37
604 jmp .L18
605 .L91:
606 cmpl $2, %r9d
607 je .L83
608 cmpl $1, %r9d
609 jne .L23
610 #APP
611 # 389 "../nptl/pthread_mutex_lock.c" 1
612 movq $0,%fs:752
613 # 0 "" 2
614 #NO_APP
615 movl 4(%rbx), %eax
616 cmpl $-1, %eax
617 jne .L84
618 .L25:
619 movl $11, %eax
620 jmp .L1
621 .L50:
622 movl $35, %eax
623 jmp .L1
624 .size __pthread_mutex_lock_full, .-__pthread_mutex_lock_full
625 .section .rodata.str1.8
626 .align 8
627 .LC6:
628 .string "PTHREAD_MUTEX_TYPE (mutex) == PTHREAD_MUTEX_ERRORCHECK_NP"
629 .text
630 .p2align 4,,15
631 .globl __GI___pthread_mutex_lock
632 .hidden __GI___pthread_mutex_lock
633 .type __GI___pthread_mutex_lock, @function
634 __GI___pthread_mutex_lock:
635 movl 16(%rdi), %eax
636 movl %eax, %edx
637 andl $383, %edx
638 andl $124, %eax
639 jne .L133
640 pushq %rbp
641 pushq %rbx
642 movq %rdi, %rbx
643 subq $8, %rsp
644 testl %edx, %edx
645 jne .L102
646 movl __pthread_force_elision(%rip), %ecx
647 testl %ecx, %ecx
648 jne .L103
649 .L108:
650 xorl %eax, %eax
651 movl $1, %edx
652 lock cmpxchgl %edx, (%rbx)
653 jne .L134
654 .L104:
655 movl 8(%rbx), %edx
656 testl %edx, %edx
657 jne .L135
658 .L115:
659 #APP
660 # 153 "../nptl/pthread_mutex_lock.c" 1
661 movl %fs:720,%eax
662 # 0 "" 2
663 #NO_APP
664 addl $1, 12(%rbx)
665 movl %eax, 8(%rbx)
666 xorl %eax, %eax
667 .L100:
668 addq $8, %rsp
669 popq %rbx
670 popq %rbp
672 .p2align 4,,10
673 .p2align 3
674 .L103:
675 movl 16(%rdi), %eax
676 testb $3, %ah
677 je .L106
678 testb $1, %ah
679 je .L108
680 jmp .L107
681 .p2align 4,,10
682 .p2align 3
683 .L106:
684 orb $1, %ah
685 movl %eax, 16(%rdi)
686 .L107:
687 movl 16(%rbx), %edx
688 addq $8, %rsp
689 leaq 22(%rbx), %rsi
690 movq %rbx, %rdi
691 popq %rbx
692 popq %rbp
693 andl $128, %edx
694 jmp __lll_lock_elision
695 .p2align 4,,10
696 .p2align 3
697 .L133:
698 jmp __pthread_mutex_lock_full
699 .p2align 4,,10
700 .p2align 3
701 .L102:
702 cmpl $256, %edx
703 je .L107
704 movl 16(%rdi), %edx
705 andl $127, %edx
706 cmpl $1, %edx
707 jne .L110
708 #APP
709 # 99 "../nptl/pthread_mutex_lock.c" 1
710 movl %fs:720,%ecx
711 # 0 "" 2
712 #NO_APP
713 cmpl %ecx, 8(%rdi)
714 jne .L111
715 movl 4(%rdi), %eax
716 cmpl $-1, %eax
717 je .L123
718 addl $1, %eax
719 movl %eax, 4(%rdi)
720 xorl %eax, %eax
721 jmp .L100
722 .p2align 4,,10
723 .p2align 3
724 .L134:
725 movl 16(%rbx), %esi
726 movq %rbx, %rdi
727 andl $128, %esi
728 call __lll_lock_wait
729 jmp .L104
730 .L111:
731 lock cmpxchgl %edx, (%rdi)
732 jne .L136
733 .L113:
734 movl 8(%rbx), %eax
735 testl %eax, %eax
736 jne .L137
737 movl $1, 4(%rbx)
738 jmp .L115
739 .L110:
740 movl 16(%rdi), %edx
741 andl $127, %edx
742 cmpl $3, %edx
743 jne .L116
744 movl $1, %edx
745 lock cmpxchgl %edx, (%rdi)
746 jne .L138
747 .L117:
748 cmpl $0, 8(%rbx)
749 je .L115
750 leaq __PRETTY_FUNCTION__.9988(%rip), %rcx
751 leaq .LC1(%rip), %rsi
752 leaq .LC5(%rip), %rdi
753 movl $141, %edx
754 call __assert_fail@PLT
755 .L136:
756 movl 16(%rdi), %esi
757 andl $128, %esi
758 call __lll_lock_wait
759 jmp .L113
760 .L123:
761 movl $11, %eax
762 jmp .L100
763 .L135:
764 leaq __PRETTY_FUNCTION__.9988(%rip), %rcx
765 leaq .LC1(%rip), %rsi
766 leaq .LC5(%rip), %rdi
767 movl $81, %edx
768 call __assert_fail@PLT
769 .L138:
770 movswl 20(%rdi), %eax
771 movswl __mutex_aconf(%rip), %edx
772 movl $1, %ecx
773 leal 10(%rax,%rax), %eax
774 cmpl %edx, %eax
775 cmovle %eax, %edx
776 xorl %ebp, %ebp
777 xorl %esi, %esi
778 .L121:
779 addl $1, %ebp
780 leal -1(%rbp), %eax
781 cmpl %eax, %edx
782 jle .L139
783 #APP
784 # 135 "../nptl/pthread_mutex_lock.c" 1
785 pause
786 # 0 "" 2
787 #NO_APP
788 movl %esi, %eax
789 lock cmpxchgl %ecx, (%rbx)
790 jne .L121
791 .L120:
792 movswl 20(%rbx), %eax
793 movl $8, %esi
794 subl %eax, %ebp
795 movl %eax, %ecx
796 movl %ebp, %eax
797 cltd
798 idivl %esi
799 addl %ecx, %eax
800 movw %ax, 20(%rbx)
801 jmp .L117
802 .L116:
803 #APP
804 # 145 "../nptl/pthread_mutex_lock.c" 1
805 movl %fs:720,%edx
806 # 0 "" 2
807 #NO_APP
808 movl 16(%rdi), %eax
809 andl $127, %eax
810 cmpl $2, %eax
811 jne .L140
812 cmpl %edx, 8(%rdi)
813 jne .L108
814 movl $35, %eax
815 jmp .L100
816 .L137:
817 leaq __PRETTY_FUNCTION__.9988(%rip), %rcx
818 leaq .LC1(%rip), %rsi
819 leaq .LC5(%rip), %rdi
820 movl $117, %edx
821 call __assert_fail@PLT
822 .L139:
823 xorl %eax, %eax
824 movl $1, %edx
825 lock cmpxchgl %edx, (%rbx)
826 je .L120
827 movl 16(%rbx), %esi
828 movq %rbx, %rdi
829 andl $128, %esi
830 call __lll_lock_wait
831 jmp .L120
832 .L140:
833 leaq __PRETTY_FUNCTION__.9988(%rip), %rcx
834 leaq .LC1(%rip), %rsi
835 leaq .LC6(%rip), %rdi
836 movl $146, %edx
837 call __assert_fail@PLT
838 .size __GI___pthread_mutex_lock, .-__GI___pthread_mutex_lock
839 .weak pthread_mutex_lock
840 .set pthread_mutex_lock,__GI___pthread_mutex_lock
841 .globl __pthread_mutex_lock
842 .set __pthread_mutex_lock,__GI___pthread_mutex_lock
843 .section .rodata.str1.16,"aMS",@progbits,1
844 .align 16
845 .type __PRETTY_FUNCTION__.10083, @object
846 .size __PRETTY_FUNCTION__.10083, 26
847 __PRETTY_FUNCTION__.10083:
848 .string "__pthread_mutex_lock_full"
849 .align 16
850 .type __PRETTY_FUNCTION__.9988, @object
851 .size __PRETTY_FUNCTION__.9988, 21
852 __PRETTY_FUNCTION__.9988:
853 .string "__pthread_mutex_lock"
854 .hidden __mutex_aconf
855 .hidden __lll_lock_wait
856 .hidden __lll_lock_elision
857 .hidden __pthread_force_elision
858 .hidden __pthread_current_priority
859 .hidden __pthread_tpp_change_priority