pch_status PCHInitRewrites( bool writing ) { if( writing ) { PCHWriteCVIndex( CarveLastValidIndex( carveREWRITE ) ); PCHWriteCVIndex( CarveLastValidIndex( carveREWRITE_TOKENS ) ); PCHWriteCVIndex( CarveLastValidIndex( carveSRCFILE_HANDLE ) ); } else { carveREWRITE = CarveRestart( carveREWRITE ); CarveMapOptimize( carveREWRITE, PCHReadCVIndex() ); carveREWRITE_TOKENS = CarveRestart( carveREWRITE_TOKENS ); CarveMapOptimize( carveREWRITE_TOKENS, PCHReadCVIndex() ); carveSRCFILE_HANDLE = CarveRestart( carveSRCFILE_HANDLE ); CarveMapOptimize( carveSRCFILE_HANDLE, PCHReadCVIndex() ); } return( PCHCB_OK ); }
pch_status PCHInitConstantPool( bool writing ) { if( writing ) { PCHWriteCVIndex( CarveLastValidIndex( carvePOOL_CON ) ); } else { carvePOOL_CON = CarveRestart( carvePOOL_CON ); CarveMapOptimize( carvePOOL_CON, PCHReadCVIndex() ); } return( PCHCB_OK ); }
pch_status PCHInitTypeSigs( bool writing ) { if( writing ) { PCHWriteCVIndex( CarveLastValidIndex( carveTYPE_SIG ) ); } else { carveTYPE_SIG = CarveRestart( carveTYPE_SIG ); CarveMapOptimize( carveTYPE_SIG, PCHReadCVIndex() ); } return( PCHCB_OK ); }
pch_status PCHInitTokenLocns( bool writing ) { if( writing ) { PCHWriteCVIndex( CarveLastValidIndex( carveSYMBOL_LOCN ) ); } else { carveSYMBOL_LOCN = CarveRestart( carveSYMBOL_LOCN ); CarveMapOptimize( carveSYMBOL_LOCN, PCHReadCVIndex() ); } return( PCHCB_OK ); }
pch_status PCHReadTypeSigs( void ) { TYPE_SIG *s; auto cvinit_t data; type_sigs = TypeSigMapIndex( (TYPE_SIG *)PCHReadCVIndex() ); CarveInitStart( carveTYPE_SIG, &data ); for( ; (s = PCHReadCVIndexElement( &data )) != NULL; ) { PCHReadVar( *s ); s->next = TypeSigMapIndex( s->next ); s->base = TypeSigMapIndex( s->base ); s->type = TypeMapIndex( s->type ); s->sym = SymbolMapIndex( s->sym ); s->dtor = SymbolMapIndex( s->dtor ); s->default_ctor = SymbolMapIndex( s->default_ctor ); s->copy_ctor = SymbolMapIndex( s->copy_ctor ); } return( PCHCB_OK ); }