Ignore:
Timestamp:
Aug 29, 2007, 9:05:22 AM (17 years ago)
Author:
dai_9181
Message:

静的リンクライブラリにより、複数のグローバル領域が存在することになったのでそれぞれを関数ベースに分けた

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/Opcode.h

    r263 r308  
    1616
    1717extern int cp;
    18 extern int obp;
    19 extern char *OpBuffer;
    2018
    2119#define breakpoint compiler.codeGenerator.PutOld( (char)0xCC );
     
    4543
    4644
    47 class CStackFrame
    48 {
    49     ///////////////////////////
    50     // スタックフレーム管理
    51     ///////////////////////////
    52 
    53     PertialSchedules pertialSchedules;
    54 
    55     int lowest_sp;          //スタックポインタの最下位位置
    56     int now_sp;             //スタックポインタ
    57     int max_parm_size;      //パラメータの最大サイズ
    58 
    59 public:
    60     //コンストラクタ
    61     CStackFrame();
    62 
    63     //デストラクタ
    64     ~CStackFrame();
    65 
    66     int GetFrameSize( int localParamSize );
    67     int GetNowSp();
    68     void mov_sp( int reg );
    69     int push(int reg);
    70     void push(int xmm_reg,int varSize);
    71     void ref_offset_data( int reg, int sp_offset );
    72     void ref(int reg);
    73     void ref(int xmm_reg,int varSize);
    74     void pop(int reg = REG_NON);
    75     void pop(int xmm_reg,int varSize);
    76     void parameter_allocate(int size);
    77     void RunningSchedule( int stackFrameSize );
    78 
    79     void error_check(void);
    80 };
    81 extern CStackFrame *pobj_sf;
     45extern StackFrame *pobj_sf;
    8246
    8347
     
    188152
    189153//Compile_Calc.cpp
    190 void SetVariableFromRax(int VarType,int CalcType,RELATIVE_VAR *pRelativeVar);
     154void SetVariableFromRax( const Type &varType, int CalcType,RELATIVE_VAR *pRelativeVar);
    191155void OpcodeCalc(const char *Command);
    192156
     
    224188
    225189//NumOpe_TypeOperation.cpp
    226 void ExtendTypeTo64(int type,int reg);
    227 void ExtendTypeTo32(int type,int reg);
    228 void ExtendTypeTo16(int type,int reg);
     190void ExtendTypeTo64( const Type &oldType, int reg );
     191void ExtendTypeTo32( const Type &oldType, int reg );
     192void ExtendTypeTo16( const Type &oldType, int reg );
    229193void ChangeTypeToXmm_Double(int type,int xmm_reg,int general_reg);
    230194void ChangeTypeToXmm_Single(int type,int xmm_reg,int general_reg);
    231 void ChangeTypeToWhole(int OldType,int NewType,int reg,int xmm_reg);
     195void ChangeTypeToWhole( const Type &oldType, const Type &newType, int reg, int xmm_reg );
    232196void SetOneTermToReg_RealCalc(int TermType,int *pXmmReg);
    233197void SetOneTermToReg_Whole64Calc(int TermType,int *pReg);
     
    251215void SetXmmReg_DoubleVariable(RELATIVE_VAR *pRelativeVar,int xmm_reg);
    252216void SetXmmReg_SingleVariable(RELATIVE_VAR *pRelativeVar,int xmm_reg);
    253 void SetReg_WholeVariable(int type,RELATIVE_VAR *pRelativeVar,int reg);
     217void SetReg_WholeVariable( const Type &type, RELATIVE_VAR *pRelativeVar,int reg);
    254218
    255219//Compile_Interface.cpp
     
    269233#define DIMFLAG_STATIC                  0x04
    270234#define DIMFLAG_CONST                   0x08
    271 void dim( char *VarName, const Subscripts &subscripts, Type &type, const char *InitBuf,const char *ConstractParameter,DWORD dwFlags);
     235void dim( char *VarName, const Subscripts &subscripts, const Type &type, const char *InitBuf,const char *ConstractParameter,DWORD dwFlags);
    272236void SetVarPtrToReg(int reg,RELATIVE_VAR *pRelativeVar);
    273237bool Compile_AddGlobalRootsForGc();
     
    328292#define PROCFLAG_NEW    1
    329293bool Opcode_CallProcPtr(const char *variable, const char *lpszParms,ProcPointer *pProcPointer);
    330 bool Opcode_CallProc(const char *Parameter,const UserProc *pUserProc,DWORD dwFlags,const char *ObjectName,int RefType);
     294bool Opcode_CallProc(const char *Parameter,const UserProc *pUserProc,DWORD dwFlags,const char *ObjectName);
    331295bool Opcode_CallDllProc( const char *lpszParms,DllProc *pDllProc);
    332296
Note: See TracChangeset for help on using the changeset viewer.