@@ -153,23 +153,21 @@ inline void writeStubHelperEntry(uint8_t *buf8,
153
153
}
154
154
155
155
template <class LP >
156
- inline void
157
- writeObjCMsgSendFastStub ( uint8_t *buf, const uint32_t objcStubsFastCode[8 ],
158
- Symbol *sym, uint64_t stubsAddr, uint64_t stubOffset ,
159
- uint64_t selrefsVA , uint64_t selectorIndex ,
160
- uint64_t gotAddr, uint64_t msgSendIndex) {
156
+ inline void writeObjCMsgSendFastStub ( uint8_t *buf,
157
+ const uint32_t objcStubsFastCode[8 ],
158
+ Symbol *sym, uint64_t stubsAddr,
159
+ uint64_t stubOffset , uint64_t selrefVA ,
160
+ uint64_t gotAddr, uint64_t msgSendIndex) {
161
161
SymbolDiagnostic d = {sym, sym->getName ()};
162
162
auto *buf32 = reinterpret_cast <uint32_t *>(buf);
163
163
164
164
auto pcPageBits = [stubsAddr, stubOffset](int i) {
165
165
return pageBits (stubsAddr + stubOffset + i * sizeof (uint32_t ));
166
166
};
167
167
168
- uint64_t selectorOffset = selectorIndex * LP::wordSize;
169
168
encodePage21 (&buf32[0 ], d, objcStubsFastCode[0 ],
170
- pageBits (selrefsVA + selectorOffset) - pcPageBits (0 ));
171
- encodePageOff12 (&buf32[1 ], d, objcStubsFastCode[1 ],
172
- selrefsVA + selectorOffset);
169
+ pageBits (selrefVA) - pcPageBits (0 ));
170
+ encodePageOff12 (&buf32[1 ], d, objcStubsFastCode[1 ], selrefVA);
173
171
uint64_t gotOffset = msgSendIndex * LP::wordSize;
174
172
encodePage21 (&buf32[2 ], d, objcStubsFastCode[2 ],
175
173
pageBits (gotAddr + gotOffset) - pcPageBits (2 ));
@@ -184,20 +182,18 @@ template <class LP>
184
182
inline void
185
183
writeObjCMsgSendSmallStub (uint8_t *buf, const uint32_t objcStubsSmallCode[3 ],
186
184
Symbol *sym, uint64_t stubsAddr, uint64_t stubOffset,
187
- uint64_t selrefsVA , uint64_t selectorIndex ,
188
- uint64_t msgSendAddr, uint64_t msgSendIndex) {
185
+ uint64_t selrefVA , uint64_t msgSendAddr ,
186
+ uint64_t msgSendIndex) {
189
187
SymbolDiagnostic d = {sym, sym->getName ()};
190
188
auto *buf32 = reinterpret_cast <uint32_t *>(buf);
191
189
192
190
auto pcPageBits = [stubsAddr, stubOffset](int i) {
193
191
return pageBits (stubsAddr + stubOffset + i * sizeof (uint32_t ));
194
192
};
195
193
196
- uint64_t selectorOffset = selectorIndex * LP::wordSize;
197
194
encodePage21 (&buf32[0 ], d, objcStubsSmallCode[0 ],
198
- pageBits (selrefsVA + selectorOffset) - pcPageBits (0 ));
199
- encodePageOff12 (&buf32[1 ], d, objcStubsSmallCode[1 ],
200
- selrefsVA + selectorOffset);
195
+ pageBits (selrefVA) - pcPageBits (0 ));
196
+ encodePageOff12 (&buf32[1 ], d, objcStubsSmallCode[1 ], selrefVA);
201
197
uint64_t msgSendStubVA = msgSendAddr + msgSendIndex * target->stubSize ;
202
198
uint64_t pcVA = stubsAddr + stubOffset + 2 * sizeof (uint32_t );
203
199
encodeBranch26 (&buf32[2 ], {nullptr , " objc_msgSend stub" },
0 commit comments