Changeset 828 in dev for trunk/ab5.0/abdev/compiler_x64
- Timestamp:
- Mar 19, 2012, 1:59:48 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
-
Property svn:mergeinfo
set to
/branches/egtra merged eligible
-
Property svn:mergeinfo
set to
-
trunk/ab5.0/abdev
-
Property svn:ignore
set to
*.opensdf
*.sdf
*.suo
*.user
int
ipch
out
-
Property svn:ignore
set to
-
trunk/ab5.0/abdev/compiler_x64/MakePeHdr.cpp
r769 r828 166 166 compiler.GetObjectModule().meta.GetDelegates() 167 167 ); 168 compiler.GetObjectModule().meta.GetDelegates().Iterator_Init();169 168 170 169 // デリゲートからクラスコードを生成 … … 219 218 ); 220 219 221 // サブルーチン(ユーザー定義、DLL関数)のイテレータの準備222 compiler.GetObjectModule().meta.GetUserProcs().Iterator_Init();223 compiler.GetObjectModule().meta.GetDllProcs().Iterator_Init();224 225 220 226 221 /////////////////////////// … … 527 522 } 528 523 } 529 compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset(); 530 while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() ) 531 { 532 const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext(); 533 524 foreach (auto const* pDllProc, compiler.GetObjectModule().meta.GetDllProcs() ) 525 { 534 526 if( !pDllProc->IsUsing() ){ 535 527 continue; … … 601 593 //辞書順にサーチ 602 594 temporary[0]=0; 603 compiler.GetObjectModule().meta.GetUserProcs().Iterator_Reset(); 604 while( compiler.GetObjectModule().meta.GetUserProcs().Iterator_HasNext() ) 595 foreach (auto pTempUserProc, compiler.GetObjectModule().meta.GetUserProcs()) 605 596 { 606 UserProc *pTempUserProc = compiler.GetObjectModule().meta.GetUserProcs().Iterator_GetNext();607 597 if(pTempUserProc->IsExport()){ 608 598 if(temporary[0]=='\0'){ … … 707 697 int ImportDllNum=0; 708 698 709 compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset(); 710 while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() ) 711 { 712 const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext(); 713 699 foreach (auto const* pDllProc, compiler.GetObjectModule().meta.GetDllProcs()) 700 { 714 701 if( !pDllProc->IsUsing() ){ 715 702 continue; … … 745 732 pImportDescriptor[i].Name=i*0x10; //※すぐ下で再計算 746 733 747 compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset(); 748 while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() ) 734 foreach (auto const* pDllProc, compiler.GetObjectModule().meta.GetDllProcs()) 749 735 { 750 const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();751 752 736 if( !pDllProc->IsUsing() ){ 753 737 continue; … … 782 766 pHintTable=(char *)HeapAlloc(hHeap,0,HintAllocSize); 783 767 for(i=0,i5=0;i<ImportDllNum;i++){ 784 compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset(); 785 while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() ) 768 foreach (auto pDllProc, compiler.GetObjectModule().meta.GetDllProcs()) 786 769 { 787 DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();788 789 770 if( !pDllProc->IsUsing() ){ 790 771 continue; … … 1071 1052 LookupSize; //ルックアップテーブル 1072 1053 1073 compiler.GetObjectModule().meta.GetDllProcs().Iterator_Reset(); 1074 while( compiler.GetObjectModule().meta.GetDllProcs().Iterator_HasNext() ) 1054 foreach (auto const* pDllProc, compiler.GetObjectModule().meta.GetDllProcs()) 1075 1055 { 1076 const DllProc *pDllProc = compiler.GetObjectModule().meta.GetDllProcs().Iterator_GetNext();1077 1078 1056 if( !pDllProc->IsUsing() ){ 1079 1057 continue; -
trunk/ab5.0/abdev/compiler_x64/Opcode.h
r704 r828 1 1 #pragma once 2 3 #include <array> 2 4 3 5 #include "MachineFixed.h" … … 37 39 , sourceCodePos( sourceCodePos ) 38 40 { 41 } 42 43 WithInfo(WithInfo&& y) 44 : name(std::move(y.name)) 45 , sourceCodePos(std::move(y.sourceCodePos)) 46 { 47 } 48 49 WithInfo(WithInfo const& y) 50 : name(y.name) 51 , sourceCodePos(y.sourceCodePos) 52 { 53 } 54 55 WithInfo& operator =(WithInfo&& y) 56 { 57 name = std::move(y.name); 58 sourceCodePos = std::move(y.sourceCodePos); 59 return *this; 60 } 61 62 WithInfo& operator =(WithInfo const& y) 63 { 64 return *this = std::move(WithInfo(y)); 39 65 } 40 66 }; … … 75 101 76 102 void error_check(void); 103 104 private: 105 StackFrame(StackFrame const&); 106 StackFrame& operator =(StackFrame const&); 77 107 }; 78 108 extern StackFrame *pobj_sf; … … 93 123 void backup(); 94 124 void restore(); 125 126 private: 127 CBlockReg(CBlockReg const&); 128 CBlockReg& operator =(CBlockReg const&); 95 129 }; 96 130 extern CBlockReg *pobj_BlockReg; … … 101 135 102 136 //利用可能なレジスタを列挙する関数 103 void EnumRegister(int *pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg); 104 105 int array_UseReg[16],sp_UseReg; 106 107 int array_XmmReg[16]; 137 void EnumRegister(int const *pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg); 138 139 std::array<int, 16> array_UseReg; 140 int sp_UseReg; 141 142 std::array<int, 16> array_XmmReg; 108 143 int sp_XmmReg; 109 144 … … 113 148 CRegister(){}; 114 149 CRegister(int AnswerReg); 150 151 CRegister(CRegister const& y) 152 : array_UseReg(y.array_UseReg) 153 , sp_UseReg(y.sp_UseReg) 154 , array_XmmReg(y.array_XmmReg) 155 , sp_XmmReg(y.sp_XmmReg) 156 , init_sp_reg(y.init_sp_reg) 157 , init_sp_xmm_reg(y.init_sp_xmm_reg) 158 { 159 } 160 161 CRegister& operator =(CRegister const& y) 162 { 163 array_UseReg = y.array_UseReg; 164 sp_UseReg = y.sp_UseReg; 165 array_XmmReg = y.array_XmmReg; 166 sp_XmmReg = y.sp_XmmReg; 167 init_sp_reg = y.init_sp_reg; 168 init_sp_xmm_reg = y.init_sp_xmm_reg; 169 return *this; 170 } 171 115 172 ~CRegister(){}; 116 173 … … 313 370 void BackupParameter(int pi_num); 314 371 void RestoreParameter(int pi_num); 372 373 private: 374 ParamImpl(ParamImpl const&); 375 ParamImpl& operator =(ParamImpl const&); 315 376 }; 316 377 … … 325 386 void lock(int level); 326 387 void unlock(int level); 388 389 private: 390 CDBLockParms(CDBLockParms const&); 391 CDBLockParms& operator =(CDBLockParms const&); 327 392 }; 328 393 -
trunk/ab5.0/abdev/compiler_x64/Register.cpp
r468 r828 112 112 CRegister *pobj_reg; 113 113 114 void CRegister::EnumRegister(int *pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg){114 void CRegister::EnumRegister(int const* pRegList,int nMaxList,int *array_reg,int *sp,int AnswerReg){ 115 115 int i,i2,sw=0; 116 116 … … 161 161 162 162 EnumRegister( 163 (int *)CalculationRegister,163 CalculationRegister, 164 164 sizeof(CalculationRegister)/sizeof(int), 165 array_UseReg ,165 array_UseReg.data(), 166 166 &sp_UseReg, 167 167 AnswerReg); … … 174 174 175 175 EnumRegister( 176 (int *)CalculationXmmRegister,176 CalculationXmmRegister, 177 177 sizeof(CalculationXmmRegister)/sizeof(int), 178 array_XmmReg ,178 array_XmmReg.data(), 179 179 &sp_XmmReg, 180 180 AnswerReg); -
trunk/ab5.0/abdev/compiler_x64/manifest.xml
r3 r828 1 1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 2 2 <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 3 <assemblyIdentity 4 version="1.0.0.0" 5 processorArchitecture="amd64" 6 name="BasicCompiler64.exe" 7 type="win32" 8 /> 9 <description>Description</description> 10 <dependency> 11 <dependentAssembly> 12 <assemblyIdentity 13 type="win32" 14 name="Microsoft.Windows.Common-Controls" 15 version="6.0.0.0" 16 processorArchitecture="amd64" 17 publicKeyToken="6595b64144ccf1df" 18 language="*" 19 /> 20 </dependentAssembly> 21 </dependency> 22 </assembly> 3 <assemblyIdentity 4 version="1.0.0.0" 5 processorArchitecture="amd64" 6 name="Discoversoft.ActiveBasic.BasicCompiler" 7 type="win32"/> 8 <description>BasicCompiler (amd64)</description> 9 </assembly>
Note:
See TracChangeset
for help on using the changeset viewer.