2001-07-18 16:10 UTC-0800 Ron Pinkas <ron@profit-master.com>

* source/vm/macro.c
   * source/vm/hvm.c
     % Simplified logic for suppoting macro lists. Removed global variables:
          int hb_vm_iFunCalls = 0, *hb_vm_aiMacroListParameters = NULL, hb_vm_iMacroListAllocated
       which are no longer needed. No longer using any logic in any PCODE case, other than HB_P_PUSHMACROARG.
       No longer using any arrays, or memory allocations.

   * include/hbexpra.c
   * include/hbexprb.c
     * HB_P_PUSHMACROARG will now be followed with a push symbol sequence, indicating its parrent function call.

   * include/hbpcode.h
     * Added decimal values into the description comments for readability.
This commit is contained in:
Ron Pinkas
2001-07-18 23:11:05 +00:00
parent 036c3034ba
commit 3928d386a1
6 changed files with 189 additions and 242 deletions

View File

@@ -219,6 +219,7 @@ HB_EXPR_FUNC_PTR hb_comp_ExprTable[] = {
};
extern BOOL hb_exp_bArgList;
extern HB_EXPR_PTR hb_exp_pSelf;
/* ************************************************************************* */
@@ -1007,6 +1008,7 @@ static HB_EXPR_FUNC( hb_compExprUseMacro )
if( hb_exp_bArgList )
{
HB_EXPR_GENPCODE1( hb_compGenPCode1, HB_P_MACROPUSHARG );
HB_EXPR_USE( hb_exp_pSelf->value.asFunCall.pFunName, HB_EA_PUSH_PCODE );
}
else
{
@@ -1112,6 +1114,7 @@ static HB_EXPR_FUNC( hb_compExprUseFunCall )
if( usCount )
{
hb_exp_bArgList = TRUE;
hb_exp_pSelf = pSelf;
HB_EXPR_USE( pSelf->value.asFunCall.pParms, HB_EA_PUSH_PCODE );
hb_exp_bArgList = FALSE;
}
@@ -1145,6 +1148,7 @@ static HB_EXPR_FUNC( hb_compExprUseFunCall )
if( usCount )
{
hb_exp_bArgList = TRUE;
hb_exp_pSelf = pSelf;
HB_EXPR_USE( pSelf->value.asFunCall.pParms, HB_EA_PUSH_PCODE );
hb_exp_bArgList = FALSE;
}