Changeset 28 in dev for BasicCompiler64/Compile_ProcOp.cpp
- Timestamp:
- Jan 8, 2007, 6:34:44 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler64/Compile_ProcOp.cpp
r27 r28 600 600 //仮想関数テーブルを初期化 601 601 if(pobj_CompilingClass->vtbl_num&& 602 pobj_CompilingClass->Is HoldAbstractFunction()==0){603 //関数テーブルに値をセット604 offset=(int)pobj_CompilingClass->GetVtblGlobalOffset();605 606 //mov rax,offset607 op_mov_RV(sizeof(_int64),REG_RAX,offset);608 obp-=sizeof(long);609 pobj_DataTableSchedule->add();610 obp+=sizeof(long);611 612 //Thisポインタをrcxにコピー613 SetThisPtrToReg(REG_RCX);614 615 //mov qword ptr[rcx],rax616 op_mov_MR(sizeof(_int64),REG_RAX,REG_RCX,0,MOD_BASE);602 pobj_CompilingClass->IsAbstract()==false){ 603 //関数テーブルに値をセット 604 offset=(int)pobj_CompilingClass->GetVtblGlobalOffset(); 605 606 //mov rax,offset 607 op_mov_RV(sizeof(_int64),REG_RAX,offset); 608 obp-=sizeof(long); 609 pobj_DataTableSchedule->add(); 610 obp+=sizeof(long); 611 612 //Thisポインタをrcxにコピー 613 SetThisPtrToReg(REG_RCX); 614 615 //mov qword ptr[rcx],rax 616 op_mov_MR(sizeof(_int64),REG_RAX,REG_RCX,0,MOD_BASE); 617 617 } 618 618 }
Note:
See TracChangeset
for help on using the changeset viewer.