Changeset 262 in dev for trunk/abdev/BasicCompiler64/Compile_Object.cpp
- Timestamp:
- Aug 4, 2007, 4:36:34 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_Object.cpp
r255 r262 16 16 //をセットしておかなければならない 17 17 18 int jnz_back;19 20 18 21 19 //jnzの番地 22 jnz_back=obp; 20 /*extern int obp; 21 int jnz_back = obp;*/ 23 22 24 23 if(bSomeObjects){ 25 24 SetError(); 26 25 //mov qword ptr[rsp+offset],rbx ※スタックフレームを利用 27 pobj_sf->push(REG_RBX);26 //pobj_sf->push(REG_RBX); 28 27 29 28 // ※ここでプッシュされた値はコンストラクタのthisポインタとなる 30 29 //mov qword ptr[rsp+offset],rax ※スタックフレームを利用 31 pobj_sf->push(REG_RAX);30 //pobj_sf->push(REG_RAX); 32 31 } 33 32 … … 73 72 74 73 if(bSomeObjects){ 74 /* 75 75 //mov rax,qword ptr[rsp+offset] ※スタックフレームを利用 76 76 pobj_sf->pop(REG_RAX); … … 87 87 //jnz ↑ 88 88 compiler.codeGenerator.op_jne( jnz_back-obp, sizeof(long), false, true ); 89 */ 89 90 } 90 91 } … … 180 181 181 182 //mov rcx,DestructorProcAddr(デストラクタの関数ポインタ) 182 compiler.codeGenerator.op_mov_RV(sizeof(_int64),REG_RCX,0); 183 obp-=sizeof(long); 184 pobj_SubAddrSchedule->add(&method->GetUserProc(),0); 185 method->GetUserProc().Using(); 186 obp+=sizeof(long); 183 compiler.codeGenerator.op_addressof( REG_RCX, &method->GetUserProc() ); 187 184 188 185 //mov qword ptr[rax],rcx
Note:
See TracChangeset
for help on using the changeset viewer.