Changeset 254 in dev for trunk/abdev/BasicCompiler_Common/include
- Timestamp:
- Jul 31, 2007, 4:30:31 AM (17 years ago)
- Location:
- trunk/abdev/BasicCompiler_Common/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler_Common/include/CodeGenerator.h
r253 r254 288 288 private: 289 289 void set_rex(int op_size,int reg,int index_reg,int base_reg); 290 void set_mod_rm_sib_disp(char mod,int reg,int scale,int index_reg,int base_reg,long disp, Schedule::Type scheduleType = Schedule::None );291 void __op_format(int op_size,char op_prefix,char opcode1,char opcode2,int reg,int base_reg,long offset,char mod, Schedule::Type scheduleType = Schedule::None );290 const PertialSchedule *set_mod_rm_sib_disp(char mod,int reg,int scale,int index_reg,int base_reg,long disp, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 291 const PertialSchedule *__op_format(int op_size,char op_prefix,char opcode1,char opcode2,int reg,int base_reg,long offset,char mod, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 292 292 public: 293 293 void op_mov_RV (int op_size,int reg,long i32data, Schedule::Type scheduleType = Schedule::None ); 294 294 void op_mov_RV64 (int reg,_int64 i64data); 295 void op_mov_RM (int op_size,int reg,int base_reg,long offset,char mod, Schedule::Type scheduleType = Schedule::None );296 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 );297 void op_mov_MR (int op_size,int reg,int base_reg,long offset,char mod, Schedule::Type scheduleType = Schedule::None );298 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 );299 void op_mov_MV (int op_size,int base_reg,int offset, Schedule::Type offsetScheduleType, BOOL bUseOffset,long i32data);295 const PertialSchedule *op_mov_RM (int op_size,int reg,int base_reg,long offset,char mod, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 296 const PertialSchedule *op_mov_RM_ex (int op_size,int reg,int base_reg1,int base_reg2,long offset,BOOL bUseOffset, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 297 const PertialSchedule *op_mov_MR (int op_size,int reg,int base_reg,long offset,char mod, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 298 const PertialSchedule *op_mov_MR_ex (int op_size,int reg,int base_reg1,int base_reg2,long offset,BOOL bUseOffset, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 299 const PertialSchedule *op_mov_MV (int op_size,int base_reg,int offset, Schedule::Type offsetScheduleType, bool isPertialSchedule, BOOL bUseOffset,long i32data); 300 300 void op_mov_RR (int reg1,int reg2); 301 301 void op_movsxd (int reg64,int reg32); … … 308 308 void op_inc (int reg); 309 309 void op_dec (int reg); 310 void op_add_RM (int op_size,int reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None );311 void op_add_RV (int reg,long offset, Schedule::Type scheduleType = Schedule::None );310 const PertialSchedule *op_add_RM (int op_size,int reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 311 const PertialSchedule *op_add_RV (int reg,long offset, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 312 312 void op_add_RR (int reg1,int reg2); 313 313 void op_add32_reg (int reg1,int reg2); … … 334 334 void op_cmp_value (int op_size,int reg,char byte_data); 335 335 void op_setne (int reg); 336 void op_movlpd_MR (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None );337 void op_movlpd_RM (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None );336 const PertialSchedule *op_movlpd_MR (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 337 const PertialSchedule *op_movlpd_RM (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 338 338 void op_movsd_RR (int xmm_reg1,int xmm_reg2); 339 void op_movsd_MR (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None );339 const PertialSchedule *op_movsd_MR (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 340 340 void op_movss_RR (int xmm_reg1,int xmm_reg2); 341 void op_movss_RM (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None );342 void op_movss_MR (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None );341 const PertialSchedule *op_movss_RM (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 342 const PertialSchedule *op_movss_MR (int xmm_reg,int base_reg,int offset,char mod, Schedule::Type scheduleType = Schedule::None, bool isPertialSchedule = false ); 343 343 void op_movd_RX (int reg,int xmm_reg); 344 344 void op_cvtsd2ss (int xmm_reg1,int xmm_reg2); … … 448 448 pNativeCode->Put( l, scheduleType ); 449 449 } 450 const PertialSchedule *PutOld( long l, bool isPertialSchedule ) 451 { 452 const PertialSchedule *pPertialSchedule; 453 if( isPertialSchedule ) 454 { 455 pertialSchedules.push_back( new PertialSchedule( pNativeCode->GetSize(), sizeof(long) ) ); 456 pPertialSchedule = pertialSchedules.back(); 457 } 458 pNativeCode->Put( l, Schedule::None ); 459 return pPertialSchedule; 460 } 450 461 void PutOld( const NativeCode &nativeCode ) 451 462 { -
trunk/abdev/BasicCompiler_Common/include/Const.h
r206 r254 84 84 public: 85 85 86 int GetBasicType(c har *Name);87 _int64 GetWholeData(c har *Name);88 double GetDoubleData(c har *Name);89 bool IsStringPtr(c har *Name);86 int GetBasicType(const char *Name); 87 _int64 GetWholeData(const char *Name); 88 double GetDoubleData(const char *Name); 89 bool IsStringPtr(const char *Name); 90 90 }; 91 91
Note:
See TracChangeset
for help on using the changeset viewer.