See changelog for description
This commit is contained in:
@@ -7,6 +7,25 @@
|
||||
For example:
|
||||
2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
2002-01-31 08:00 UTC+0100 Antonio Linares <alinares@fivetech.com>
|
||||
* source/vm/hvm.c
|
||||
- removed two uneeded calls to hb_itemClear() from
|
||||
hb_vmOperatorCall() and hb_vmOperatorCallUnary()
|
||||
|
||||
Notice: hb_itemCopy( pDest, pOrigin ) already performs a
|
||||
hb_itemClear( pDest ), so there is no need to do this:
|
||||
|
||||
hb_itemClear( pDest ); <<< This is not needed
|
||||
hb_itemCopy( pDest, pOrigin );
|
||||
|
||||
2002-01-30 22:40 UTC+0100 Antonio Linares <alinares@fivetech.com>
|
||||
* include/hbexprc.c
|
||||
* some minor fixes regarding strings sharing implementation
|
||||
|
||||
2002-01-30 16:25 UTC+0100 Antonio Linares <alinares@fivetech.com>
|
||||
|
||||
* include/hbexprb.c
|
||||
* macros using "." bug fixed (reported by Matteo Bacan)
|
||||
|
||||
2002-01-30 11:30 UTC+0100 Antonio Linares <alinares@fivetech.com>
|
||||
|
||||
|
||||
@@ -188,8 +188,9 @@ typedef enum
|
||||
HB_P_ONE, /* 122 places a ONE on the virtual machine stack */
|
||||
HB_P_MACROLIST, /* 122 HB_P_MACROPUSHLIST envelope start. */
|
||||
HB_P_MACROLISTEND, /* 123 HB_P_MACROPUSHLIST envelope end. */
|
||||
HB_P_MPUSHSTR, /* 124 Macro compiled pushed string */
|
||||
/* NOTE: This have to be the last definition */
|
||||
HB_P_LAST_PCODE /* 123 this defines the number of defined pcodes */
|
||||
HB_P_LAST_PCODE /* 125 this defines the number of defined pcodes */
|
||||
} HB_PCODE;
|
||||
|
||||
#endif /* HB_PCODE_H_ */
|
||||
#endif /* HB_PCODE_H_ */
|
||||
@@ -1939,7 +1939,10 @@ static HB_GENC_FUNC_PTR s_verbose_table[] = {
|
||||
hb_p_zero,
|
||||
hb_p_one,
|
||||
hb_p_macrolist,
|
||||
hb_p_macrolistend
|
||||
hb_p_macrolistend,
|
||||
/* start: more pcodes generated by macro compiler */
|
||||
hb_p_dummy
|
||||
/* end: */
|
||||
};
|
||||
|
||||
static void hb_compGenCReadable( PFUNCTION pFunc, FILE * yyc )
|
||||
|
||||
@@ -379,7 +379,8 @@ static HB_FIX_FUNC_PTR s_fixlocals_table[] =
|
||||
NULL, /* HB_P_ZERO, */
|
||||
NULL, /* HB_P_ONE, */
|
||||
NULL, /* HB_P_MACROLIST, */
|
||||
NULL /* HB_P_MACROLISTEND, */
|
||||
NULL, /* HB_P_MACROLISTEND, */
|
||||
NULL /* HB_P_MPUSHSTR */
|
||||
};
|
||||
|
||||
void hb_compFixFuncPCode( PFUNCTION pFunc )
|
||||
@@ -391,4 +392,4 @@ void hb_compFixFuncPCode( PFUNCTION pFunc )
|
||||
assert( HB_P_LAST_PCODE == sizeof( s_fixlocals_table ) / sizeof( HB_FIX_FUNC_PTR ) );
|
||||
|
||||
hb_compPCodeEval( pFunc, ( HB_PCODE_FUNC_PTR * ) s_fixlocals_table, ( void * ) &fix_info );
|
||||
}
|
||||
}
|
||||
@@ -168,7 +168,8 @@ static BYTE s_pcode_len[] = {
|
||||
1, /* HB_P_ZERO, */
|
||||
1, /* HB_P_ONE, */
|
||||
1, /* HB_P_MACROLIST, */
|
||||
1 /* HB_P_MACROLISTEND, */
|
||||
1, /* HB_P_MACROLISTEND, */
|
||||
0 /* HB_P_MPUSHSTR */
|
||||
};
|
||||
|
||||
static PVAR hb_compPrivateFind( char * szPrivateName )
|
||||
@@ -953,7 +954,7 @@ void hb_compStrongType( int iSize )
|
||||
/*
|
||||
printf( "\nBefore Cond: %i\n", pFunc->iStackIndex );
|
||||
*/
|
||||
|
||||
|
||||
/* Saving Stack depth befor Jump. */
|
||||
/* TODO: Remove Hard coded limitation. */
|
||||
if( s_iCondIndex < 16 )
|
||||
@@ -3176,4 +3177,4 @@ void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL bStackAffected )
|
||||
|
||||
if( hb_comp_iWarnings >= 3 && bStackAffected )
|
||||
hb_compStrongType( ulSize );
|
||||
}
|
||||
}
|
||||
@@ -1767,10 +1767,9 @@ HB_FUNC( __OBJSENDMSG )
|
||||
{
|
||||
USHORT uiParam;
|
||||
|
||||
hb_vmPushSymbol( pMsg->pSymbol ); /* Push message symbol */
|
||||
hb_vmPush( pObject ); /* Push object */
|
||||
|
||||
hb_vmMessage( pMsg->pSymbol ); /* Push char symbol as message */
|
||||
|
||||
for( uiParam = 3; uiParam <= uiPCount; uiParam++ ) /* Push arguments on stack */
|
||||
hb_vmPush( hb_param( uiParam, HB_IT_ANY ) );
|
||||
|
||||
|
||||
@@ -1546,6 +1546,15 @@ void HB_EXPORT hb_vmExecute( const BYTE * pCode, PHB_SYMB pSymbols )
|
||||
break;
|
||||
}
|
||||
|
||||
case HB_P_MPUSHSTR:
|
||||
{
|
||||
USHORT uiSize = pCode[ w + 1 ] + ( pCode[ w + 2 ] * 256 );
|
||||
|
||||
hb_vmPushString( ( char * ) ( pCode ) + w + 3, ( ULONG )( uiSize - 1 ) );
|
||||
w += ( 3 + uiSize );
|
||||
break;
|
||||
}
|
||||
|
||||
/* misc */
|
||||
|
||||
case HB_P_NOOP:
|
||||
|
||||
@@ -1400,7 +1400,7 @@ void hb_compGenPushFunCall( char * szFunName, HB_MACRO_DECL )
|
||||
/* generates the pcode to push a string on the virtual machine stack */
|
||||
void hb_compGenPushString( char * szText, ULONG ulStrLen, HB_MACRO_DECL )
|
||||
{
|
||||
hb_compGenPCode3( HB_P_PUSHSTR, HB_LOBYTE( ulStrLen ), HB_HIBYTE( ulStrLen ), HB_MACRO_PARAM );
|
||||
hb_compGenPCode3( HB_P_MPUSHSTR, HB_LOBYTE( ulStrLen ), HB_HIBYTE( ulStrLen ), HB_MACRO_PARAM );
|
||||
hb_compGenPCodeN( ( BYTE * ) szText, ulStrLen, HB_MACRO_PARAM );
|
||||
}
|
||||
|
||||
@@ -1549,4 +1549,4 @@ void hb_compCodeBlockEnd( HB_MACRO_DECL )
|
||||
/* free memory allocated for a codeblock */
|
||||
hb_xfree( ( void * ) pCodeblock->pCode );
|
||||
hb_xfree( ( void * ) pCodeblock );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user