[panda-users] inlining of functions in panda/common.h?

Brendan Dolan-Gavitt brendandg at nyu.edu
Mon Oct 1 11:25:25 EDT 2018


What's involved in inlining them? Simply marking them as "inline" in the header?

On Mon, Oct 1, 2018 at 9:39 AM, Manolis Stamatogiannakis
<mstamat at gmail.com> wrote:
> I had this in the back of my mind for some time, but today I gave it a try
> to see the effects.
>
> Many functions declared in panda/common.h are only thin wrappers around
> other functions. E.g.:
> int panda_physical_memory_rw(hwaddr addr, uint8_t *buf, int len, int
> is_write);
> hwaddr panda_virt_to_phys(CPUState *env, target_ulong addr);
> int panda_virtual_memory_rw(CPUState *env, target_ulong addr, uint8_t *buf,
> int len, int is_write);
> int panda_virtual_memory_read(CPUState *env, target_ulong addr, uint8_t
> *buf, int len);
> int panda_virtual_memory_write(CPUState *env, target_ulong addr, uint8_t
> *buf, int len);
>
> Is there any reason these have not been implemented as inlines?
>
> After inlining them (a 5' task), my reply replay ran ~5% faster (141.7sec ->
> 133.7sec). Not a huge improvement, but given the effort required for the
> change, one can't complain.
>
> Thanks,
> Manolis
>
> _______________________________________________
> panda-users mailing list
> panda-users at mit.edu
> https://urldefense.proofpoint.com/v2/url?u=http-3A__mailman.mit.edu_mailman_listinfo_panda-2Dusers&d=DwICAg&c=slrrB7dE8n7gBJbeO0g-IQ&r=A4wu5Zmpus3hDmokNWeJTO0SLjrxguzCAxn30Hc-o48&m=HSkp0HaNEn4JxGH47OBshPtVt8yawjH9TlZ7cW5xaH4&s=Z6_aPLmeXQf7Lrg7FEBZtXPy2bSMUjaDmTTrkGjskP4&e=
>



-- 
Brendan Dolan-Gavitt
Assistant Professor, Department of Computer Science and Engineering
NYU Tandon School of Engineering



More information about the panda-users mailing list