brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · 36569b5 Raw
160 lines · plain
1// RUN: %clang -c -o %t %s2// RUN: %llvm_jitlink -preload libobjc.A.dylib %t3//4// REQUIRES: jit-compatible-osx-swift-runtime5//6// Test that Objective-C class and instance methods work.7 8	.section	__TEXT,__text,regular,pure_instructions9	.build_version macos, 11, 0	sdk_version 11, 510	.p2align	4, 0x9011"-[ZeroGen objZero]":12	pushq	%rbp13	movq	%rsp, %rbp14	xorl	%eax, %eax15	popq	%rbp16	retq17 18	.p2align	4, 0x9019"+[ZeroGen classZero]":20	pushq	%rbp21	movq	%rsp, %rbp22	xorl	%eax, %eax23	popq	%rbp24	retq25 26	.globl	_main27	.p2align	4, 0x9028_main:29	pushq	%rbp30	movq	%rsp, %rbp31	movq	_OBJC_CLASSLIST_REFERENCES_$_(%rip), %rdi32	callq	_objc_alloc_init33	movq	_OBJC_SELECTOR_REFERENCES_(%rip), %rsi34	movq	%rax, %rdi35	callq	*_objc_msgSend@GOTPCREL(%rip)36	testl	%eax, %eax37	jne	LBB2_338 39	movq	_OBJC_CLASSLIST_REFERENCES_$_(%rip), %rdi40	movq	_OBJC_SELECTOR_REFERENCES_.2(%rip), %rsi41	callq	*_objc_msgSend@GOTPCREL(%rip)42	testl	%eax, %eax43	je	LBB2_244LBB2_3:45	movl	$1, %eax46	popq	%rbp47	retq48LBB2_2:49	xorl	%eax, %eax50	popq	%rbp51	retq52 53	.section	__TEXT,__objc_classname,cstring_literals54L_OBJC_CLASS_NAME_:55	.asciz	"ZeroGen"56 57	.section	__TEXT,__objc_methname,cstring_literals58L_OBJC_METH_VAR_NAME_:59	.asciz	"classZero"60 61	.section	__TEXT,__objc_methtype,cstring_literals62L_OBJC_METH_VAR_TYPE_:63	.asciz	"i16@0:8"64 65	.section	__DATA,__objc_const66	.p2align	367__OBJC_$_CLASS_METHODS_ZeroGen:68	.long	2469	.long	170	.quad	L_OBJC_METH_VAR_NAME_71	.quad	L_OBJC_METH_VAR_TYPE_72	.quad	"+[ZeroGen classZero]"73 74	.p2align	375__OBJC_METACLASS_RO_$_ZeroGen:76	.long	177	.long	4078	.long	4079	.space	480	.quad	081	.quad	L_OBJC_CLASS_NAME_82	.quad	__OBJC_$_CLASS_METHODS_ZeroGen83	.quad	084	.quad	085	.quad	086	.quad	087 88	.section	__DATA,__objc_data89	.globl	_OBJC_METACLASS_$_ZeroGen90	.p2align	391_OBJC_METACLASS_$_ZeroGen:92	.quad	_OBJC_METACLASS_$_NSObject93	.quad	_OBJC_METACLASS_$_NSObject94	.quad	__objc_empty_cache95	.quad	096	.quad	__OBJC_METACLASS_RO_$_ZeroGen97 98	.section	__TEXT,__objc_methname,cstring_literals99L_OBJC_METH_VAR_NAME_.1:100	.asciz	"objZero"101 102	.section	__DATA,__objc_const103	.p2align	3104__OBJC_$_INSTANCE_METHODS_ZeroGen:105	.long	24106	.long	1107	.quad	L_OBJC_METH_VAR_NAME_.1108	.quad	L_OBJC_METH_VAR_TYPE_109	.quad	"-[ZeroGen objZero]"110 111	.p2align	3112__OBJC_CLASS_RO_$_ZeroGen:113	.long	0114	.long	8115	.long	8116	.space	4117	.quad	0118	.quad	L_OBJC_CLASS_NAME_119	.quad	__OBJC_$_INSTANCE_METHODS_ZeroGen120	.quad	0121	.quad	0122	.quad	0123	.quad	0124 125	.section	__DATA,__objc_data126	.globl	_OBJC_CLASS_$_ZeroGen127	.p2align	3128_OBJC_CLASS_$_ZeroGen:129	.quad	_OBJC_METACLASS_$_ZeroGen130	.quad	_OBJC_CLASS_$_NSObject131	.quad	__objc_empty_cache132	.quad	0133	.quad	__OBJC_CLASS_RO_$_ZeroGen134 135	.section	__DATA,__objc_classrefs,regular,no_dead_strip136	.p2align	3137_OBJC_CLASSLIST_REFERENCES_$_:138	.quad	_OBJC_CLASS_$_ZeroGen139 140	.section	__DATA,__objc_selrefs,literal_pointers,no_dead_strip141	.p2align	3142_OBJC_SELECTOR_REFERENCES_:143	.quad	L_OBJC_METH_VAR_NAME_.1144 145	.p2align	3146_OBJC_SELECTOR_REFERENCES_.2:147	.quad	L_OBJC_METH_VAR_NAME_148 149	.section	__DATA,__objc_classlist,regular,no_dead_strip150	.p2align	3151L_OBJC_LABEL_CLASS_$:152	.quad	_OBJC_CLASS_$_ZeroGen153 154	.section	__DATA,__objc_imageinfo,regular,no_dead_strip155L_OBJC_IMAGE_INFO:156	.long	0157	.long	64158 159.subsections_via_symbols160