Ignore:
Timestamp:
Aug 14, 2007, 11:57:32 PM (17 years ago)
Author:
dai_9181
Message:

vtbl構築をコード生成後(最終リンクの前)に行うようにした

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/src/Linker.cpp

    r276 r282  
    102102}
    103103
     104void Linker::ResolveVtblSchedule( long dataSectionBaseOffset )
     105{
     106    BOOST_FOREACH( const Schedule &schedule, nativeCode.GetSchedules() )
     107    {
     108        if( schedule.GetType() == Schedule::Vtbl )
     109        {
     110            LONG_PTR vtblAddress = schedule.GetClass().GetVtblGlobalOffset();
     111
     112            nativeCode.Overwrite(
     113                schedule.GetOffset(),
     114                static_cast<long>( vtblAddress + imageBase + dataSectionBaseOffset )
     115            );
     116        }
     117    }
     118}
     119
    104120void Linker::Link( ObjectModule &masterObjectModule )
    105121{
Note: See TracChangeset for help on using the changeset viewer.