There's no problem.
I would like to propose inlining of several pretty often used functions:
sqlite3BtreeGetPageSize
sqlite3BtreePager
sqlite3PagerBackupPtr
sqlite3PagerRef
sqlite3PagerPageRefcount
sqlite3PagerGetData
sqlite3PagerGetExtra
sqlite3PagerIsreadonly
sqlite3PagerRefcount
sqlite3PagerFilename
sqlite3PagerVfs
sqlite3PagerFile
sqlite3PagerJournalname
sqlite3PagerNosync
sqlite3PagerTempSpace
sqlite3PagerIsMemdb
For instance, I introduced a compiler flag named INLDEF and for each ot these functions I issued:
in the declaration section:
<verbatim>
#ifdef INLDEF
# define sqlite3BtreeGetPageSize(a) (a)->pBt->pageSize
#else//INLDEF
SQLITE_PRIVATE INL int sqlite3BtreeGetPageSize(Btree*);
#endif//INLDEF
</verbatim>
and in the implementation section:
<verbatim>
#ifndef INLDEF
SQLITE_PRIVATE int sqlite3BtreeGetPageSize(Btree *p){
return p->pBt->pageSize;
}
#endif//INLDEF
</verbatim>
Best regards: Chris
<hr><i>drh added on 2009-09-14 15:35:28:</i><br>
Modern C compilers do this kind of inlining automatically. There is no need
to complicate the code.
|