Changeset 64 in dev for BasicCompiler64/Opcode.h


Ignore:
Timestamp:
Mar 8, 2007, 2:49:34 AM (17 years ago)
Author:
dai_9181
Message:

すべてのオブジェクトを参照型に切り替えた。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler64/Opcode.h

    r62 r64  
    125125    void SetLocalParmSize(int size);
    126126    int GetFrameSize();
     127    int GetNowSp();
     128    void mov_sp( int reg );
    127129    int push(int reg);
    128130    void push(int xmm_reg,int var_size);
     
    130132    void ref(int reg);
    131133    void ref(int xmm_reg,int var_size);
    132     void pop(int reg);
     134    void pop(int reg = REG_NON);
    133135    void pop(int xmm_reg,int var_size);
    134136    void parameter_allocate(int size);
     
    247249void SetVariableFromRax(int VarType,int CalcType,RELATIVE_VAR *pRelativeVar);
    248250void OpcodeCalc(char *Command);
    249 void SetRefVariable( const char *varname, const char *expression );
    250251
    251252//NumOpe.cpp
     
    285286//Compile_Set_Var.cpp
    286287BOOL IsUse_r11(RELATIVE_VAR *pRelativeVar);
    287 void SetObjectVariableFromRax(LONG_PTR lpVarIndex,int CalcType,LONG_PTR lpCalcIndex,RELATIVE_VAR *pRelativeVar,BOOL bUseHeap);
    288 void SetDoubleVariable(int type,RELATIVE_VAR *pRelative);
    289 void SetSingleVariable(int type,RELATIVE_VAR *pRelative);
     288void SetStructVariableFromRax(LONG_PTR lpVarIndex,int CalcType,LONG_PTR lpCalcIndex,RELATIVE_VAR *pRelativeVar,BOOL bUseHeap);
     289void SetRealVariable(int VarType, int CalcType, RELATIVE_VAR *pRelativeVar);
    290290void SetBooleanVariable(int type,RELATIVE_VAR *pRelative);
    291291void SetWholeVariable(int var_size,int type,RELATIVE_VAR *pRelative);
     
    307307
    308308//Compile_Object.cpp
    309 int Operator_New(const char *Parameter,LONG_PTR *plpIndex);
    310 void OpcodeDelete(const char *Parameter);
     309void Operator_New( CClass &classObj, const char *objectSizeStr, const char *parameter,const TYPEINFO &baseTypeInfo );
     310int Operator_New(const char *Parameter,LONG_PTR *plpIndex,const TYPEINFO &baseTypeInfo );
     311void OpcodeDelete(const char *Parameter, bool isSweeping);
    311312
    312313//Compile_Var.cpp
     
    319320#define DIMFLAG_STATIC                  0x04
    320321#define DIMFLAG_CONST                   0x08
     322void dim(bool isRef, char *VarName,int *SubScripts,TYPEINFO &TypeInfo,int TypeSize,char *InitBuf,char *ConstractParameter,DWORD dwFlags);
    321323void OpcodeDim(char *Parameter,DWORD dwFlag);
    322324void SetVarPtrToReg(int reg,RELATIVE_VAR *pRelativeVar);
    323325
    324326//CParameter.cpp
     327#define OVERLOAD_MIN_LEVEL 0
     328#define OVERLOAD_MAX_LEVEL 3
     329#define OVERLOAD_LEVEL0 0
    325330#define OVERLOAD_LEVEL1 1
    326331#define OVERLOAD_LEVEL2 2
     
    352357    BOOL ErrorCheck(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
    353358    void MacroParameterSupport(PARAMETER_INFO *ppi);
    354     void SetObjectParameter(int reg,CClass *pobj_Class,LPSTR Parameter);
     359    void SetStructParameter(int reg,CClass *pobj_Class,LPSTR Parameter);
    355360
    356361    //一時オブジェクトパラメータの生成と破棄
    357     void NewTempParameters( const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum );
     362    int NewTempParameters( const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum );
    358363    void DeleteTempParameters();
    359364
     
    380385#define PROCFLAG_NEW    1
    381386int Opcode_CallProcPtr(char *variable,char *Parameter,PROCPTRINFO *pi,LONG_PTR *plpIndex);
    382 void Opcode_CallProc(char *Parameter,SUBINFO *psi,DWORD dwFlags,char *ObjectName,int RefType);
     387void Opcode_CallProc(const char *Parameter,SUBINFO *psi,DWORD dwFlags,char *ObjectName,int RefType);
    383388int Opcode_CallDllProc(char *Parameter,DECLAREINFO *pdi,LONG_PTR *plpIndex);
    384389
     
    410415void OpcodeGosub(char *Parameter);
    411416void OpcodeReturn(char *Parameter);
    412 void Opcode_Input(char *Parameter);
    413 void Opcode_Print(char *Parameter,BOOL bWrite);
     417void Opcode_Input(const char *Parameter);
     418void Opcode_Print(const char *Parameter,BOOL bWrite);
    414419void OpcodeCallPtr(char *Parameter);
    415420void OpcodeSetPtrData(char *Parameter,int type);
     
    450455void op_mov64_ToReg             (int reg,_int64 i64data);
    451456void op_mov64_ToReg             (int reg,int i32data);
    452 void op_mov64_ToReg_FromReg     (int reg1,int reg2);
    453457void op_movsxd                  (int reg64,int reg32);
    454458void op_movsx64_FromReg16       (int reg64,int reg16);
     
    460464void op_dec                     (int reg);
    461465void op_add_RM                  (int op_size,int reg,int base_reg,int offset,char mod);
    462 void op_add64_value             (int reg,int offset);
     466void op_add_RV              (int reg,int offset);
    463467void op_add64_reg               (int reg1,int reg2);
    464468void op_add32_reg               (int reg1,int reg2);
     
    467471void op_sub32_reg               (int reg1,int reg2);
    468472void op_sbb_RR                  ( int op_size, int reg1, int reg2 );
    469 void op_imul_reg                (int op_size,int reg1,int reg2);
    470 void op_imul_value              (int op_size,int reg,int i32data);
     473void op_imul_RR             (int op_size,int reg1,int reg2);
     474void op_imul_RV             (int op_size,int reg,int i32data);
    471475void op_div64_reg               (int reg);
    472476void op_idiv64_reg              (int reg);
Note: See TracChangeset for help on using the changeset viewer.