	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function pmap_pv_reclaim
_pmap_pv_reclaim:                       ## @pmap_pv_reclaim
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$104, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_MA_OWNED@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rdi, -72(%rbp)                 ## 8-byte Spill
	callq	_PMAP_LOCK_ASSERT
	leaq	-48(%rbp), %rdi
	callq	_SLIST_INIT
	leaq	-56(%rbp), %rdi
	callq	_TAILQ_INIT
	movq	_pv_chunks@GOTPCREL(%rip), %rdi
	callq	_TAILQ_FIRST
	testq	%rax, %rax
	je	LBB0_50
## %bb.1:
	movq	%rax, %r15
	xorl	%eax, %eax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	xorl	%r12d, %r12d
	jmp	LBB0_5
LBB0_44:                                ##   in Loop: Header=BB0_5 Depth=1
	xorl	%r14d, %r14d
	cmpl	%eax, %r14d
	jne	LBB0_4
	jmp	LBB0_49
	.p2align	4, 0x90
LBB0_2:                                 ##   in Loop: Header=BB0_5 Depth=1
	movq	%r13, %r12
LBB0_3:                                 ##   in Loop: Header=BB0_5 Depth=1
	movq	_pc_lru@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-56(%rbp), %rdi
	movq	%r15, %rsi
	callq	_TAILQ_INSERT_TAIL
LBB0_4:                                 ##   in Loop: Header=BB0_5 Depth=1
	movq	_pv_chunks@GOTPCREL(%rip), %rdi
	callq	_TAILQ_FIRST
	movq	%rax, %r15
	testq	%rax, %rax
	je	LBB0_51
LBB0_5:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_20 Depth 2
                                        ##       Child Loop BB0_24 Depth 3
                                        ##     Child Loop BB0_41 Depth 2
	movq	_pv_vafree@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_7
## %bb.6:                               ##   in Loop: Header=BB0_5 Depth=1
	leaq	-48(%rbp), %rdi
	callq	_SLIST_EMPTY
	testq	%rax, %rax
	je	LBB0_51
LBB0_7:                                 ##   in Loop: Header=BB0_5 Depth=1
	movq	_pc_lru@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_pv_chunks@GOTPCREL(%rip), %rdi
	movq	%r15, %rsi
	callq	_TAILQ_REMOVE
	movq	24(%r15), %r14
	movq	%r12, %r13
	cmpq	%r14, %r12
	je	LBB0_16
## %bb.8:                               ##   in Loop: Header=BB0_5 Depth=1
	testq	%r13, %r13
	je	LBB0_13
## %bb.9:                               ##   in Loop: Header=BB0_5 Depth=1
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	cmpq	%rax, %r13
	je	LBB0_11
## %bb.10:                              ##   in Loop: Header=BB0_5 Depth=1
	movq	%r13, %rdi
	callq	_PMAP_UNLOCK
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movq	24(%r15), %r14
LBB0_11:                                ##   in Loop: Header=BB0_5 Depth=1
	cmpq	%rax, %r14
	jbe	LBB0_14
LBB0_12:                                ##   in Loop: Header=BB0_5 Depth=1
	movq	%r14, %rdi
	callq	_PMAP_LOCK
	movq	%r14, %r13
	jmp	LBB0_16
LBB0_13:                                ##   in Loop: Header=BB0_5 Depth=1
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	cmpq	%rax, %r14
	ja	LBB0_12
LBB0_14:                                ##   in Loop: Header=BB0_5 Depth=1
	movq	%rax, %r13
	je	LBB0_16
## %bb.15:                              ##   in Loop: Header=BB0_5 Depth=1
	movq	%r14, %rdi
	callq	_PMAP_TRYLOCK
	movq	%r14, %r13
	testl	%eax, %eax
	je	LBB0_48
	.p2align	4, 0x90
LBB0_16:                                ##   in Loop: Header=BB0_5 Depth=1
	movq	__NPCM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, %eax
	jle	LBB0_2
## %bb.17:                              ##   in Loop: Header=BB0_5 Depth=1
	xorl	%edx, %edx
	movl	$0, -76(%rbp)                   ## 4-byte Folded Spill
	movq	%r15, -112(%rbp)                ## 8-byte Spill
	movq	%r13, -88(%rbp)                 ## 8-byte Spill
	jmp	LBB0_20
	.p2align	4, 0x90
LBB0_18:                                ##   in Loop: Header=BB0_20 Depth=2
	movq	__NPCM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	-104(%rbp), %rdx                ## 8-byte Reload
LBB0_19:                                ##   in Loop: Header=BB0_20 Depth=2
	incq	%rdx
	movslq	%eax, %rcx
	cmpq	%rcx, %rdx
	jge	LBB0_38
LBB0_20:                                ##   Parent Loop BB0_5 Depth=1
                                        ## =>  This Loop Header: Depth=2
                                        ##       Child Loop BB0_24 Depth 3
	movq	(%r15), %rcx
	movq	(%rcx,%rdx,8), %rdi
	notq	%rdi
	movq	_pc_freemask@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	andq	(%rcx,%rdx,8), %rdi
	je	LBB0_19
## %bb.21:                              ##   in Loop: Header=BB0_20 Depth=2
	movq	%rdx, -104(%rbp)                ## 8-byte Spill
	shlq	$5, %rdx
	movq	%rdx, -128(%rbp)                ## 8-byte Spill
	jmp	LBB0_24
	.p2align	4, 0x90
LBB0_28:                                ##   in Loop: Header=BB0_24 Depth=3
	movq	-112(%rbp), %r15                ## 8-byte Reload
	movq	-88(%rbp), %r13                 ## 8-byte Reload
LBB0_22:                                ##   in Loop: Header=BB0_24 Depth=3
	movq	-96(%rbp), %rbx                 ## 8-byte Reload
LBB0_23:                                ##   in Loop: Header=BB0_24 Depth=3
	movq	$-2, %rax
	movl	%ebx, %ecx
	rolq	%cl, %rax
	movq	-136(%rbp), %rdi                ## 8-byte Reload
	andq	%rax, %rdi
	je	LBB0_18
LBB0_24:                                ##   Parent Loop BB0_5 Depth=1
                                        ##     Parent Loop BB0_20 Depth=2
                                        ## =>    This Inner Loop Header: Depth=3
	movq	%rdi, -136(%rbp)                ## 8-byte Spill
	bsfq	%rdi, %rcx
	movq	16(%r15), %r12
	movq	-128(%rbp), %rax                ## 8-byte Reload
	movq	%rcx, -96(%rbp)                 ## 8-byte Spill
	leal	(%rcx,%rax), %r14d
	shlq	$5, %r14
	movl	8(%r12,%r14), %ebx
	movq	%r13, %rdi
	movl	%ebx, %esi
	callq	_pmap_pte1
	movq	%rax, %rdi
	callq	_pte1_load
	movl	%eax, %edi
	callq	_pte1_is_section
	testq	%rax, %rax
	jne	LBB0_22
## %bb.25:                              ##   in Loop: Header=BB0_24 Depth=3
	movq	%r12, -120(%rbp)                ## 8-byte Spill
	movq	%r13, %rdi
	movl	%ebx, -80(%rbp)                 ## 4-byte Spill
	movl	%ebx, %esi
	callq	_pmap_pte2
	movq	%rax, %rbx
	movq	%rax, %rdi
	callq	_pte2_load
	movl	%eax, %r12d
	movq	_PTE2_W@GOTPCREL(%rip), %r15
	testl	%eax, (%r15)
	jne	LBB0_27
## %bb.26:                              ##   in Loop: Header=BB0_24 Depth=3
	movq	%rbx, %rdi
	callq	_pte2_load_clear
	movl	%eax, %r12d
LBB0_27:                                ##   in Loop: Header=BB0_24 Depth=3
	movq	%rbx, %rdi
	callq	_pmap_pte2_release
	testl	%r12d, (%r15)
	jne	LBB0_28
## %bb.29:                              ##   in Loop: Header=BB0_24 Depth=3
	movl	-80(%rbp), %ebx                 ## 4-byte Reload
	movslq	%ebx, %rsi
	xorl	%edi, %edi
	testl	%r12d, %r12d
	setne	%dil
	callq	_KASSERT
	movq	-88(%rbp), %rdi                 ## 8-byte Reload
	movl	%ebx, %esi
	callq	_pmap_tlb_flush
	movl	%r12d, %edi
	callq	_pte2_pa
	movl	%eax, %edi
	callq	_PHYS_TO_VM_PAGE
	movq	%rax, %r13
	movl	%r12d, %edi
	callq	_pte2_is_dirty
	testq	%rax, %rax
	je	LBB0_31
## %bb.30:                              ##   in Loop: Header=BB0_24 Depth=3
	movq	%r13, %rdi
	callq	_vm_page_dirty
LBB0_31:                                ##   in Loop: Header=BB0_24 Depth=3
	movq	-120(%rbp), %rax                ## 8-byte Reload
	addq	%r14, %rax
	movq	%rax, %r14
	movq	_PTE2_A@GOTPCREL(%rip), %rax
	testl	%r12d, (%rax)
	je	LBB0_33
## %bb.32:                              ##   in Loop: Header=BB0_24 Depth=3
	movq	_PGA_REFERENCED@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_vm_page_aflag_set
LBB0_33:                                ##   in Loop: Header=BB0_24 Depth=3
	movq	%r13, %rbx
	addq	$8, %rbx
	movq	_pv_next@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	movq	%r14, %rsi
	callq	_TAILQ_REMOVE
	movq	%rbx, %rdi
	callq	_TAILQ_EMPTY
	testq	%rax, %rax
	movq	-112(%rbp), %r15                ## 8-byte Reload
	movq	-88(%rbp), %rsi                 ## 8-byte Reload
	je	LBB0_37
## %bb.34:                              ##   in Loop: Header=BB0_24 Depth=3
	movq	_PG_FICTITIOUS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r13)
	jne	LBB0_37
## %bb.35:                              ##   in Loop: Header=BB0_24 Depth=3
	movq	%r13, %rdi
	movq	%rsi, %rbx
	callq	_VM_PAGE_TO_PHYS
	movl	%eax, %edi
	callq	_pa_to_pvh
	movq	%rax, %rdi
	callq	_TAILQ_EMPTY
	movq	%rbx, %rsi
	testq	%rax, %rax
	je	LBB0_37
## %bb.36:                              ##   in Loop: Header=BB0_24 Depth=3
	movq	_PGA_WRITEABLE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_vm_page_aflag_clear
	movq	%rbx, %rsi
LBB0_37:                                ##   in Loop: Header=BB0_24 Depth=3
	movl	$1, %eax
	movq	-96(%rbp), %rbx                 ## 8-byte Reload
	movl	%ebx, %ecx
	shlq	%cl, %rax
	movq	(%r15), %rcx
	movq	-104(%rbp), %rdx                ## 8-byte Reload
	orq	%rax, (%rcx,%rdx,8)
	movq	%rsi, %rdi
	movq	%rsi, %r13
	movl	-80(%rbp), %esi                 ## 4-byte Reload
	leaq	-48(%rbp), %rdx
	callq	_pmap_unuse_pt2
	incl	-76(%rbp)                       ## 4-byte Folded Spill
	jmp	LBB0_23
	.p2align	4, 0x90
LBB0_38:                                ##   in Loop: Header=BB0_5 Depth=1
	movl	-76(%rbp), %eax                 ## 4-byte Reload
	testl	%eax, %eax
	je	LBB0_2
## %bb.39:                              ##   in Loop: Header=BB0_5 Depth=1
	subl	%eax, 4(%r13)
	movl	%eax, %r14d
	movq	_pv_entry_frees@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	addl	%r14d, %edi
	movl	%edi, (%rax)
	callq	_PV_STAT
	movq	_pv_entry_spare@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	addl	%r14d, %edi
	movl	%edi, (%rax)
	callq	_PV_STAT
	movq	_pv_entry_count@GOTPCREL(%rip), %rax
	subl	%r14d, (%rax)
	movq	_pc_list@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r13, %r12
	movq	%r13, %rdi
	movq	%r15, %rsi
	callq	_TAILQ_REMOVE
	movq	__NPCM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, %eax
	jle	LBB0_44
## %bb.40:                              ##   in Loop: Header=BB0_5 Depth=1
	movq	(%r15), %rcx
	movq	_pc_freemask@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	xorl	%r14d, %r14d
	.p2align	4, 0x90
LBB0_41:                                ##   Parent Loop BB0_5 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	(%rcx,%r14,8), %rsi
	cmpq	(%rdx,%r14,8), %rsi
	jne	LBB0_45
## %bb.42:                              ##   in Loop: Header=BB0_41 Depth=2
	incq	%r14
	cmpq	%r14, %rax
	jne	LBB0_41
	jmp	LBB0_49
LBB0_45:                                ##   in Loop: Header=BB0_5 Depth=1
	movq	_pc_list@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rbx
	movq	%r12, %rdi
	movq	%r15, %rsi
	callq	_TAILQ_INSERT_HEAD
	movq	_pc_lru@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	-56(%rbp), %rdi
	movq	%r15, %rsi
	callq	_TAILQ_INSERT_TAIL
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	cmpq	%rax, %r12
	je	LBB0_60
## %bb.46:                              ##   in Loop: Header=BB0_5 Depth=1
	movq	__NPCM@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	%eax, %r14d
	jne	LBB0_4
	jmp	LBB0_49
LBB0_48:                                ##   in Loop: Header=BB0_5 Depth=1
	xorl	%r12d, %r12d
	jmp	LBB0_3
LBB0_49:
	movq	__NPCPV@GOTPCREL(%rip), %rax
	movq	_pv_entry_spare@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	subl	(%rax), %edi
	movl	%edi, (%rcx)
	callq	_PV_STAT
	movq	_pc_chunk_count@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leal	-1(%rdi), %ecx
	movl	%ecx, (%rax)
                                        ## kill: def $edi killed $edi killed $rdi
	callq	_PV_STAT
	movq	_pc_chunk_frees@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leal	1(%rdi), %ecx
	movl	%ecx, (%rax)
                                        ## kill: def $edi killed $edi killed $rdi
	callq	_PV_STAT
	movl	%r15d, %edi
	callq	_pmap_kextract
	movl	%eax, %edi
	callq	_PHYS_TO_VM_PAGE
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movl	%r15d, %edi
	movl	$1, %esi
	callq	_pmap_qremove
	movq	_pv_vafree@GOTPCREL(%rip), %rdi
	movl	%r15d, %esi
	callq	_pmap_pte2list_free
	jmp	LBB0_51
LBB0_50:
	xorl	%eax, %eax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	xorl	%r12d, %r12d
LBB0_51:
	movq	_pc_lru@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_pv_chunks@GOTPCREL(%rip), %rdi
	leaq	-56(%rbp), %rsi
	callq	_TAILQ_CONCAT
	testq	%r12, %r12
	je	LBB0_54
## %bb.52:
	movq	%r12, %rdi
	cmpq	-72(%rbp), %r12                 ## 8-byte Folded Reload
	je	LBB0_54
## %bb.53:
	callq	_PMAP_UNLOCK
LBB0_54:
	cmpq	$0, -64(%rbp)                   ## 8-byte Folded Reload
	jne	LBB0_59
## %bb.55:
	movq	_pv_vafree@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_59
## %bb.56:
	leaq	-48(%rbp), %rdi
	callq	_SLIST_EMPTY
	testq	%rax, %rax
	je	LBB0_58
## %bb.57:
	leaq	-48(%rbp), %r14
	movq	%r14, %rdi
	callq	_SLIST_FIRST
	movq	%rax, %rbx
	movq	_plinks@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r14, %rdi
	callq	_SLIST_REMOVE_HEAD
	movq	%rbx, -64(%rbp)                 ## 8-byte Spill
	movl	$1, 4(%rbx)
	movl	$1, %edi
	callq	_vm_wire_add
	jmp	LBB0_59
LBB0_58:
	xorl	%eax, %eax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
LBB0_59:
	leaq	-48(%rbp), %rdi
	xorl	%esi, %esi
	callq	_vm_page_free_pages_toq
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	addq	$104, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_60:
	movq	%rax, %r12
	jmp	LBB0_51
	.cfi_endproc
                                        ## -- End function
	.comm	_MA_OWNED,4,2                   ## @MA_OWNED
	.comm	_pv_chunks,4,2                  ## @pv_chunks
	.comm	_pv_vafree,8,3                  ## @pv_vafree
	.comm	_pc_lru,4,2                     ## @pc_lru
	.comm	__NPCM,4,2                      ## @_NPCM
	.comm	_pc_freemask,8,3                ## @pc_freemask
	.comm	_PTE2_W,4,2                     ## @PTE2_W
	.comm	_PTE2_A,4,2                     ## @PTE2_A
	.comm	_PGA_REFERENCED,4,2             ## @PGA_REFERENCED
	.comm	_pv_next,4,2                    ## @pv_next
	.comm	_PG_FICTITIOUS,4,2              ## @PG_FICTITIOUS
	.comm	_PGA_WRITEABLE,4,2              ## @PGA_WRITEABLE
	.comm	_pv_entry_frees,4,2             ## @pv_entry_frees
	.comm	_pv_entry_spare,4,2             ## @pv_entry_spare
	.comm	_pv_entry_count,4,2             ## @pv_entry_count
	.comm	_pc_list,4,2                    ## @pc_list
	.comm	__NPCPV,4,2                     ## @_NPCPV
	.comm	_pc_chunk_count,4,2             ## @pc_chunk_count
	.comm	_pc_chunk_frees,4,2             ## @pc_chunk_frees
	.comm	_plinks,4,2                     ## @plinks
	.no_dead_strip	_pmap_pv_reclaim
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function pmap_pv_reclaim
_pmap_pv_reclaim:                       ; @pmap_pv_reclaim
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #144
	.cfi_def_cfa_offset 144
	stp	x28, x27, [sp, #48]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #64]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #80]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #96]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #112]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #128]            ; 16-byte Folded Spill
	add	x29, sp, #128
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
Lloh0:
	adrp	x8, _MA_OWNED@GOTPAGE
Lloh1:
	ldr	x8, [x8, _MA_OWNED@GOTPAGEOFF]
Lloh2:
	ldr	w1, [x8]
	str	x0, [sp]                        ; 8-byte Folded Spill
	bl	_PMAP_LOCK_ASSERT
	add	x0, sp, #32
	bl	_SLIST_INIT
	add	x0, sp, #40
	bl	_TAILQ_INIT
Lloh3:
	adrp	x0, _pv_chunks@GOTPAGE
Lloh4:
	ldr	x0, [x0, _pv_chunks@GOTPAGEOFF]
	bl	_TAILQ_FIRST
Lloh5:
	adrp	x23, _pc_lru@GOTPAGE
Lloh6:
	ldr	x23, [x23, _pc_lru@GOTPAGEOFF]
	cbz	x0, LBB0_2
; %bb.1:
	mov	x21, x0
	mov	x20, #0
	mov	w22, #1
	b	LBB0_7
LBB0_2:
	mov	x22, #0
	mov	x20, #0
	b	LBB0_49
LBB0_3:                                 ;   in Loop: Header=BB0_7 Depth=1
	mov	x20, #0
LBB0_4:                                 ;   in Loop: Header=BB0_7 Depth=1
Lloh7:
	adrp	x23, _pc_lru@GOTPAGE
Lloh8:
	ldr	x23, [x23, _pc_lru@GOTPAGEOFF]
LBB0_5:                                 ;   in Loop: Header=BB0_7 Depth=1
	ldr	w2, [x23]
	add	x0, sp, #40
	mov	x1, x21
	bl	_TAILQ_INSERT_TAIL
LBB0_6:                                 ;   in Loop: Header=BB0_7 Depth=1
Lloh9:
	adrp	x0, _pv_chunks@GOTPAGE
Lloh10:
	ldr	x0, [x0, _pv_chunks@GOTPAGEOFF]
	bl	_TAILQ_FIRST
	mov	x21, x0
	cbz	x0, LBB0_48
LBB0_7:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_22 Depth 2
                                        ;       Child Loop BB0_26 Depth 3
                                        ;     Child Loop BB0_42 Depth 2
Lloh11:
	adrp	x8, _pv_vafree@GOTPAGE
Lloh12:
	ldr	x8, [x8, _pv_vafree@GOTPAGEOFF]
Lloh13:
	ldr	x8, [x8]
	cbz	x8, LBB0_9
; %bb.8:                                ;   in Loop: Header=BB0_7 Depth=1
	add	x0, sp, #32
	bl	_SLIST_EMPTY
	cbz	x0, LBB0_48
LBB0_9:                                 ;   in Loop: Header=BB0_7 Depth=1
	ldr	w2, [x23]
Lloh14:
	adrp	x0, _pv_chunks@GOTPAGE
Lloh15:
	ldr	x0, [x0, _pv_chunks@GOTPAGEOFF]
	mov	x1, x21
	bl	_TAILQ_REMOVE
	ldr	x23, [x21, #24]
	cmp	x20, x23
	b.eq	LBB0_18
; %bb.10:                               ;   in Loop: Header=BB0_7 Depth=1
	cbz	x20, LBB0_15
; %bb.11:                               ;   in Loop: Header=BB0_7 Depth=1
	ldr	x8, [sp]                        ; 8-byte Folded Reload
	cmp	x20, x8
	b.eq	LBB0_13
; %bb.12:                               ;   in Loop: Header=BB0_7 Depth=1
	mov	x0, x20
	bl	_PMAP_UNLOCK
	ldr	x8, [sp]                        ; 8-byte Folded Reload
	ldr	x23, [x21, #24]
LBB0_13:                                ;   in Loop: Header=BB0_7 Depth=1
	cmp	x23, x8
	b.ls	LBB0_16
LBB0_14:                                ;   in Loop: Header=BB0_7 Depth=1
	mov	x0, x23
	bl	_PMAP_LOCK
	mov	x20, x23
	b	LBB0_18
LBB0_15:                                ;   in Loop: Header=BB0_7 Depth=1
	ldr	x8, [sp]                        ; 8-byte Folded Reload
	cmp	x23, x8
	b.hi	LBB0_14
LBB0_16:                                ;   in Loop: Header=BB0_7 Depth=1
	mov	x20, x8
	b.eq	LBB0_18
; %bb.17:                               ;   in Loop: Header=BB0_7 Depth=1
	mov	x0, x23
	bl	_PMAP_TRYLOCK
	mov	x20, x23
	cbz	w0, LBB0_3
LBB0_18:                                ;   in Loop: Header=BB0_7 Depth=1
Lloh16:
	adrp	x8, __NPCM@GOTPAGE
Lloh17:
	ldr	x8, [x8, __NPCM@GOTPAGEOFF]
Lloh18:
	ldr	w8, [x8]
	cmp	w8, #1
	b.lt	LBB0_4
; %bb.19:                               ;   in Loop: Header=BB0_7 Depth=1
	mov	x11, #0
	str	wzr, [sp, #28]                  ; 4-byte Folded Spill
	b	LBB0_22
LBB0_20:                                ;   in Loop: Header=BB0_22 Depth=2
Lloh19:
	adrp	x8, __NPCM@GOTPAGE
Lloh20:
	ldr	x8, [x8, __NPCM@GOTPAGEOFF]
Lloh21:
	ldr	w8, [x8]
	ldr	x11, [sp, #8]                   ; 8-byte Folded Reload
LBB0_21:                                ;   in Loop: Header=BB0_22 Depth=2
	add	x11, x11, #1
	cmp	x11, w8, sxtw
	b.ge	LBB0_39
LBB0_22:                                ;   Parent Loop BB0_7 Depth=1
                                        ; =>  This Loop Header: Depth=2
                                        ;       Child Loop BB0_26 Depth 3
	ldr	x9, [x21]
	lsl	x12, x11, #3
	ldr	x9, [x9, x12]
Lloh22:
	adrp	x10, _pc_freemask@GOTPAGE
Lloh23:
	ldr	x10, [x10, _pc_freemask@GOTPAGEOFF]
Lloh24:
	ldr	x10, [x10]
	str	x12, [sp, #16]                  ; 8-byte Folded Spill
	ldr	x10, [x10, x12]
	bics	x19, x10, x9
	b.eq	LBB0_21
; %bb.23:                               ;   in Loop: Header=BB0_22 Depth=2
	str	x11, [sp, #8]                   ; 8-byte Folded Spill
	lsl	x28, x11, #5
	b	LBB0_26
LBB0_24:                                ;   in Loop: Header=BB0_26 Depth=3
	mov	w22, #1
LBB0_25:                                ;   in Loop: Header=BB0_26 Depth=3
	lsl	x8, x22, x27
	bics	x19, x19, x8
	b.eq	LBB0_20
LBB0_26:                                ;   Parent Loop BB0_7 Depth=1
                                        ;     Parent Loop BB0_22 Depth=2
                                        ; =>    This Inner Loop Header: Depth=3
	rbit	x8, x19
	clz	x27, x8
	ldr	x8, [x21, #16]
	add	w9, w28, w27
	add	x24, x8, x9, lsl #5
	ldr	w23, [x24, #8]
	mov	x0, x20
	mov	x1, x23
	bl	_pmap_pte1
	bl	_pte1_load
	bl	_pte1_is_section
	cbnz	x0, LBB0_25
; %bb.27:                               ;   in Loop: Header=BB0_26 Depth=3
	sxtw	x23, w23
	mov	x0, x20
	mov	x1, x23
	bl	_pmap_pte2
	mov	x25, x0
	bl	_pte2_load
	mov	x26, x0
Lloh25:
	adrp	x22, _PTE2_W@GOTPAGE
Lloh26:
	ldr	x22, [x22, _PTE2_W@GOTPAGEOFF]
	ldr	w8, [x22]
	tst	w8, w0
	b.ne	LBB0_29
; %bb.28:                               ;   in Loop: Header=BB0_26 Depth=3
	mov	x0, x25
	bl	_pte2_load_clear
	mov	x26, x0
LBB0_29:                                ;   in Loop: Header=BB0_26 Depth=3
	mov	x0, x25
	bl	_pmap_pte2_release
	ldr	w8, [x22]
	tst	w8, w26
	b.ne	LBB0_24
; %bb.30:                               ;   in Loop: Header=BB0_26 Depth=3
	cmp	w26, #0
	cset	w0, ne
	mov	x1, x23
	bl	_KASSERT
	mov	x0, x20
	mov	x1, x23
	bl	_pmap_tlb_flush
	mov	x0, x26
	bl	_pte2_pa
	bl	_PHYS_TO_VM_PAGE
	mov	x25, x0
	mov	x0, x26
	bl	_pte2_is_dirty
	mov	w22, #1
	cbz	x0, LBB0_32
; %bb.31:                               ;   in Loop: Header=BB0_26 Depth=3
	mov	x0, x25
	bl	_vm_page_dirty
LBB0_32:                                ;   in Loop: Header=BB0_26 Depth=3
Lloh27:
	adrp	x8, _PTE2_A@GOTPAGE
Lloh28:
	ldr	x8, [x8, _PTE2_A@GOTPAGEOFF]
Lloh29:
	ldr	w8, [x8]
	tst	w8, w26
	b.eq	LBB0_34
; %bb.33:                               ;   in Loop: Header=BB0_26 Depth=3
Lloh30:
	adrp	x8, _PGA_REFERENCED@GOTPAGE
Lloh31:
	ldr	x8, [x8, _PGA_REFERENCED@GOTPAGEOFF]
Lloh32:
	ldr	w1, [x8]
	mov	x0, x25
	bl	_vm_page_aflag_set
LBB0_34:                                ;   in Loop: Header=BB0_26 Depth=3
	add	x26, x25, #8
Lloh33:
	adrp	x8, _pv_next@GOTPAGE
Lloh34:
	ldr	x8, [x8, _pv_next@GOTPAGEOFF]
Lloh35:
	ldr	w2, [x8]
	mov	x0, x26
	mov	x1, x24
	bl	_TAILQ_REMOVE
	mov	x0, x26
	bl	_TAILQ_EMPTY
	cbz	x0, LBB0_38
; %bb.35:                               ;   in Loop: Header=BB0_26 Depth=3
	ldr	w8, [x25]
Lloh36:
	adrp	x9, _PG_FICTITIOUS@GOTPAGE
Lloh37:
	ldr	x9, [x9, _PG_FICTITIOUS@GOTPAGEOFF]
Lloh38:
	ldr	w9, [x9]
	tst	w9, w8
	b.ne	LBB0_38
; %bb.36:                               ;   in Loop: Header=BB0_26 Depth=3
	mov	x0, x25
	bl	_VM_PAGE_TO_PHYS
	bl	_pa_to_pvh
	bl	_TAILQ_EMPTY
	cbz	x0, LBB0_38
; %bb.37:                               ;   in Loop: Header=BB0_26 Depth=3
Lloh39:
	adrp	x8, _PGA_WRITEABLE@GOTPAGE
Lloh40:
	ldr	x8, [x8, _PGA_WRITEABLE@GOTPAGEOFF]
Lloh41:
	ldr	w1, [x8]
	mov	x0, x25
	bl	_vm_page_aflag_clear
LBB0_38:                                ;   in Loop: Header=BB0_26 Depth=3
	lsl	x8, x22, x27
	ldr	x9, [x21]
	ldr	x11, [sp, #16]                  ; 8-byte Folded Reload
	ldr	x10, [x9, x11]
	orr	x8, x10, x8
	str	x8, [x9, x11]
	add	x2, sp, #32
	mov	x0, x20
	mov	x1, x23
	bl	_pmap_unuse_pt2
	ldr	w8, [sp, #28]                   ; 4-byte Folded Reload
	add	w8, w8, #1
	str	w8, [sp, #28]                   ; 4-byte Folded Spill
	b	LBB0_25
LBB0_39:                                ;   in Loop: Header=BB0_7 Depth=1
Lloh42:
	adrp	x23, _pc_lru@GOTPAGE
Lloh43:
	ldr	x23, [x23, _pc_lru@GOTPAGEOFF]
	ldr	w8, [sp, #28]                   ; 4-byte Folded Reload
	cbz	w8, LBB0_5
; %bb.40:                               ;   in Loop: Header=BB0_7 Depth=1
	mov	x19, x8
	ldr	w8, [x20, #4]
	sub	w8, w8, w19
	str	w8, [x20, #4]
Lloh44:
	adrp	x9, _pv_entry_frees@GOTPAGE
Lloh45:
	ldr	x9, [x9, _pv_entry_frees@GOTPAGEOFF]
	ldr	w8, [x9]
	add	w0, w8, w19
	str	w0, [x9]
	bl	_PV_STAT
Lloh46:
	adrp	x9, _pv_entry_spare@GOTPAGE
Lloh47:
	ldr	x9, [x9, _pv_entry_spare@GOTPAGEOFF]
	ldr	w8, [x9]
	add	w0, w8, w19
	str	w0, [x9]
	bl	_PV_STAT
Lloh48:
	adrp	x9, _pv_entry_count@GOTPAGE
Lloh49:
	ldr	x9, [x9, _pv_entry_count@GOTPAGEOFF]
	ldr	w8, [x9]
	sub	w8, w8, w19
	str	w8, [x9]
Lloh50:
	adrp	x8, _pc_list@GOTPAGE
Lloh51:
	ldr	x8, [x8, _pc_list@GOTPAGEOFF]
Lloh52:
	ldr	w2, [x8]
	mov	x0, x20
	mov	x1, x21
	bl	_TAILQ_REMOVE
Lloh53:
	adrp	x8, __NPCM@GOTPAGE
Lloh54:
	ldr	x8, [x8, __NPCM@GOTPAGEOFF]
Lloh55:
	ldr	w8, [x8]
	cmp	w8, #1
	b.lt	LBB0_44
; %bb.41:                               ;   in Loop: Header=BB0_7 Depth=1
	mov	x19, #0
	ldr	x9, [x21]
Lloh56:
	adrp	x10, _pc_freemask@GOTPAGE
Lloh57:
	ldr	x10, [x10, _pc_freemask@GOTPAGEOFF]
Lloh58:
	ldr	x10, [x10]
LBB0_42:                                ;   Parent Loop BB0_7 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	lsl	x11, x19, #3
	ldr	x12, [x9, x11]
	ldr	x11, [x10, x11]
	cmp	x12, x11
	b.ne	LBB0_45
; %bb.43:                               ;   in Loop: Header=BB0_42 Depth=2
	add	x19, x19, #1
	cmp	x8, x19
	b.ne	LBB0_42
	b	LBB0_47
LBB0_44:                                ;   in Loop: Header=BB0_7 Depth=1
	mov	w19, #0
	cmp	w19, w8
	b.ne	LBB0_6
	b	LBB0_47
LBB0_45:                                ;   in Loop: Header=BB0_7 Depth=1
Lloh59:
	adrp	x8, _pc_list@GOTPAGE
Lloh60:
	ldr	x8, [x8, _pc_list@GOTPAGEOFF]
Lloh61:
	ldr	w2, [x8]
	mov	x0, x20
	mov	x1, x21
	bl	_TAILQ_INSERT_HEAD
	ldr	w2, [x23]
	add	x0, sp, #40
	mov	x1, x21
	bl	_TAILQ_INSERT_TAIL
	ldr	x8, [sp]                        ; 8-byte Folded Reload
	cmp	x20, x8
	b.eq	LBB0_58
; %bb.46:                               ;   in Loop: Header=BB0_7 Depth=1
Lloh62:
	adrp	x8, __NPCM@GOTPAGE
Lloh63:
	ldr	x8, [x8, __NPCM@GOTPAGEOFF]
Lloh64:
	ldr	w8, [x8]
	cmp	w19, w8
	b.ne	LBB0_6
LBB0_47:
Lloh65:
	adrp	x8, __NPCPV@GOTPAGE
Lloh66:
	ldr	x8, [x8, __NPCPV@GOTPAGEOFF]
Lloh67:
	ldr	w8, [x8]
Lloh68:
	adrp	x10, _pv_entry_spare@GOTPAGE
Lloh69:
	ldr	x10, [x10, _pv_entry_spare@GOTPAGEOFF]
	ldr	w9, [x10]
	sub	w0, w9, w8
	str	w0, [x10]
	bl	_PV_STAT
Lloh70:
	adrp	x8, _pc_chunk_count@GOTPAGE
Lloh71:
	ldr	x8, [x8, _pc_chunk_count@GOTPAGEOFF]
	ldr	w0, [x8]
	sub	w9, w0, #1
	str	w9, [x8]
	bl	_PV_STAT
Lloh72:
	adrp	x8, _pc_chunk_frees@GOTPAGE
Lloh73:
	ldr	x8, [x8, _pc_chunk_frees@GOTPAGEOFF]
	ldr	w0, [x8]
	add	w9, w0, #1
	str	w9, [x8]
	bl	_PV_STAT
	mov	x0, x21
	bl	_pmap_kextract
	bl	_PHYS_TO_VM_PAGE
	mov	x22, x0
	mov	x0, x21
	mov	w1, #1
	bl	_pmap_qremove
Lloh74:
	adrp	x0, _pv_vafree@GOTPAGE
Lloh75:
	ldr	x0, [x0, _pv_vafree@GOTPAGEOFF]
	mov	x1, x21
	bl	_pmap_pte2list_free
	b	LBB0_49
LBB0_48:
	mov	x22, #0
LBB0_49:
	ldr	w2, [x23]
Lloh76:
	adrp	x0, _pv_chunks@GOTPAGE
Lloh77:
	ldr	x0, [x0, _pv_chunks@GOTPAGEOFF]
	add	x1, sp, #40
	bl	_TAILQ_CONCAT
	cbz	x20, LBB0_52
; %bb.50:
	ldr	x8, [sp]                        ; 8-byte Folded Reload
	cmp	x20, x8
	b.eq	LBB0_52
; %bb.51:
	mov	x0, x20
	bl	_PMAP_UNLOCK
LBB0_52:
	cbnz	x22, LBB0_57
; %bb.53:
Lloh78:
	adrp	x8, _pv_vafree@GOTPAGE
Lloh79:
	ldr	x8, [x8, _pv_vafree@GOTPAGEOFF]
Lloh80:
	ldr	x8, [x8]
	cbz	x8, LBB0_57
; %bb.54:
	add	x0, sp, #32
	bl	_SLIST_EMPTY
	cbz	x0, LBB0_56
; %bb.55:
	add	x0, sp, #32
	bl	_SLIST_FIRST
	mov	x22, x0
Lloh81:
	adrp	x8, _plinks@GOTPAGE
Lloh82:
	ldr	x8, [x8, _plinks@GOTPAGEOFF]
Lloh83:
	ldr	w1, [x8]
	add	x0, sp, #32
	bl	_SLIST_REMOVE_HEAD
	mov	w8, #1
	str	w8, [x22, #4]
	mov	w0, #1
	bl	_vm_wire_add
	b	LBB0_57
LBB0_56:
	mov	x22, #0
LBB0_57:
	add	x0, sp, #32
	mov	w1, #0
	bl	_vm_page_free_pages_toq
	mov	x0, x22
	ldp	x29, x30, [sp, #128]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #112]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #96]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #80]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #64]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #144
	ret
LBB0_58:
	mov	x22, #0
	mov	x20, x8
	b	LBB0_49
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGot	Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh46, Lloh47
	.loh AdrpLdrGot	Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGot	Lloh74, Lloh75
	.loh AdrpLdrGot	Lloh72, Lloh73
	.loh AdrpLdrGot	Lloh70, Lloh71
	.loh AdrpLdrGot	Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.loh AdrpLdrGot	Lloh76, Lloh77
	.loh AdrpLdrGotLdr	Lloh78, Lloh79, Lloh80
	.loh AdrpLdrGotLdr	Lloh81, Lloh82, Lloh83
	.cfi_endproc
                                        ; -- End function
	.comm	_MA_OWNED,4,2                   ; @MA_OWNED
	.comm	_pv_chunks,4,2                  ; @pv_chunks
	.comm	_pv_vafree,8,3                  ; @pv_vafree
	.comm	_pc_lru,4,2                     ; @pc_lru
	.comm	__NPCM,4,2                      ; @_NPCM
	.comm	_pc_freemask,8,3                ; @pc_freemask
	.comm	_PTE2_W,4,2                     ; @PTE2_W
	.comm	_PTE2_A,4,2                     ; @PTE2_A
	.comm	_PGA_REFERENCED,4,2             ; @PGA_REFERENCED
	.comm	_pv_next,4,2                    ; @pv_next
	.comm	_PG_FICTITIOUS,4,2              ; @PG_FICTITIOUS
	.comm	_PGA_WRITEABLE,4,2              ; @PGA_WRITEABLE
	.comm	_pv_entry_frees,4,2             ; @pv_entry_frees
	.comm	_pv_entry_spare,4,2             ; @pv_entry_spare
	.comm	_pv_entry_count,4,2             ; @pv_entry_count
	.comm	_pc_list,4,2                    ; @pc_list
	.comm	__NPCPV,4,2                     ; @_NPCPV
	.comm	_pc_chunk_count,4,2             ; @pc_chunk_count
	.comm	_pc_chunk_frees,4,2             ; @pc_chunk_frees
	.comm	_plinks,4,2                     ; @plinks
	.no_dead_strip	_pmap_pv_reclaim
.subsections_via_symbols
