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