Changeset 263 in dev for trunk/abdev/BasicCompiler_Common/src
- Timestamp:
- Aug 5, 2007, 3:47:49 AM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler_Common/src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/src/Class.cpp
r259 r263 737 737 pUserProc=(UserProc *)pVtbl[i]; 738 738 if(!pUserProc) continue; 739 pVtbl[i]=pUserProc->_beginOpAddressOld+ImageBase+MemPos_CodeSection; 739 740 // 古いOpBufferを利用する場合は_beginOpAddressOldでないとダメ 741 //pVtbl[i]=pUserProc->_beginOpAddressOld+ImageBase+MemPos_CodeSection; 742 pVtbl[i]=pUserProc->GetBeginOpAddress()+ImageBase+MemPos_CodeSection; 740 743 } 741 744 } -
trunk/abdev/BasicCompiler_Common/src/Linker.cpp
r258 r263 26 26 if( schedule.GetType() == Schedule::DllProc ) 27 27 { 28 #ifdef _AMD64 28 #ifdef _AMD64_ 29 29 nativeCode.Overwrite( 30 30 schedule.GetOffset(), … … 103 103 void Linker::Link( vector<ObjectModule *> &objectModules ) 104 104 { 105 // nativeCodeは初期状態でなければならない 106 if( nativeCode.GetSize() > 0 ) 107 { 108 SetError(); 109 } 110 105 111 /* 106 112 BOOST_FOREACH( ObjectModule *pObjectModule, objectModules ) -
trunk/abdev/BasicCompiler_Common/src/NativeCode.cpp
r258 r263 22 22 long baseOffset = size; 23 23 24 // コードバッファを追加 24 25 Put( nativeCode.codeBuffer, nativeCode.size, isOpBuffer ); 25 26 27 // スケジュールを追加 26 28 BOOST_FOREACH( const Schedule &schedule, nativeCode.schedules ) 27 29 { … … 31 33 baseOffset + schedule.GetOffset(), 32 34 schedule.GetLongPtrValue() 35 ) 36 ); 37 } 38 39 // ソースコード行番号とネイティブコード位置の対応情報を追加 40 BOOST_FOREACH( const SourceLine &sourceLine, nativeCode.sourceLines ) 41 { 42 this->sourceLines.push_back( 43 SourceLine( 44 sourceLine.GetLineNum(), 45 baseOffset + sourceLine.GetNativeCodePos(), 46 sourceLine.GetSourceCodePos(), 47 sourceLine.GetCodeType() 33 48 ) 34 49 ); … … 85 100 ObpPlus( sizeof(long) ); 86 101 } 102 103 void NativeCode::NextSourceLine() 104 { 105 if( sourceLines.size() ) 106 { 107 if( sourceLines.back().GetNativeCodePos() == size ) 108 { 109 sourceLines.back().SetSourceCodePos( cp ); 110 return; 111 } 112 } 113 114 extern BOOL bDebugSupportProc; 115 extern BOOL bSystemProc; 116 DWORD sourceLineType = 0; 117 if( bDebugSupportProc ) 118 { 119 sourceLineType |= CODETYPE_DEBUGPROC; 120 } 121 if( bSystemProc ) 122 { 123 sourceLineType |= CODETYPE_SYSTEMPROC; 124 } 125 sourceLines.push_back( SourceLine( (long)sourceLines.size(), size, cp, sourceLineType ) ); 126 }
Note:
See TracChangeset
for help on using the changeset viewer.