@@ -298,55 +298,34 @@ vector<uint32_t> CallingConvention::GetFloatArgumentRegisters()
298298
299299vector<uint32_t > CallingConvention::GetRegisterArgumentClasses ()
300300{
301- size_t count;
302- uint32_t * classes = BNGetRegisterArgumentClasses (GetObject (), &count);
303- vector<uint32_t > result;
304- for (size_t i = 0 ; i < count; i++)
305- result.push_back (classes[i]);
306- BNFreeRegisterList (classes);
307- return result;
301+ return vector<uint32_t >();
308302}
309303
310304
311305vector<uint32_t > CallingConvention::GetRegisterArgumentClassLists (uint32_t classId)
312306{
313- size_t count;
314- uint32_t * lists = BNGetRegisterArgumentClassLists (GetObject (), classId, &count);
315- vector<uint32_t > result;
316- for (size_t i = 0 ; i < count; i++)
317- result.push_back (lists[i]);
318- BNFreeRegisterList (lists);
319- return result;
307+ return vector<uint32_t >();
320308}
321309
322310
323311vector<uint32_t > CallingConvention::GetRegisterArgumentLists ()
324312{
325- size_t count;
326- uint32_t * lists = BNGetRegisterArgumentLists (GetObject (), &count);
327- vector<uint32_t > result;
328- for (size_t i = 0 ; i < count; i++)
329- result.push_back (lists[i]);
330- BNFreeRegisterList (lists);
331- return result;
313+ // Default implementation: derive from classes
314+ return vector<uint32_t >();
332315}
333316
334317
335318vector<uint32_t > CallingConvention::GetRegisterArgumentListRegs (uint32_t regListId)
336319{
337- size_t count;
338- uint32_t * regs = BNGetRegisterArgumentListRegs (GetObject (), regListId, &count);
339- vector<uint32_t > result;
340- for (size_t i = 0 ; i < count; i++)
341- result.push_back (regs[i]);
342- BNFreeRegisterList (regs);
343- return result;
320+ // Default implementation: no registers for any list
321+ return vector<uint32_t >();
344322}
345323
346324
347325BNRegisterListKind CallingConvention::GetRegisterArgumentListKind (uint32_t regListId)
348326{
349- return BNGetRegisterArgumentListKind (GetObject (), regListId);
327+ // Default implementation: list 0 = integer, others = float
328+ return (regListId == 0 ) ? REGISTER_LIST_KIND_INTEGER_SEMANTICS : REGISTER_LIST_KIND_FLOAT_SEMANTICS;
350329}
351330
352331
0 commit comments