	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function Alloc_Methods
_Alloc_Methods:                         ## @Alloc_Methods
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	leaq	_Alloc_Methods.methods(%rip), %rax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__DATA,__data
	.p2align	4                               ## @Alloc_Methods.methods
_Alloc_Methods.methods:
	.quad	L_.str
	.quad	L_.str.1
	.quad	L_.str.2
	.quad	L_.str.3
	.quad	L_.str.4
	.quad	L_.str.5
	.quad	L_.str.6
	.quad	L_.str.7
	.quad	L_.str.8
	.space	24

	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"$"

L_.str.1:                               ## @.str.1
	.asciz	"#define $(T, ...)\n#define $I(X)\n#define $F(X)\n#define $S(X)\n#define $R(X)\n#define $B(X)"

L_.str.2:                               ## @.str.2
	.asciz	"Allocate memory for the given type `T` on the stack and copy in the given arguments `...` as struct members. Shorthand constructors exist for native types:\n\n* `$I -> Int` `$F -> Float` `$S -> String`\n* `$R -> Ref` `$B -> Box`\n\n"

L_.str.3:                               ## @.str.3
	.asciz	"alloc"

L_.str.4:                               ## @.str.4
	.asciz	"#define alloc_stack(T)\nvar alloc(var type);\nvar alloc_raw(var type);\nvar alloc_root(var type);"

L_.str.5:                               ## @.str.5
	.asciz	"Allocate memory for a given `type`. To avoid the Garbage Collector completely use `alloc_raw`, to register the allocation as a root use `alloc_root`. In the case of raw or root allocations the corresponding `dealloc` function should be used when done. Memory allocated with `alloc_stack` is not managed by the Garbage Collector."

L_.str.6:                               ## @.str.6
	.asciz	"dealloc"

L_.str.7:                               ## @.str.7
	.asciz	"void dealloc(var self);\nvoid dealloc_raw(var self);\nvoid dealloc_root(var self);"

L_.str.8:                               ## @.str.8
	.asciz	"Deallocate memory for object `self` manually. If registered with the Garbage Collector then entry will be removed. If the `raw` variation is used memory will be deallocated without going via the Garbage Collector."

	.no_dead_strip	_Alloc_Methods
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function Alloc_Methods
_Alloc_Methods:                         ; @Alloc_Methods
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x0, _Alloc_Methods.methods@PAGE
Lloh1:
	add	x0, x0, _Alloc_Methods.methods@PAGEOFF
	ret
	.loh AdrpAdd	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.section	__DATA,__data
	.p2align	3                               ; @Alloc_Methods.methods
_Alloc_Methods.methods:
	.quad	l_.str
	.quad	l_.str.1
	.quad	l_.str.2
	.quad	l_.str.3
	.quad	l_.str.4
	.quad	l_.str.5
	.quad	l_.str.6
	.quad	l_.str.7
	.quad	l_.str.8
	.space	24

	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"$"

l_.str.1:                               ; @.str.1
	.asciz	"#define $(T, ...)\n#define $I(X)\n#define $F(X)\n#define $S(X)\n#define $R(X)\n#define $B(X)"

l_.str.2:                               ; @.str.2
	.asciz	"Allocate memory for the given type `T` on the stack and copy in the given arguments `...` as struct members. Shorthand constructors exist for native types:\n\n* `$I -> Int` `$F -> Float` `$S -> String`\n* `$R -> Ref` `$B -> Box`\n\n"

l_.str.3:                               ; @.str.3
	.asciz	"alloc"

l_.str.4:                               ; @.str.4
	.asciz	"#define alloc_stack(T)\nvar alloc(var type);\nvar alloc_raw(var type);\nvar alloc_root(var type);"

l_.str.5:                               ; @.str.5
	.asciz	"Allocate memory for a given `type`. To avoid the Garbage Collector completely use `alloc_raw`, to register the allocation as a root use `alloc_root`. In the case of raw or root allocations the corresponding `dealloc` function should be used when done. Memory allocated with `alloc_stack` is not managed by the Garbage Collector."

l_.str.6:                               ; @.str.6
	.asciz	"dealloc"

l_.str.7:                               ; @.str.7
	.asciz	"void dealloc(var self);\nvoid dealloc_raw(var self);\nvoid dealloc_root(var self);"

l_.str.8:                               ; @.str.8
	.asciz	"Deallocate memory for object `self` manually. If registered with the Garbage Collector then entry will be removed. If the `raw` variation is used memory will be deallocated without going via the Garbage Collector."

	.no_dead_strip	_Alloc_Methods
.subsections_via_symbols
