Changeset 232 in dev for trunk/abdev/BasicCompiler_Common/include
- Timestamp:
- Jul 25, 2007, 4:04:11 AM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler_Common/include
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/include/Class.h
r208 r232 71 71 // 静的メソッド 72 72 Methods staticMethods; 73 74 //アラインメント値 75 int fixedAlignment; 73 76 74 77 // XMLシリアライズ用 … … 93 96 ar & BOOST_SERIALIZATION_NVP( vtblNum ); 94 97 ar & BOOST_SERIALIZATION_NVP( staticMethods ); 98 ar & BOOST_SERIALIZATION_NVP( fixedAlignment ); 95 99 } 96 100 97 101 bool isReady; 98 102 public: 99 100 //アラインメント値101 int iAlign;102 103 103 104 CClass( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const string &name ) … … 107 108 , pSuperClass( NULL ) 108 109 , isReady( false ) 109 , iAlign( 0 )110 , fixedAlignment( 0 ) 110 111 , ConstructorMemberSubIndex( -1 ) 111 112 , DestructorMemberSubIndex( -1 ) … … 123 124 , pSuperClass( NULL ) 124 125 , isReady( false ) 125 , iAlign( 0 )126 , fixedAlignment( 0 ) 126 127 , ConstructorMemberSubIndex( -1 ) 127 128 , DestructorMemberSubIndex( -1 ) … … 320 321 } 321 322 323 // ユーザ指定のアラインメント固定値 324 int GetFixedAlignment() const 325 { 326 return fixedAlignment; 327 } 328 void SetFixedAlignment( int fixedAlignment ) 329 { 330 this->fixedAlignment = fixedAlignment; 331 } 332 322 333 // メンバの総合サイズを取得 323 334 int GetSize() const; -
trunk/abdev/BasicCompiler_Common/include/CodeGenerator.h
r230 r232 41 41 void __jmp_op_format( char opcode, long offset, int op_size ); 42 42 public: 43 void op_mov_RV (int op_size,int reg,long i32data );43 void op_mov_RV (int op_size,int reg,long i32data, Schedule::Type scheduleType = Schedule::None ); 44 44 void op_mov_RV64 (int reg,_int64 i64data); 45 45 void op_mov_RM (int op_size,int reg,int base_reg,long offset,char mod, Schedule::Type scheduleType = Schedule::None ); 46 46 void op_mov_RM_ex (int op_size,int reg,int base_reg1,int base_reg2,long offset,BOOL bUseOffset, Schedule::Type scheduleType = Schedule::None ); 47 void op_mov_MR (int op_size,int reg,int base_reg,long offset,char mod );48 void op_mov_MR_ex (int op_size,int reg,int base_reg1,int base_reg2,long offset,BOOL bUseOffset );47 void op_mov_MR (int op_size,int reg,int base_reg,long offset,char mod, Schedule::Type scheduleType = Schedule::None ); 48 void op_mov_MR_ex (int op_size,int reg,int base_reg1,int base_reg2,long offset,BOOL bUseOffset, Schedule::Type scheduleType = Schedule::None ); 49 49 void op_mov_MV (int op_size,int base_reg,int offset,BOOL bUseOffset,long i32data); 50 50 void op_mov_RR (int reg1,int reg2); 51 void op_mov64_ToReg (int reg,_int64 i64data);52 void op_mov64_ToReg (int reg,long i32data);53 51 void op_movsxd (int reg64,int reg32); 54 52 void op_movsx64_FromReg16 (int reg64,int reg16); … … 61 59 void op_dec (int reg); 62 60 void op_add_RM (int op_size,int reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None ); 63 void op_add_RV (int reg,long offset );61 void op_add_RV (int reg,long offset, Schedule::Type scheduleType = Schedule::None ); 64 62 void op_add_RR (int reg1,int reg2); 65 63 void op_add32_reg (int reg1,int reg2); … … 86 84 void op_cmp_value (int op_size,int reg,char byte_data); 87 85 void op_setne (int reg); 88 void op_movlpd_MR (int xmm_reg,int base_reg,int offset,char mod );89 void op_movlpd_RM (int xmm_reg,int base_reg,int offset,char mod );86 void op_movlpd_MR (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None ); 87 void op_movlpd_RM (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None ); 90 88 void op_movsd_RR (int xmm_reg1,int xmm_reg2); 91 void op_movsd_MR (int xmm_reg,int base_reg,int offset,char mod );89 void op_movsd_MR (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None ); 92 90 void op_movss_RR (int xmm_reg1,int xmm_reg2); 93 void op_movss_RM (int xmm_reg,int base_reg,int offset,char mod );94 void op_movss_MR (int xmm_reg,int base_reg,int offset,char mod );91 void op_movss_RM (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None ); 92 void op_movss_MR (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None ); 95 93 void op_movd_RX (int reg,int xmm_reg); 96 94 void op_cvtsd2ss (int xmm_reg1,int xmm_reg2); -
trunk/abdev/BasicCompiler_Common/include/NativeCode.h
r228 r232 8 8 9 9 void AddLocalVarAddrSchedule(); 10 void ObpPlus( int step = 1 ); 10 11 11 12 class Schedule … … 137 138 extern int obp; 138 139 memcpy( OpBuffer + obp, codeBuffer, size ); 139 obp += size;140 ObpPlus( size ); 140 141 } 141 142 void Put( const NativeCode &nativeCode ) … … 180 181 extern int obp; 181 182 *((long *)(OpBuffer+obp))=l; 182 obp+=sizeof(long);183 ObpPlus( sizeof(long) ); 183 184 } 184 185 void Put( short s ) … … 196 197 extern char *OpBuffer; 197 198 extern int obp; 198 OpBuffer[obp++]=c; 199 OpBuffer[obp]=c; 200 ObpPlus(); 199 201 } 200 202 };
Note:
See TracChangeset
for help on using the changeset viewer.