	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function AbortTransaction
_AbortTransaction:                      ## @AbortTransaction
	.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
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_CurrentTransactionState@GOTPCREL(%rip), %rax
	movq	(%rax), %rbx
	xorl	%eax, %eax
	callq	_HOLD_INTERRUPTS
	xorl	%eax, %eax
	callq	_AtAbort_Memory
	xorl	%eax, %eax
	callq	_AtAbort_ResourceOwner
	xorl	%eax, %eax
	callq	_LWLockReleaseAll
	xorl	%eax, %eax
	callq	_pgstat_report_wait_end
	xorl	%eax, %eax
	callq	_pgstat_progress_end_command
	xorl	%eax, %eax
	callq	_AbortBufferIO
	xorl	%eax, %eax
	callq	_UnlockBuffers
	xorl	%eax, %eax
	callq	_XLogResetInsertion
	xorl	%eax, %eax
	callq	_ConditionVariableCancelSleep
	xorl	%eax, %eax
	callq	_LockErrorCleanup
	xorl	%eax, %eax
	callq	_reschedule_timeouts
	movq	_UnBlockSig@GOTPCREL(%rip), %rdi
	callq	_PG_SETMASK
	movq	(%rbx), %r15
	movq	8(%rbx), %rdi
	movq	_TBLOCK_PARALLEL_INPROGRESS@GOTPCREL(%rip), %rax
	movq	(%rax), %r12
	xorl	%r13d, %r13d
	cmpq	%r12, %r15
	sete	%r14b
	movq	_TRANS_INPROGRESS@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rdi
	je	LBB0_3
## %bb.1:
	movq	_TRANS_PREPARE@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rdi
	je	LBB0_3
## %bb.2:
	movq	_WARNING@GOTPCREL(%rip), %rax
	movl	(%rax), %r13d
	callq	_TransStateAsString
	leaq	L_.str(%rip), %rsi
	movl	%r13d, %edi
	xorl	%r13d, %r13d
	movl	%eax, %edx
	callq	_elog
LBB0_3:
	movb	%r14b, %r13b
	xorl	%edi, %edi
	cmpq	$0, 32(%rbx)
	sete	%dil
	callq	_Assert
	movq	_TRANS_ABORT@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 8(%rbx)
	movl	24(%rbx), %esi
	movl	28(%rbx), %edi
	callq	_SetUserIdAndSecContext
	xorl	%eax, %eax
	callq	_IsInParallelMode
	testq	%rax, %rax
	je	LBB0_5
## %bb.4:
	xorl	%edi, %edi
	callq	_AtEOXact_Parallel
	movq	$0, 16(%rbx)
LBB0_5:
	xorl	%edi, %edi
	callq	_AfterTriggerEndXact
	xorl	%eax, %eax
	callq	_AtAbort_Portals
	xorl	%edi, %edi
	callq	_AtEOXact_LargeObject
	xorl	%eax, %eax
	callq	_AtAbort_Notify
	xorl	%edi, %edi
	movl	%r13d, %esi
	callq	_AtEOXact_RelationMap
	xorl	%eax, %eax
	callq	_AtAbort_Twophase
	cmpq	%r12, %r15
	jne	LBB0_6
## %bb.7:
	movq	_InvalidTransactionId@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	movq	_XactLastRecEnd@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_XLogSetAsyncXactLSN
	jmp	LBB0_8
LBB0_6:
	xorl	%edi, %edi
	callq	_RecordTransactionAbort
	movl	%eax, %r14d
LBB0_8:
	movq	_MyProc@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rax
	movl	(%rax), %edi
	callq	_TRACE_POSTGRESQL_TRANSACTION_ABORT
	movq	(%rbx), %rdi
	movl	%r14d, %esi
	callq	_ProcArrayEndTransaction
	movq	_TopTransactionResourceOwner@GOTPCREL(%rip), %rbx
	cmpq	$0, (%rbx)
	je	LBB0_13
## %bb.9:
	cmpq	%r12, %r15
	jne	LBB0_10
## %bb.11:
	movq	_XACT_EVENT_PARALLEL_ABORT@GOTPCREL(%rip), %rax
	jmp	LBB0_12
LBB0_10:
	movq	_XACT_EVENT_ABORT@GOTPCREL(%rip), %rax
LBB0_12:
	movl	(%rax), %edi
	callq	_CallXactCallbacks
	movq	(%rbx), %rdi
	movq	_RESOURCE_RELEASE_BEFORE_LOCKS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	xorl	%edx, %edx
	movl	$1, %ecx
	callq	_ResourceOwnerRelease
	xorl	%edi, %edi
	callq	_AtEOXact_Buffers
	xorl	%edi, %edi
	callq	_AtEOXact_RelationCache
	xorl	%edi, %edi
	callq	_AtEOXact_Inval
	xorl	%eax, %eax
	callq	_AtEOXact_MultiXact
	movq	(%rbx), %rdi
	movq	_RESOURCE_RELEASE_LOCKS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	xorl	%edx, %edx
	movl	$1, %ecx
	callq	_ResourceOwnerRelease
	movq	(%rbx), %rdi
	movq	_RESOURCE_RELEASE_AFTER_LOCKS@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	xorl	%edx, %edx
	movl	$1, %ecx
	callq	_ResourceOwnerRelease
	xorl	%edi, %edi
	callq	_smgrDoPendingDeletes
	xorl	%edi, %edi
	movl	$1, %esi
	callq	_AtEOXact_GUC
	xorl	%edi, %edi
	callq	_AtEOXact_SPI
	xorl	%eax, %eax
	callq	_AtEOXact_Enum
	xorl	%edi, %edi
	callq	_AtEOXact_on_commit_actions
	xorl	%edi, %edi
	movl	%r13d, %esi
	callq	_AtEOXact_Namespace
	xorl	%eax, %eax
	callq	_AtEOXact_SMgr
	xorl	%edi, %edi
	callq	_AtEOXact_Files
	xorl	%eax, %eax
	callq	_AtEOXact_ComboCid
	xorl	%edi, %edi
	callq	_AtEOXact_HashTables
	xorl	%edi, %edi
	movl	%r13d, %esi
	callq	_AtEOXact_PgStat
	xorl	%edi, %edi
	callq	_AtEOXact_ApplyLauncher
	xorl	%edi, %edi
	callq	_pgstat_report_xact_timestamp
LBB0_13:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_RESUME_INTERRUPTS              ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_CurrentTransactionState,8,3    ## @CurrentTransactionState
	.comm	_UnBlockSig,4,2                 ## @UnBlockSig
	.comm	_TBLOCK_PARALLEL_INPROGRESS,8,3 ## @TBLOCK_PARALLEL_INPROGRESS
	.comm	_TRANS_INPROGRESS,8,3           ## @TRANS_INPROGRESS
	.comm	_TRANS_PREPARE,8,3              ## @TRANS_PREPARE
	.comm	_WARNING,4,2                    ## @WARNING
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"AbortTransaction while in %s state"

	.comm	_TRANS_ABORT,8,3                ## @TRANS_ABORT
	.comm	_InvalidTransactionId,4,2       ## @InvalidTransactionId
	.comm	_XactLastRecEnd,4,2             ## @XactLastRecEnd
	.comm	_MyProc,8,3                     ## @MyProc
	.comm	_TopTransactionResourceOwner,8,3 ## @TopTransactionResourceOwner
	.comm	_XACT_EVENT_PARALLEL_ABORT,4,2  ## @XACT_EVENT_PARALLEL_ABORT
	.comm	_XACT_EVENT_ABORT,4,2           ## @XACT_EVENT_ABORT
	.comm	_RESOURCE_RELEASE_BEFORE_LOCKS,4,2 ## @RESOURCE_RELEASE_BEFORE_LOCKS
	.comm	_RESOURCE_RELEASE_LOCKS,4,2     ## @RESOURCE_RELEASE_LOCKS
	.comm	_RESOURCE_RELEASE_AFTER_LOCKS,4,2 ## @RESOURCE_RELEASE_AFTER_LOCKS
	.no_dead_strip	_AbortTransaction
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function AbortTransaction
_AbortTransaction:                      ; @AbortTransaction
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
Lloh0:
	adrp	x8, _CurrentTransactionState@GOTPAGE
Lloh1:
	ldr	x8, [x8, _CurrentTransactionState@GOTPAGEOFF]
Lloh2:
	ldr	x23, [x8]
	bl	_HOLD_INTERRUPTS
	bl	_AtAbort_Memory
	bl	_AtAbort_ResourceOwner
	bl	_LWLockReleaseAll
	bl	_pgstat_report_wait_end
	bl	_pgstat_progress_end_command
	bl	_AbortBufferIO
	bl	_UnlockBuffers
	bl	_XLogResetInsertion
	bl	_ConditionVariableCancelSleep
	bl	_LockErrorCleanup
	bl	_reschedule_timeouts
Lloh3:
	adrp	x0, _UnBlockSig@GOTPAGE
Lloh4:
	ldr	x0, [x0, _UnBlockSig@GOTPAGEOFF]
	bl	_PG_SETMASK
Lloh5:
	adrp	x8, _TBLOCK_PARALLEL_INPROGRESS@GOTPAGE
Lloh6:
	ldr	x8, [x8, _TBLOCK_PARALLEL_INPROGRESS@GOTPAGEOFF]
Lloh7:
	ldr	x21, [x8]
	ldp	x22, x0, [x23]
	cmp	x22, x21
	cset	w19, eq
Lloh8:
	adrp	x8, _TRANS_INPROGRESS@GOTPAGE
Lloh9:
	ldr	x8, [x8, _TRANS_INPROGRESS@GOTPAGEOFF]
Lloh10:
	ldr	x8, [x8]
Lloh11:
	adrp	x9, _TRANS_PREPARE@GOTPAGE
Lloh12:
	ldr	x9, [x9, _TRANS_PREPARE@GOTPAGEOFF]
Lloh13:
	ldr	x9, [x9]
	cmp	x0, x8
	ccmp	x0, x9, #4, ne
	b.eq	LBB0_2
; %bb.1:
Lloh14:
	adrp	x8, _WARNING@GOTPAGE
Lloh15:
	ldr	x8, [x8, _WARNING@GOTPAGEOFF]
Lloh16:
	ldr	w20, [x8]
	bl	_TransStateAsString
	mov	x2, x0
Lloh17:
	adrp	x1, l_.str@PAGE
Lloh18:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x20
	bl	_elog
LBB0_2:
	ldr	x8, [x23, #32]
	cmp	x8, #0
	cset	w0, eq
	bl	_Assert
Lloh19:
	adrp	x8, _TRANS_ABORT@GOTPAGE
Lloh20:
	ldr	x8, [x8, _TRANS_ABORT@GOTPAGEOFF]
Lloh21:
	ldr	x8, [x8]
	str	x8, [x23, #8]
	ldp	w1, w0, [x23, #24]
	bl	_SetUserIdAndSecContext
	bl	_IsInParallelMode
	cbz	x0, LBB0_4
; %bb.3:
	mov	w0, #0
	bl	_AtEOXact_Parallel
	str	xzr, [x23, #16]
LBB0_4:
	mov	w0, #0
	bl	_AfterTriggerEndXact
	bl	_AtAbort_Portals
	mov	w0, #0
	bl	_AtEOXact_LargeObject
	bl	_AtAbort_Notify
	mov	w0, #0
	mov	x1, x19
	bl	_AtEOXact_RelationMap
	bl	_AtAbort_Twophase
	cmp	x22, x21
	b.ne	LBB0_6
; %bb.5:
Lloh22:
	adrp	x8, _InvalidTransactionId@GOTPAGE
Lloh23:
	ldr	x8, [x8, _InvalidTransactionId@GOTPAGEOFF]
Lloh24:
	ldr	w20, [x8]
Lloh25:
	adrp	x8, _XactLastRecEnd@GOTPAGE
Lloh26:
	ldr	x8, [x8, _XactLastRecEnd@GOTPAGEOFF]
Lloh27:
	ldr	w0, [x8]
	bl	_XLogSetAsyncXactLSN
	b	LBB0_7
LBB0_6:
	mov	w0, #0
	bl	_RecordTransactionAbort
	mov	x20, x0
LBB0_7:
Lloh28:
	adrp	x23, _MyProc@GOTPAGE
Lloh29:
	ldr	x23, [x23, _MyProc@GOTPAGEOFF]
	ldr	x8, [x23]
	ldr	w0, [x8]
	bl	_TRACE_POSTGRESQL_TRANSACTION_ABORT
	ldr	x0, [x23]
	mov	x1, x20
	bl	_ProcArrayEndTransaction
Lloh30:
	adrp	x20, _TopTransactionResourceOwner@GOTPAGE
Lloh31:
	ldr	x20, [x20, _TopTransactionResourceOwner@GOTPAGEOFF]
	ldr	x8, [x20]
	cbz	x8, LBB0_9
; %bb.8:
Lloh32:
	adrp	x8, _XACT_EVENT_PARALLEL_ABORT@GOTPAGE
Lloh33:
	ldr	x8, [x8, _XACT_EVENT_PARALLEL_ABORT@GOTPAGEOFF]
Lloh34:
	adrp	x9, _XACT_EVENT_ABORT@GOTPAGE
Lloh35:
	ldr	x9, [x9, _XACT_EVENT_ABORT@GOTPAGEOFF]
	cmp	x22, x21
	csel	x8, x8, x9, eq
	ldr	w0, [x8]
	bl	_CallXactCallbacks
	ldr	x0, [x20]
Lloh36:
	adrp	x8, _RESOURCE_RELEASE_BEFORE_LOCKS@GOTPAGE
Lloh37:
	ldr	x8, [x8, _RESOURCE_RELEASE_BEFORE_LOCKS@GOTPAGEOFF]
Lloh38:
	ldr	w1, [x8]
	mov	w2, #0
	mov	w3, #1
	bl	_ResourceOwnerRelease
	mov	w0, #0
	bl	_AtEOXact_Buffers
	mov	w0, #0
	bl	_AtEOXact_RelationCache
	mov	w0, #0
	bl	_AtEOXact_Inval
	bl	_AtEOXact_MultiXact
	ldr	x0, [x20]
Lloh39:
	adrp	x8, _RESOURCE_RELEASE_LOCKS@GOTPAGE
Lloh40:
	ldr	x8, [x8, _RESOURCE_RELEASE_LOCKS@GOTPAGEOFF]
Lloh41:
	ldr	w1, [x8]
	mov	w2, #0
	mov	w3, #1
	bl	_ResourceOwnerRelease
	ldr	x0, [x20]
Lloh42:
	adrp	x8, _RESOURCE_RELEASE_AFTER_LOCKS@GOTPAGE
Lloh43:
	ldr	x8, [x8, _RESOURCE_RELEASE_AFTER_LOCKS@GOTPAGEOFF]
Lloh44:
	ldr	w1, [x8]
	mov	w2, #0
	mov	w3, #1
	bl	_ResourceOwnerRelease
	mov	w0, #0
	bl	_smgrDoPendingDeletes
	mov	w0, #0
	mov	w1, #1
	bl	_AtEOXact_GUC
	mov	w0, #0
	bl	_AtEOXact_SPI
	bl	_AtEOXact_Enum
	mov	w0, #0
	bl	_AtEOXact_on_commit_actions
	mov	w0, #0
	mov	x1, x19
	bl	_AtEOXact_Namespace
	bl	_AtEOXact_SMgr
	mov	w0, #0
	bl	_AtEOXact_Files
	bl	_AtEOXact_ComboCid
	mov	w0, #0
	bl	_AtEOXact_HashTables
	mov	w0, #0
	mov	x1, x19
	bl	_AtEOXact_PgStat
	mov	w0, #0
	bl	_AtEOXact_ApplyLauncher
	mov	w0, #0
	bl	_pgstat_report_xact_timestamp
LBB0_9:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	b	_RESUME_INTERRUPTS
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh30, Lloh31
	.loh AdrpLdrGot	Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh42, Lloh43, Lloh44
	.loh AdrpLdrGotLdr	Lloh39, Lloh40, Lloh41
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.loh AdrpLdrGot	Lloh34, Lloh35
	.loh AdrpLdrGot	Lloh32, Lloh33
	.cfi_endproc
                                        ; -- End function
	.comm	_CurrentTransactionState,8,3    ; @CurrentTransactionState
	.comm	_UnBlockSig,4,2                 ; @UnBlockSig
	.comm	_TBLOCK_PARALLEL_INPROGRESS,8,3 ; @TBLOCK_PARALLEL_INPROGRESS
	.comm	_TRANS_INPROGRESS,8,3           ; @TRANS_INPROGRESS
	.comm	_TRANS_PREPARE,8,3              ; @TRANS_PREPARE
	.comm	_WARNING,4,2                    ; @WARNING
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"AbortTransaction while in %s state"

	.comm	_TRANS_ABORT,8,3                ; @TRANS_ABORT
	.comm	_InvalidTransactionId,4,2       ; @InvalidTransactionId
	.comm	_XactLastRecEnd,4,2             ; @XactLastRecEnd
	.comm	_MyProc,8,3                     ; @MyProc
	.comm	_TopTransactionResourceOwner,8,3 ; @TopTransactionResourceOwner
	.comm	_XACT_EVENT_PARALLEL_ABORT,4,2  ; @XACT_EVENT_PARALLEL_ABORT
	.comm	_XACT_EVENT_ABORT,4,2           ; @XACT_EVENT_ABORT
	.comm	_RESOURCE_RELEASE_BEFORE_LOCKS,4,2 ; @RESOURCE_RELEASE_BEFORE_LOCKS
	.comm	_RESOURCE_RELEASE_LOCKS,4,2     ; @RESOURCE_RELEASE_LOCKS
	.comm	_RESOURCE_RELEASE_AFTER_LOCKS,4,2 ; @RESOURCE_RELEASE_AFTER_LOCKS
	.no_dead_strip	_AbortTransaction
.subsections_via_symbols
