Overview
Comment: | lookup-asm-sparc-elf.S: Support tagged pointers |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | tagged-pointers |
Files: | files | file ages | folders |
SHA3-256: |
b14cbb56dd5644a7842bca71db79dee2 |
User & Date: | js on 2020-07-04 22:30:01 |
Other Links: | branch diff | manifest | tags |
Context
2020-07-05
| ||
11:11 | Merge trunk into branch "tagged-pointers" check-in: 6fb1661b64 user: js tags: tagged-pointers | |
2020-07-04
| ||
22:30 | lookup-asm-sparc-elf.S: Support tagged pointers check-in: b14cbb56dd user: js tags: tagged-pointers | |
14:21 | lookup-asm-x86_64-macho.S: Support tagged pointers check-in: 3f2a6306a3 user: js tags: tagged-pointers | |
Changes
Modified src/runtime/lookup-asm/lookup-asm-sparc-elf.S from [16219ec5cd] to [e4c61d5899].
︙ | ︙ | |||
23 24 25 26 27 28 29 | .globl objc_msg_lookup_stret .globl objc_msg_lookup_super .globl objc_msg_lookup_super_stret .section .text .macro generate_lookup name not_found \name: | | | > > | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | .globl objc_msg_lookup_stret .globl objc_msg_lookup_super .globl objc_msg_lookup_super_stret .section .text .macro generate_lookup name not_found \name: tst %o0 bz ret_nil btst 1, %o0 bnz .Ltagged_pointer_\name nop ld [%o0], %o2 ld [%o2 + 32], %o2 .Lmain_\name: #ifdef OF_SELUID24 |
︙ | ︙ | |||
55 56 57 58 59 60 61 62 63 64 65 66 67 68 | cmp %o2, 0 be \not_found nop retl mov %o2, %o0 .type \name, %function .size \name, .-\name .endm .macro generate_lookup_super name lookup \name: mov %o0, %o2 | > > > > > > > > > > > > > > > > > > > > > > > > | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | cmp %o2, 0 be \not_found nop retl mov %o2, %o0 .Ltagged_pointer_\name: and %o0, 0xE, %o2 sll %o2, 1, %o2 #ifdef OF_PIC mov %o7, %g1 sethi %hi(_GLOBAL_OFFSET_TABLE_ - 4), %o3 call 0f or %o3, %lo(_GLOBAL_OFFSET_TABLE_ + 4), %o3 0: add %o7, %o3, %o3 mov %g1, %o7 sethi %hi(objc_tagged_pointer_classes), %o0 or %o0, %lo(objc_tagged_pointer_classes), %o0 ld [%o3 + %o0], %o0 #else sethi %hi(objc_tagged_pointer_classes), %o0 or %o0, %lo(objc_tagged_pointer_classes), %o0 #endif ld [%o0 + %o2], %o2 ba .Lmain_\name ld [%o2 + 32], %o2 .type \name, %function .size \name, .-\name .endm .macro generate_lookup_super name lookup \name: mov %o0, %o2 |
︙ | ︙ |
Modified src/runtime/lookup-asm/lookup-asm-sparc64-elf.S from [b777f33d5b] to [7d76fc1761].
︙ | ︙ | |||
84 85 86 87 88 89 90 | #else sethi %hi(objc_tagged_pointer_classes), %o0 or %o0, %lo(objc_tagged_pointer_classes), %o0 #endif ldx [%o0 + %o2], %o2 ba .Lmain_\name ldx [%o2 + 64], %o2 | < | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | #else sethi %hi(objc_tagged_pointer_classes), %o0 or %o0, %lo(objc_tagged_pointer_classes), %o0 #endif ldx [%o0 + %o2], %o2 ba .Lmain_\name ldx [%o2 + 64], %o2 .type \name, %function .size \name, .-\name .endm .macro generate_lookup_super name lookup \name: mov %o0, %o2 |
︙ | ︙ |