Overview
Comment: | Replace a few movdqa with movaps
movaps is smaller, and we don't know what kind of data is in there |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
a1da5c7b2df876cede7c63b3821fea24 |
User & Date: | js on 2019-02-18 20:55:15 |
Other Links: | manifest | tags |
Context
2019-02-24
| ||
13:52 | runtime/linklib: Add missing methods from arc.m check-in: ea17970d39 user: js tags: trunk | |
2019-02-18
| ||
20:55 | Replace a few movdqa with movaps check-in: a1da5c7b2d user: js tags: trunk | |
01:37 | invocation: Make all offsets constants check-in: 780d096371 user: js tags: trunk | |
Changes
Modified src/forwarding/apple-forwarding-x86_64.S from [3e183fb684] to [18ea0db1e4].
︙ | ︙ | |||
41 42 43 44 45 46 47 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) | | | | | | | | | | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) movaps %xmm0, -0x50(%rbp) movaps %xmm1, -0x60(%rbp) movaps %xmm2, -0x70(%rbp) movaps %xmm3, -0x80(%rbp) movaps %xmm4, -0x90(%rbp) movaps %xmm5, -0xA0(%rbp) movaps %xmm6, -0xB0(%rbp) movaps %xmm7, -0xC0(%rbp) call _object_getClass movq %rax, %rdi movq sel_forwardingTargetForSelector_(%rip), %rsi call _class_respondsToSelector |
︙ | ︙ | |||
72 73 74 75 76 77 78 | jz 0f cmpq -0x10(%rbp), %rax je 0f movq %rax, %rdi /* Restore all arguments, except %rdi */ | | | | | | | | | | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | jz 0f cmpq -0x10(%rbp), %rax je 0f movq %rax, %rdi /* Restore all arguments, except %rdi */ movaps -0xC0(%rbp), %xmm7 movaps -0xB0(%rbp), %xmm6 movaps -0xA0(%rbp), %xmm5 movaps -0x90(%rbp), %xmm4 movaps -0x80(%rbp), %xmm3 movaps -0x70(%rbp), %xmm2 movaps -0x60(%rbp), %xmm1 movaps -0x50(%rbp), %xmm0 movq -0x38(%rbp), %r9 movq -0x30(%rbp), %r8 movq -0x28(%rbp), %rcx movq -0x20(%rbp), %rdx movq -0x18(%rbp), %rsi movq -0x8(%rbp), %rax |
︙ | ︙ | |||
114 115 116 117 118 119 120 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) | | | | | | | | | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) movaps %xmm0, -0x50(%rbp) movaps %xmm1, -0x60(%rbp) movaps %xmm2, -0x70(%rbp) movaps %xmm3, -0x80(%rbp) movaps %xmm4, -0x90(%rbp) movaps %xmm5, -0xA0(%rbp) movaps %xmm6, -0xB0(%rbp) movaps %xmm7, -0xC0(%rbp) movq %rsi, %rdi call _object_getClass movq %rax, %rdi movq sel_forwardingTargetForSelector_(%rip), %rsi call _class_respondsToSelector |
︙ | ︙ | |||
145 146 147 148 149 150 151 | jz 0f cmpq -0x18(%rbp), %rax je 0f movq %rax, %rsi /* Restore all arguments, except %rsi */ | | | | | | | | | | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | jz 0f cmpq -0x18(%rbp), %rax je 0f movq %rax, %rsi /* Restore all arguments, except %rsi */ movaps -0xC0(%rbp), %xmm7 movaps -0xB0(%rbp), %xmm6 movaps -0xA0(%rbp), %xmm5 movaps -0x90(%rbp), %xmm4 movaps -0x80(%rbp), %xmm3 movaps -0x70(%rbp), %xmm2 movaps -0x60(%rbp), %xmm1 movaps -0x50(%rbp), %xmm0 movq -0x38(%rbp), %r9 movq -0x30(%rbp), %r8 movq -0x28(%rbp), %rcx movq -0x20(%rbp), %rdx movq -0x10(%rbp), %rdi movq -0x8(%rbp), %rax |
︙ | ︙ |
Modified src/forwarding/forwarding-x86_64-elf.S from [bf0e91fafa] to [eb65413739].
︙ | ︙ | |||
32 33 34 35 36 37 38 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) | | | | | | | | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) movaps %xmm0, -0x50(%rbp) movaps %xmm1, -0x60(%rbp) movaps %xmm2, -0x70(%rbp) movaps %xmm3, -0x80(%rbp) movaps %xmm4, -0x90(%rbp) movaps %xmm5, -0xA0(%rbp) movaps %xmm6, -0xB0(%rbp) movaps %xmm7, -0xC0(%rbp) call object_getClass@PLT movq %rax, %rdi leaq sel_forwardingTargetForSelector_(%rip), %rsi call class_respondsToSelector@PLT |
︙ | ︙ | |||
72 73 74 75 76 77 78 | movq %rax, %rdi movq -0x18(%rbp), %rsi call objc_msg_lookup@PLT movq %rax, %r11 /* Restore all arguments */ | | | | | | | | | | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | movq %rax, %rdi movq -0x18(%rbp), %rsi call objc_msg_lookup@PLT movq %rax, %r11 /* Restore all arguments */ movaps -0xC0(%rbp), %xmm7 movaps -0xB0(%rbp), %xmm6 movaps -0xA0(%rbp), %xmm5 movaps -0x90(%rbp), %xmm4 movaps -0x80(%rbp), %xmm3 movaps -0x70(%rbp), %xmm2 movaps -0x60(%rbp), %xmm1 movaps -0x50(%rbp), %xmm0 movq -0x38(%rbp), %r9 movq -0x30(%rbp), %r8 movq -0x28(%rbp), %rcx movq -0x20(%rbp), %rdx movq -0x18(%rbp), %rsi movq -0x10(%rbp), %rdi movq -0x8(%rbp), %rax |
︙ | ︙ | |||
117 118 119 120 121 122 123 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) | | | | | | | | | | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) movaps %xmm0, -0x50(%rbp) movaps %xmm1, -0x60(%rbp) movaps %xmm2, -0x70(%rbp) movaps %xmm3, -0x80(%rbp) movaps %xmm4, -0x90(%rbp) movaps %xmm5, -0xA0(%rbp) movaps %xmm6, -0xB0(%rbp) movaps %xmm7, -0xC0(%rbp) movq %rsi, %rdi call object_getClass@PLT movq %rax, %rdi leaq sel_forwardingTargetForSelector_(%rip), %rsi call class_respondsToSelector@PLT |
︙ | ︙ | |||
158 159 160 161 162 163 164 | movq %rax, %rdi movq -0x20(%rbp), %rsi call objc_msg_lookup_stret@PLT movq %rax, %r11 /* Restore all arguments */ | | | | | | | | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | movq %rax, %rdi movq -0x20(%rbp), %rsi call objc_msg_lookup_stret@PLT movq %rax, %r11 /* Restore all arguments */ movaps -0xC0(%rbp), %xmm7 movaps -0xB0(%rbp), %xmm6 movaps -0xA0(%rbp), %xmm5 movaps -0x90(%rbp), %xmm4 movaps -0x80(%rbp), %xmm3 movaps -0x70(%rbp), %xmm2 movaps -0x60(%rbp), %xmm1 movaps -0x50(%rbp), %xmm0 movq -0x38(%rbp), %r9 movq -0x30(%rbp), %r8 movq -0x28(%rbp), %rcx movq -0x20(%rbp), %rdx movq -0x18(%rbp), %rsi movq -0x10(%rbp), %rdi movq -0x8(%rbp), %rax |
︙ | ︙ |
Modified src/forwarding/forwarding-x86_64-macho.S from [4197c22f3e] to [d6f50d3ba3].
︙ | ︙ | |||
32 33 34 35 36 37 38 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) | | | | | | | | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) movaps %xmm0, -0x50(%rbp) movaps %xmm1, -0x60(%rbp) movaps %xmm2, -0x70(%rbp) movaps %xmm3, -0x80(%rbp) movaps %xmm4, -0x90(%rbp) movaps %xmm5, -0xA0(%rbp) movaps %xmm6, -0xB0(%rbp) movaps %xmm7, -0xC0(%rbp) call _object_getClass movq %rax, %rdi leaq sel_forwardingTargetForSelector_(%rip), %rsi call _class_respondsToSelector |
︙ | ︙ | |||
72 73 74 75 76 77 78 | movq %rax, %rdi movq -0x18(%rbp), %rsi call _objc_msg_lookup movq %rax, %r11 /* Restore all arguments */ | | | | | | | | | | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | movq %rax, %rdi movq -0x18(%rbp), %rsi call _objc_msg_lookup movq %rax, %r11 /* Restore all arguments */ movaps -0xC0(%rbp), %xmm7 movaps -0xB0(%rbp), %xmm6 movaps -0xA0(%rbp), %xmm5 movaps -0x90(%rbp), %xmm4 movaps -0x80(%rbp), %xmm3 movaps -0x70(%rbp), %xmm2 movaps -0x60(%rbp), %xmm1 movaps -0x50(%rbp), %xmm0 movq -0x38(%rbp), %r9 movq -0x30(%rbp), %r8 movq -0x28(%rbp), %rcx movq -0x20(%rbp), %rdx movq -0x18(%rbp), %rsi movq -0x10(%rbp), %rdi movq -0x8(%rbp), %rax |
︙ | ︙ | |||
115 116 117 118 119 120 121 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) | | | | | | | | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | movq %rax, -0x8(%rbp) movq %rdi, -0x10(%rbp) movq %rsi, -0x18(%rbp) movq %rdx, -0x20(%rbp) movq %rcx, -0x28(%rbp) movq %r8, -0x30(%rbp) movq %r9, -0x38(%rbp) movaps %xmm0, -0x50(%rbp) movaps %xmm1, -0x60(%rbp) movaps %xmm2, -0x70(%rbp) movaps %xmm3, -0x80(%rbp) movaps %xmm4, -0x90(%rbp) movaps %xmm5, -0xA0(%rbp) movaps %xmm6, -0xB0(%rbp) movaps %xmm7, -0xC0(%rbp) movq %rsi, %rdi call _object_getClass movq %rax, %rdi leaq sel_forwardingTargetForSelector_(%rip), %rsi call _class_respondsToSelector |
︙ | ︙ | |||
156 157 158 159 160 161 162 | movq %rax, %rdi movq -0x20(%rbp), %rsi call _objc_msg_lookup_stret movq %rax, %r11 /* Restore all arguments */ | | | | | | | | | | 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | movq %rax, %rdi movq -0x20(%rbp), %rsi call _objc_msg_lookup_stret movq %rax, %r11 /* Restore all arguments */ movaps -0xC0(%rbp), %xmm7 movaps -0xB0(%rbp), %xmm6 movaps -0xA0(%rbp), %xmm5 movaps -0x90(%rbp), %xmm4 movaps -0x80(%rbp), %xmm3 movaps -0x70(%rbp), %xmm2 movaps -0x60(%rbp), %xmm1 movaps -0x50(%rbp), %xmm0 movq -0x38(%rbp), %r9 movq -0x30(%rbp), %r8 movq -0x28(%rbp), %rcx movq -0x20(%rbp), %rdx movq -0x18(%rbp), %rsi movq -0x10(%rbp), %rdi movq -0x8(%rbp), %rax |
︙ | ︙ |
Modified src/forwarding/forwarding-x86_64-win64.S from [be30bb9442] to [f3bfdf8e1c].
︙ | ︙ | |||
28 29 30 31 32 33 34 | /* Save all arguments */ subq $0x90, %rsp /* 16-byte alignment */ movq %rax, -0x28(%rbp) movq %rcx, -0x30(%rbp) movq %rdx, -0x38(%rbp) movq %r8, -0x40(%rbp) movq %r9, -0x48(%rbp) | | | | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | /* Save all arguments */ subq $0x90, %rsp /* 16-byte alignment */ movq %rax, -0x28(%rbp) movq %rcx, -0x30(%rbp) movq %rdx, -0x38(%rbp) movq %r8, -0x40(%rbp) movq %r9, -0x48(%rbp) movaps %xmm0, -0x60(%rbp) movaps %xmm1, -0x70(%rbp) movaps %xmm2, -0x80(%rbp) movaps %xmm3, -0x90(%rbp) call object_getClass movq %rax, %rcx leaq sel_forwardingTargetForSelector_(%rip), %rdx call class_respondsToSelector |
︙ | ︙ | |||
64 65 66 67 68 69 70 | movq %rax, %rcx movq -0x38(%rbp), %rdx call objc_msg_lookup movq %rax, %r11 /* Restore all arguments */ | | | | | | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | movq %rax, %rcx movq -0x38(%rbp), %rdx call objc_msg_lookup movq %rax, %r11 /* Restore all arguments */ movaps -0x90(%rbp), %xmm3 movaps -0x80(%rbp), %xmm2 movaps -0x70(%rbp), %xmm1 movaps -0x60(%rbp), %xmm0 movq -0x48(%rbp), %r9 movq -0x40(%rbp), %r8 movq -0x38(%rbp), %rdx movq -0x30(%rbp), %rcx movq -0x28(%rbp), %rax movq %rbp, %rsp |
︙ | ︙ | |||
99 100 101 102 103 104 105 | /* Save all arguments */ subq $0x90, %rsp /* 16-byte alignment */ movq %rax, -0x28(%rbp) movq %rcx, -0x30(%rbp) movq %rdx, -0x38(%rbp) movq %r8, -0x40(%rbp) movq %r9, -0x48(%rbp) | | | | | | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | /* Save all arguments */ subq $0x90, %rsp /* 16-byte alignment */ movq %rax, -0x28(%rbp) movq %rcx, -0x30(%rbp) movq %rdx, -0x38(%rbp) movq %r8, -0x40(%rbp) movq %r9, -0x48(%rbp) movaps %xmm0, -0x60(%rbp) movaps %xmm1, -0x70(%rbp) movaps %xmm2, -0x80(%rbp) movaps %xmm3, -0x90(%rbp) movq %rdx, %rcx call object_getClass movq %rax, %rcx leaq sel_forwardingTargetForSelector_(%rip), %rdx call class_respondsToSelector |
︙ | ︙ | |||
136 137 138 139 140 141 142 | movq %rax, %rcx movq -0x40(%rbp), %rdx call objc_msg_lookup_stret movq %rax, %r11 /* Restore all arguments */ | | | | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | movq %rax, %rcx movq -0x40(%rbp), %rdx call objc_msg_lookup_stret movq %rax, %r11 /* Restore all arguments */ movaps -0x90(%rbp), %xmm3 movaps -0x80(%rbp), %xmm2 movaps -0x70(%rbp), %xmm1 movaps -0x60(%rbp), %xmm0 movq -0x48(%rbp), %r9 movq -0x40(%rbp), %r8 movq -0x38(%rbp), %rdx movq -0x30(%rbp), %rcx movq -0x28(%rbp), %rax movq %rbp, %rsp |
︙ | ︙ |
Modified src/invocation/apple-call-x86_64.S from [2b14e6dad4] to [c30e24b805].
︙ | ︙ | |||
45 46 47 48 49 50 51 | pushq %r11 jmp Lfill_stack Lstack_filled: movb OFFSET_NUM_SSE_USED(%rdi), %al | | | | | | | | | | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | pushq %r11 jmp Lfill_stack Lstack_filled: movb OFFSET_NUM_SSE_USED(%rdi), %al movaps OFFSET_SSE_INOUT+112(%rdi), %xmm7 movaps OFFSET_SSE_INOUT+96(%rdi), %xmm6 movaps OFFSET_SSE_INOUT+80(%rdi), %xmm5 movaps OFFSET_SSE_INOUT+64(%rdi), %xmm4 movaps OFFSET_SSE_INOUT+48(%rdi), %xmm3 movaps OFFSET_SSE_INOUT+32(%rdi), %xmm2 movaps OFFSET_SSE_INOUT+16(%rdi), %xmm1 movaps OFFSET_SSE_INOUT(%rdi), %xmm0 movq OFFSET_GPR_IN+40(%rdi), %r9 movq OFFSET_GPR_IN+32(%rdi), %r8 movq OFFSET_GPR_IN+24(%rdi), %rcx movq OFFSET_GPR_IN+16(%rdi), %rdx movq OFFSET_GPR_IN+8(%rdi), %rsi |
︙ | ︙ | |||
78 79 80 81 82 83 84 | call _objc_msgSend Lafter_send: movq -8(%rbp), %rdi movq %rax, OFFSET_GPR_OUT(%rdi) movq %rdx, OFFSET_GPR_OUT+8(%rdi) | | | | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | call _objc_msgSend Lafter_send: movq -8(%rbp), %rdi movq %rax, OFFSET_GPR_OUT(%rdi) movq %rdx, OFFSET_GPR_OUT+8(%rdi) movaps %xmm0, OFFSET_SSE_INOUT(%rdi) movaps %xmm1, OFFSET_SSE_INOUT+16(%rdi) movb OFFSET_RETURN_TYPE(%rdi), %r11b cmpb $RETURN_TYPE_X87, %r11b je Lpop_long_double cmpb $RETURN_TYPE_COMPLEX_X87, %r11b |
︙ | ︙ |
Modified src/invocation/call-x86_64-elf.S from [d3f8a4b569] to [df8949da43].
︙ | ︙ | |||
59 60 61 62 63 64 65 | pushq %r11 jmp .fill_stack .stack_filled: movb OFFSET_NUM_SSE_USED(%rdi), %al | | | | | | | | | | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | pushq %r11 jmp .fill_stack .stack_filled: movb OFFSET_NUM_SSE_USED(%rdi), %al movaps OFFSET_SSE_INOUT+112(%rdi), %xmm7 movaps OFFSET_SSE_INOUT+96(%rdi), %xmm6 movaps OFFSET_SSE_INOUT+80(%rdi), %xmm5 movaps OFFSET_SSE_INOUT+64(%rdi), %xmm4 movaps OFFSET_SSE_INOUT+48(%rdi), %xmm3 movaps OFFSET_SSE_INOUT+32(%rdi), %xmm2 movaps OFFSET_SSE_INOUT+16(%rdi), %xmm1 movaps OFFSET_SSE_INOUT(%rdi), %xmm0 movq OFFSET_GPR_IN+40(%rdi), %r9 movq OFFSET_GPR_IN+32(%rdi), %r8 movq OFFSET_GPR_IN+24(%rdi), %rcx movq OFFSET_GPR_IN+16(%rdi), %rdx movq OFFSET_GPR_IN+8(%rdi), %rsi |
︙ | ︙ | |||
89 90 91 92 93 94 95 | movq -16(%rbp), %r11 call *%r11 .after_send: movq -8(%rbp), %rdi movq %rax, OFFSET_GPR_OUT(%rdi) movq %rdx, OFFSET_GPR_OUT+8(%rdi) | | | | 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | movq -16(%rbp), %r11 call *%r11 .after_send: movq -8(%rbp), %rdi movq %rax, OFFSET_GPR_OUT(%rdi) movq %rdx, OFFSET_GPR_OUT+8(%rdi) movaps %xmm0, OFFSET_SSE_INOUT(%rdi) movaps %xmm1, OFFSET_SSE_INOUT+16(%rdi) movb OFFSET_RETURN_TYPE(%rdi), %r11b cmpb $RETURN_TYPE_X87, %r11b je .pop_long_double cmpb $RETURN_TYPE_COMPLEX_X87, %r11b |
︙ | ︙ |