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

Albert Astals Cid aacid at kde.org
Mon Jan 5 12:59:07 PST 2015


El Dilluns, 5 de gener de 2015, a les 21:46:32, Adam Reichold va escriure:
> Hello again,
> 
> suggested changes attached as patch.

Doesn't compile, init() is not accessible from that static function.

Cheers,
  Albert

> 
> 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



More information about the poppler mailing list