[poppler] Openjpeg2 patches: Why de-inline doGetChar?

Adam Reichold adam.reichold at t-online.de
Mon Jan 5 12:46:32 PST 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hello again,

suggested changes attached as patch.

Best regards, Adam.

Am 05.01.2015 um 21:24 schrieb Adam Reichold:
> Hello,
> 
> Am 04.01.2015 um 23:44 schrieb Albert Astals Cid:
>> El Dilluns, 5 de gener de 2015, a les 08:53:26, Adrian Johnson
>> va escriure:
>>> On 05/01/15 08:39, Albert Astals Cid wrote:
>>>> Adrian, any reason you de-inlined doGetChar in the patches
>>>> for openjpeg2?
>>>> 
>>>> As far as i remember when i made this function inline it got
>>>> us a not so bad free speed increase.
>>> 
>>> When I wrote the patch I moved all openjpeg specific types and 
>>> code into the .cc file. I could not figure out how to make an 
>>> inline function in the .h access the JPXStreamPrivate struct
>>> that is defined in the .cc file.
> 
>> I see :/
> 
>> Cheers, Albert
> 
> Looking at the implemenation, both "doGetChar" and "doLookChar"
> will always be called inside "JPEG2000Stream.cc" via the virtual
> methods "getChar(s)" and "lookChar", so I'd say we could just mark
> the implemenations as "inline" as the compiler can still inline
> within the compilation unit.
> 
> Actually, I think there is no compelling reason to have those
> present in the header at all, as they always seem to access the
> data via the "priv" pointer anyway, so I'd say the declarations
> like
> 
> static inline int doGetChar(JPXStreamPrivate* priv); static inline
> int doLookChar(JPXStreamPrivate* priv);
> 
> only within the source file could open even more possibilities for 
> compiler optimizations. (You could probably also make them inline 
> methods of "JPXStreamPrivate" as well, but then the compiler would 
> have to infer the effective linkage. Maybe we could put the whole 
> definition of "JPXStreamPrivate" within the anonymous namespace
> anyway?)
> 
> Best regards, Adam.
> 
>>> 
>>>> Cheers,
>>>> 
>>>> Albert
>>>> 
>>>> _______________________________________________ poppler
>>>> mailing list poppler at lists.freedesktop.org 
>>>> http://lists.freedesktop.org/mailman/listinfo/poppler
>>> 
>>> _______________________________________________ poppler
>>> mailing list poppler at lists.freedesktop.org 
>>> http://lists.freedesktop.org/mailman/listinfo/poppler
> 
>> _______________________________________________ poppler mailing 
>> list poppler at lists.freedesktop.org 
>> http://lists.freedesktop.org/mailman/listinfo/poppler
> 
> _______________________________________________ poppler mailing
> list poppler at lists.freedesktop.org 
> http://lists.freedesktop.org/mailman/listinfo/poppler
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJUqvgiAAoJEPSSjE3STU34u7YIAKmkBl6AR6IcRd+9wWNMSHr5
XsEvqXlQWLk85YzKHR4lxXCK2y7N1+84sjIBYZK+CYbxnNbCFCJC4U8edLkW/oWP
5fMBipKLRJ+OKEwXqfSKmeOwithegTIHEK51J7Y2kW5kgrhrBtWm8Lo7aVvuVoqU
dZtegXKrqikNulK6zI3FlC/n77MVLll3Yxf5uAIv5kouch4HwNxwk2U3vwrlK/R+
m+5UJjb1o6r6AYy9ER50X3fOvveAbJZ91cg9aVDWDP0rzxVMLNYr1Nkz4YIKVnXB
avm76xXgP0cVol5AQB2/I8Be7EqWKt4Uo/1lG1SGrubaTis85/LNv9/cLqh0Oi4=
=aLA1
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: static-inline-dogetchar.patch
Type: text/x-patch
Size: 2743 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/poppler/attachments/20150105/b6beaee2/attachment.bin>


More information about the poppler mailing list