Skip to content

Commit 84308a8

Browse files
committed
Remove inline never
1 parent 84fab23 commit 84308a8

File tree

9 files changed

+77
-238
lines changed

9 files changed

+77
-238
lines changed

objc2/src/macros.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ macro_rules! sel {
6767
// HACK: Wrap the statics in a non-generic, `#[inline(never)]`
6868
// function to "coerce" the compiler to group all of them into the
6969
// same codegen unit to avoid link errors
70-
#[inline(never)]
70+
// #[inline(never)]
7171
fn objc_static_workaround() -> $crate::runtime::Sel {
7272
const X: &[u8] = $sel.as_bytes();
7373

tests/assembly/test_msg_send_id/expected/x86_64-apple-darwin.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -216,4 +216,4 @@ attributes #3 = { inaccessiblememonly nounwind }
216216
!110 = distinct !{!110, !111, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17h6973c903a4a56d77E: argument 0"}
217217
!111 = distinct !{!111, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17h6973c903a4a56d77E"}
218218
!112 = distinct !{!112, !111, !"_ZN4core6result19Result$LT$T$C$E$GT$3map17h6973c903a4a56d77E: %self"}
219-
!113 = !{i32 14074828}
219+
!113 = !{i32 14074831}

tests/assembly/test_retain_autoreleased/expected/x86_64-apple-darwin.ll

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,4 +44,4 @@ attributes #2 = { inaccessiblememonly nounwind }
4444
!8 = distinct !{!8, !"_ZN5objc27message8platform15send_unverified17hc201b8e753fc02dbE"}
4545
!9 = distinct !{!9, !10, !"_ZN5objc27message15MessageReceiver12send_message17hb26bf01fb9c18ba0E: argument 0"}
4646
!10 = distinct !{!10, !"_ZN5objc27message15MessageReceiver12send_message17hb26bf01fb9c18ba0E"}
47-
!11 = !{i32 14073348}
47+
!11 = !{i32 14073351}

tests/assembly/test_static_sel/expected/apple-aarch64.s

+6-22
Original file line numberDiff line numberDiff line change
@@ -2,52 +2,36 @@
22
.globl _get_sel
33
.p2align 2
44
_get_sel:
5-
b __ZN15test_static_sel7get_sel22objc_static_workaround17hf021ecee7e14d2bcE
6-
7-
.globl _get_same_sel
8-
.p2align 2
9-
_get_same_sel:
10-
b __ZN15test_static_sel12get_same_sel22objc_static_workaround17h689e18767947b202E
11-
12-
.globl _get_different_sel
13-
.p2align 2
14-
_get_different_sel:
15-
b __ZN15test_static_sel17get_different_sel22objc_static_workaround17he6226ef83c3bdd0dE
16-
17-
.globl _unused_sel
18-
.p2align 2
19-
_unused_sel:
20-
b __ZN15test_static_sel10unused_sel22objc_static_workaround17h64016513692d2d11E
21-
22-
.p2align 2
23-
__ZN15test_static_sel7get_sel22objc_static_workaround17hf021ecee7e14d2bcE:
245
Lloh0:
256
adrp x8, L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234@PAGE
267
Lloh1:
278
ldr x0, [x8, L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234@PAGEOFF]
289
ret
2910
.loh AdrpLdr Lloh0, Lloh1
3011

12+
.globl _get_same_sel
3113
.p2align 2
32-
__ZN15test_static_sel12get_same_sel22objc_static_workaround17h689e18767947b202E:
14+
_get_same_sel:
3315
Lloh2:
3416
adrp x8, L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38@PAGE
3517
Lloh3:
3618
ldr x0, [x8, L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38@PAGEOFF]
3719
ret
3820
.loh AdrpLdr Lloh2, Lloh3
3921

22+
.globl _get_different_sel
4023
.p2align 2
41-
__ZN15test_static_sel17get_different_sel22objc_static_workaround17he6226ef83c3bdd0dE:
24+
_get_different_sel:
4225
Lloh4:
4326
adrp x8, L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8@PAGE
4427
Lloh5:
4528
ldr x0, [x8, L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8@PAGEOFF]
4629
ret
4730
.loh AdrpLdr Lloh4, Lloh5
4831

32+
.globl _unused_sel
4933
.p2align 2
50-
__ZN15test_static_sel10unused_sel22objc_static_workaround17h64016513692d2d11E:
34+
_unused_sel:
5135
Lloh6:
5236
adrp x8, L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb@PAGE
5337
Lloh7:

tests/assembly/test_static_sel/expected/apple-armv7.s

+18-38
Original file line numberDiff line numberDiff line change
@@ -4,59 +4,39 @@
44
.p2align 2
55
.code 32
66
_get_sel:
7-
b __ZN15test_static_sel7get_sel22objc_static_workaround17h0a84d86e18c21b1cE
8-
9-
.globl _get_same_sel
10-
.p2align 2
11-
.code 32
12-
_get_same_sel:
13-
b __ZN15test_static_sel12get_same_sel22objc_static_workaround17h791703c1934ec802E
14-
15-
.globl _get_different_sel
16-
.p2align 2
17-
.code 32
18-
_get_different_sel:
19-
b __ZN15test_static_sel17get_different_sel22objc_static_workaround17h597599808d3c9f09E
20-
21-
.globl _unused_sel
22-
.p2align 2
23-
.code 32
24-
_unused_sel:
25-
b __ZN15test_static_sel10unused_sel22objc_static_workaround17h8ff9bee2a8576529E
26-
27-
.p2align 2
28-
.code 32
29-
__ZN15test_static_sel7get_sel22objc_static_workaround17h0a84d86e18c21b1cE:
30-
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-(LPC4_0+8))
31-
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-(LPC4_0+8))
32-
LPC4_0:
7+
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-(LPC0_0+8))
8+
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-(LPC0_0+8))
9+
LPC0_0:
3310
ldr r0, [pc, r0]
3411
bx lr
3512

13+
.globl _get_same_sel
3614
.p2align 2
3715
.code 32
38-
__ZN15test_static_sel12get_same_sel22objc_static_workaround17h791703c1934ec802E:
39-
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-(LPC5_0+8))
40-
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-(LPC5_0+8))
41-
LPC5_0:
16+
_get_same_sel:
17+
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-(LPC1_0+8))
18+
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-(LPC1_0+8))
19+
LPC1_0:
4220
ldr r0, [pc, r0]
4321
bx lr
4422

23+
.globl _get_different_sel
4524
.p2align 2
4625
.code 32
47-
__ZN15test_static_sel17get_different_sel22objc_static_workaround17h597599808d3c9f09E:
48-
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-(LPC6_0+8))
49-
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-(LPC6_0+8))
50-
LPC6_0:
26+
_get_different_sel:
27+
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-(LPC2_0+8))
28+
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-(LPC2_0+8))
29+
LPC2_0:
5130
ldr r0, [pc, r0]
5231
bx lr
5332

33+
.globl _unused_sel
5434
.p2align 2
5535
.code 32
56-
__ZN15test_static_sel10unused_sel22objc_static_workaround17h8ff9bee2a8576529E:
57-
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-(LPC7_0+8))
58-
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-(LPC7_0+8))
59-
LPC7_0:
36+
_unused_sel:
37+
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-(LPC3_0+8))
38+
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-(LPC3_0+8))
39+
LPC3_0:
6040
ldr r0, [pc, r0]
6141
bx lr
6242

tests/assembly/test_static_sel/expected/apple-armv7s.s

+18-50
Original file line numberDiff line numberDiff line change
@@ -4,71 +4,39 @@
44
.p2align 2
55
.code 32
66
_get_sel:
7-
push {r7, lr}
8-
mov r7, sp
9-
bl __ZN15test_static_sel7get_sel22objc_static_workaround17h9f3332e52769ebdeE
10-
pop {r7, pc}
11-
12-
.globl _get_same_sel
13-
.p2align 2
14-
.code 32
15-
_get_same_sel:
16-
push {r7, lr}
17-
mov r7, sp
18-
bl __ZN15test_static_sel12get_same_sel22objc_static_workaround17hf2c24185652c28b5E
19-
pop {r7, pc}
20-
21-
.globl _get_different_sel
22-
.p2align 2
23-
.code 32
24-
_get_different_sel:
25-
push {r7, lr}
26-
mov r7, sp
27-
bl __ZN15test_static_sel17get_different_sel22objc_static_workaround17hd87e36fa2ddfca2bE
28-
pop {r7, pc}
29-
30-
.globl _unused_sel
31-
.p2align 2
32-
.code 32
33-
_unused_sel:
34-
push {r7, lr}
35-
mov r7, sp
36-
bl __ZN15test_static_sel10unused_sel22objc_static_workaround17h21272a31a7d909b3E
37-
pop {r7, pc}
38-
39-
.p2align 2
40-
.code 32
41-
__ZN15test_static_sel7get_sel22objc_static_workaround17h9f3332e52769ebdeE:
42-
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-(LPC4_0+8))
43-
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-(LPC4_0+8))
44-
LPC4_0:
7+
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-(LPC0_0+8))
8+
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-(LPC0_0+8))
9+
LPC0_0:
4510
ldr r0, [pc, r0]
4611
bx lr
4712

13+
.globl _get_same_sel
4814
.p2align 2
4915
.code 32
50-
__ZN15test_static_sel12get_same_sel22objc_static_workaround17hf2c24185652c28b5E:
51-
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-(LPC5_0+8))
52-
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-(LPC5_0+8))
53-
LPC5_0:
16+
_get_same_sel:
17+
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-(LPC1_0+8))
18+
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-(LPC1_0+8))
19+
LPC1_0:
5420
ldr r0, [pc, r0]
5521
bx lr
5622

23+
.globl _get_different_sel
5724
.p2align 2
5825
.code 32
59-
__ZN15test_static_sel17get_different_sel22objc_static_workaround17hd87e36fa2ddfca2bE:
60-
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-(LPC6_0+8))
61-
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-(LPC6_0+8))
62-
LPC6_0:
26+
_get_different_sel:
27+
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-(LPC2_0+8))
28+
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-(LPC2_0+8))
29+
LPC2_0:
6330
ldr r0, [pc, r0]
6431
bx lr
6532

33+
.globl _unused_sel
6634
.p2align 2
6735
.code 32
68-
__ZN15test_static_sel10unused_sel22objc_static_workaround17h21272a31a7d909b3E:
69-
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-(LPC7_0+8))
70-
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-(LPC7_0+8))
71-
LPC7_0:
36+
_unused_sel:
37+
movw r0, :lower16:(L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-(LPC3_0+8))
38+
movt r0, :upper16:(L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-(LPC3_0+8))
39+
LPC3_0:
7240
ldr r0, [pc, r0]
7341
bx lr
7442

tests/assembly/test_static_sel/expected/apple-x86.s

+18-46
Original file line numberDiff line numberDiff line change
@@ -5,74 +5,46 @@
55
_get_sel:
66
push ebp
77
mov ebp, esp
8-
pop ebp
9-
jmp __ZN15test_static_sel7get_sel22objc_static_workaround17hd23e42ee41d695f7E
10-
11-
.globl _get_same_sel
12-
.p2align 4, 0x90
13-
_get_same_sel:
14-
push ebp
15-
mov ebp, esp
16-
pop ebp
17-
jmp __ZN15test_static_sel12get_same_sel22objc_static_workaround17heb39f49b6d0f52f7E
18-
19-
.globl _get_different_sel
20-
.p2align 4, 0x90
21-
_get_different_sel:
22-
push ebp
23-
mov ebp, esp
24-
pop ebp
25-
jmp __ZN15test_static_sel17get_different_sel22objc_static_workaround17hb792ee3019ecb344E
26-
27-
.globl _unused_sel
28-
.p2align 4, 0x90
29-
_unused_sel:
30-
push ebp
31-
mov ebp, esp
32-
pop ebp
33-
jmp __ZN15test_static_sel10unused_sel22objc_static_workaround17h0d8f4703d53c259bE
34-
35-
.p2align 4, 0x90
36-
__ZN15test_static_sel7get_sel22objc_static_workaround17hd23e42ee41d695f7E:
37-
push ebp
38-
mov ebp, esp
39-
call L4$pb
40-
L4$pb:
8+
call L0$pb
9+
L0$pb:
4110
pop eax
42-
mov eax, dword ptr [eax + L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-L4$pb]
11+
mov eax, dword ptr [eax + L_OBJC_SELECTOR_REFERENCES_43d7e4d3b832d234-L0$pb]
4312
pop ebp
4413
ret
4514

15+
.globl _get_same_sel
4616
.p2align 4, 0x90
47-
__ZN15test_static_sel12get_same_sel22objc_static_workaround17heb39f49b6d0f52f7E:
17+
_get_same_sel:
4818
push ebp
4919
mov ebp, esp
50-
call L5$pb
51-
L5$pb:
20+
call L1$pb
21+
L1$pb:
5222
pop eax
53-
mov eax, dword ptr [eax + L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-L5$pb]
23+
mov eax, dword ptr [eax + L_OBJC_SELECTOR_REFERENCES_475a96ed80683d38-L1$pb]
5424
pop ebp
5525
ret
5626

27+
.globl _get_different_sel
5728
.p2align 4, 0x90
58-
__ZN15test_static_sel17get_different_sel22objc_static_workaround17hb792ee3019ecb344E:
29+
_get_different_sel:
5930
push ebp
6031
mov ebp, esp
61-
call L6$pb
62-
L6$pb:
32+
call L2$pb
33+
L2$pb:
6334
pop eax
64-
mov eax, dword ptr [eax + L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-L6$pb]
35+
mov eax, dword ptr [eax + L_OBJC_SELECTOR_REFERENCES_7ece3464aee33aa8-L2$pb]
6536
pop ebp
6637
ret
6738

39+
.globl _unused_sel
6840
.p2align 4, 0x90
69-
__ZN15test_static_sel10unused_sel22objc_static_workaround17h0d8f4703d53c259bE:
41+
_unused_sel:
7042
push ebp
7143
mov ebp, esp
72-
call L7$pb
73-
L7$pb:
44+
call L3$pb
45+
L3$pb:
7446
pop eax
75-
mov eax, dword ptr [eax + L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-L7$pb]
47+
mov eax, dword ptr [eax + L_OBJC_SELECTOR_REFERENCES_501d7eaffe8512eb-L3$pb]
7648
pop ebp
7749
ret
7850

0 commit comments

Comments
 (0)