Ignore:
Timestamp:
Jul 22, 2007, 4:58:47 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/OperatorProc.cpp

    r206 r226  
    22
    33#include <jenga/include/smoothie/LexicalAnalysis.h>
     4
     5#include <Compiler.h>
    46
    57#include "../BasicCompiler_Common/common.h"
     
    1719    if( method ){
    1820        //mov rcx,reg
    19         op_mov_RR(REG_RCX,reg);
     21        compiler.codeGenerator.op_mov_RR(REG_RCX,reg);
    2022
    2123        //call DestructorProcAddr
    22         op_call( &method->GetUserProc() );
     24        compiler.codeGenerator.op_call( &method->GetUserProc() );
    2325    }
    2426
    2527    //mov rcx,reg
    26     op_mov_RR(REG_RCX,reg);
     28    compiler.codeGenerator.op_mov_RR(REG_RCX,reg);
    2729
    2830    //call free
    2931    extern const UserProc *pSub_free;
    30     op_call(pSub_free);
     32    compiler.codeGenerator.op_call(pSub_free);
    3133}
    3234
     
    119121
    120122            //mov rcx,object_size
    121             op_mov_RV(sizeof(_int64),REG_RCX,object_size);
     123            compiler.codeGenerator.op_mov_RV(sizeof(_int64),REG_RCX,object_size);
    122124
    123125            //call calloc
    124126            extern const UserProc *pSub_calloc;
    125             op_call(pSub_calloc);
     127            compiler.codeGenerator.op_call(pSub_calloc);
    126128
    127129            //mov r13,rax
    128             op_mov_RR(REG_R13,REG_RAX);
     130            compiler.codeGenerator.op_mov_RR(REG_R13,REG_RAX);
    129131
    130132        /////////////////////////////////////////////
     
    169171        if(reg1==REG_RDX||reg1==REG_R8){
    170172            //mov r14,reg1
    171             op_mov_RR(REG_R14,reg1);
     173            compiler.codeGenerator.op_mov_RR(REG_R14,reg1);
    172174            reg1=REG_R14;
    173175        }
     
    177179            if( pUserProc->ReturnType().IsStruct() ){
    178180                //mov r8,reg2
    179                 op_mov_RR(REG_R8,reg2);
     181                compiler.codeGenerator.op_mov_RR(REG_R8,reg2);
    180182            }
    181183            else{
    182184                //mov rdx,reg2
    183                 op_mov_RR(REG_RDX,reg2);
     185                compiler.codeGenerator.op_mov_RR(REG_RDX,reg2);
    184186            }
    185187        }
     
    187189        if( pUserProc->ReturnType().IsStruct() ){
    188190            //mov rdx,r13
    189             op_mov_RR(REG_RDX,REG_R13);
     191            compiler.codeGenerator.op_mov_RR(REG_RDX,REG_R13);
    190192        }
    191193
    192194        //mov rcx,reg1
    193         op_mov_RR(REG_RCX,reg1);
     195        compiler.codeGenerator.op_mov_RR(REG_RCX,reg1);
    194196
    195197        //call operator_proc
    196         op_call(pUserProc);
     198        compiler.codeGenerator.op_call(pUserProc);
    197199
    198200        if( !pUserProc->ReturnType().IsNull() ){
     
    200202
    201203            //mov r13,rax
    202             op_mov_RR(REG_R13,REG_RAX);
     204            compiler.codeGenerator.op_mov_RR(REG_R13,REG_RAX);
    203205        }
    204206
     
    249251
    250252        //mov reg1,r13
    251         op_mov_RR(reg1,REG_R13);
     253        compiler.codeGenerator.op_mov_RR(reg1,REG_R13);
    252254    }
    253255
     
    338340
    339341        //mov reg,rax
    340         op_mov_RR(reg,REG_RAX);
     342        compiler.codeGenerator.op_mov_RR(reg,REG_RAX);
    341343
    342344    /////////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.