2010-06-22 05:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* src/vm/estack.c
  * src/vm/debug.c
  * src/vm/hvm.c
  * src/vm/pvalue.c
  * src/vm/arrays.c
  * src/vm/proc.c
  * src/vm/memvars.c
  * src/vm/eval.c
  * src/vm/classes.c
  * include/hbstack.h
  * include/hbapi.h
    + Win64 support for HVM stack and other related internals.
      (HB_ULONG -> HB_SIZE, HB_LONG -> HB_ISIZ, long -> HB_ISIZ)
    + Using size API in debug functions.
    ; TOFIX: These two warnings remain in HVM (not counting dlmalloc):
      ---
      hvm.c(10695) : warning C4244: 'argument' : conversion from 'HB_MAXINT' to 'double', possible loss of data
      macro.c(1315) : warning C4310: cast truncates constant value
      ---

  * src/vm/eval.c
    * HB_FORNEXT() loop value can now be 64-bit values (was 32).

  * src/vm/runner.c
    * Formatting.
This commit is contained in:
Viktor Szakats
2010-06-22 03:39:16 +00:00
parent 00c92c1711
commit 59a257f1b2
13 changed files with 136 additions and 109 deletions

View File

@@ -16,6 +16,33 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-06-22 05:38 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/estack.c
* src/vm/debug.c
* src/vm/hvm.c
* src/vm/pvalue.c
* src/vm/arrays.c
* src/vm/proc.c
* src/vm/memvars.c
* src/vm/eval.c
* src/vm/classes.c
* include/hbstack.h
* include/hbapi.h
+ Win64 support for HVM stack and other related internals.
(HB_ULONG -> HB_SIZE, HB_LONG -> HB_ISIZ, long -> HB_ISIZ)
+ Using size API in debug functions.
; TOFIX: These two warnings remain in HVM (not counting dlmalloc):
---
hvm.c(10695) : warning C4244: 'argument' : conversion from 'HB_MAXINT' to 'double', possible loss of data
macro.c(1315) : warning C4310: cast truncates constant value
---
* src/vm/eval.c
* HB_FORNEXT() loop value can now be 64-bit values (was 32).
* src/vm/runner.c
* Formatting.
2010-06-22 04:48 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/common/expropt1.c
* src/compiler/genc.c

View File

@@ -274,8 +274,8 @@ struct _HB_EXTREF;
typedef struct _HB_STACK_STATE
{
HB_LONG lBaseItem; /* stack base offset of previous func/proc */
HB_ULONG ulPrivateBase; /* memvars base offset of previous func/proc */
HB_ISIZ lBaseItem; /* stack base offset of previous func/proc */
HB_SIZE ulPrivateBase; /* memvars base offset of previous func/proc */
void * pStatics; /* statics frame of previous func/proc */
HB_USHORT uiClass; /* class when message is sent */
HB_USHORT uiMethod; /* number of class method */
@@ -389,7 +389,7 @@ struct hb_struSymbol
struct hb_struRecover
{
const HB_BYTE * recover; /* address of recover code */
HB_ULONG base; /* previous recover base */
HB_SIZE base; /* previous recover base */
HB_USHORT flags; /* previous recovery state and recover type */
HB_USHORT request; /* requested action */
};
@@ -1042,8 +1042,8 @@ extern HB_EXPORT void hb_memvarSetValue( PHB_SYMB pMemvarSymb, HB_ITEM_PTR
extern HB_EXPORT HB_ERRCODE hb_memvarGet( HB_ITEM_PTR pItem, PHB_SYMB pMemvarSymb ); /* copy an symbol value into an item */
extern void hb_memvarGetValue( HB_ITEM_PTR pItem, PHB_SYMB pMemvarSymb ); /* copy an symbol value into an item, with error trapping */
extern void hb_memvarGetRefer( HB_ITEM_PTR pItem, PHB_SYMB pMemvarSymb ); /* copy a reference to a symbol value into an item, with error trapping */
extern HB_ULONG hb_memvarGetPrivatesBase( void ); /* retrieve current PRIVATE variables stack base */
extern void hb_memvarSetPrivatesBase( HB_ULONG ulBase ); /* release PRIVATE variables created after specified base */
extern HB_SIZE hb_memvarGetPrivatesBase( void ); /* retrieve current PRIVATE variables stack base */
extern void hb_memvarSetPrivatesBase( HB_SIZE ulBase ); /* release PRIVATE variables created after specified base */
extern void hb_memvarUpdatePrivatesBase( void ); /* Update PRIVATE base ofsset so they will not be removed when function return */
extern void hb_memvarNewParameter( PHB_SYMB pSymbol, PHB_ITEM pValue );
extern char * hb_memvarGetStrValuePtr( char * szVarName, HB_SIZE * pulLen );

View File

@@ -133,9 +133,9 @@ HB_PRIVATE_ITEM, * PHB_PRIVATE_ITEM;
typedef struct
{
PHB_PRIVATE_ITEM stack;
HB_ULONG size;
HB_ULONG count;
HB_ULONG base;
HB_SIZE size;
HB_SIZE count;
HB_SIZE base;
}
HB_PRIVATE_STACK, * PHB_PRIVATE_STACK;
@@ -156,9 +156,9 @@ typedef struct
PHB_ITEM * pItems; /* pointer to the stack items */
PHB_ITEM * pBase; /* stack frame position for the current function call */
HB_ITEM Return; /* latest returned value */
HB_LONG wItems; /* total items that may be holded on the stack */
HB_LONG lWithObject; /* stack offset to base current WITH OBJECT item */
HB_LONG lRecoverBase; /* current SEQUENCE envelope offset or 0 if no SEQUENCE is active */
HB_ISIZ wItems; /* total items that may be held on the stack */
HB_ISIZ lWithObject; /* stack offset to base current WITH OBJECT item */
HB_ISIZ lRecoverBase; /* current SEQUENCE envelope offset or 0 if no SEQUENCE is active */
HB_USHORT uiActionRequest;/* request for some action - stop processing of opcodes */
HB_USHORT uiQuitState; /* HVM is quiting */
HB_STACK_STATE state; /* first (default) stack state frame */
@@ -287,19 +287,19 @@ extern HB_EXPORT void hb_stackPop( void ); /* pops an item from th
extern void hb_stackPush( void ); /* pushes an item on to the stack */
extern void hb_stackPushReturn( void );
extern void hb_stackPopReturn( void );
extern void hb_stackRemove( HB_LONG lUntilPos );
extern void hb_stackRemove( HB_ISIZ lUntilPos );
extern HB_LONG hb_stackTopOffset( void );
extern HB_LONG hb_stackBaseOffset( void );
extern HB_LONG hb_stackTotalItems( void );
extern HB_ITEM_PTR hb_stackItem( long iItemPos );
extern HB_ISIZ hb_stackTopOffset( void );
extern HB_ISIZ hb_stackBaseOffset( void );
extern HB_ISIZ hb_stackTotalItems( void );
extern HB_ITEM_PTR hb_stackItem( HB_ISIZ iItemPos );
extern char * hb_stackDateBuffer( void );
/* stack management functions */
extern HB_EXPORT int hb_stackCallDepth( void );
extern HB_EXPORT void hb_stackBaseProcInfo( char * szProcName, HB_USHORT * puiProcLine ); /* get current .prg function name and line number */
extern HB_LONG hb_stackBaseProcOffset( int iLevel );
extern HB_ISIZ hb_stackBaseProcOffset( int iLevel );
extern void hb_stackDispCall( void );
extern void hb_stackFree( void ); /* releases all memory used by the stack */
extern void hb_stackInit( void ); /* initializes the stack */
@@ -319,7 +319,7 @@ extern PHB_STACKRDD hb_stackRDD( void );
extern void ** hb_stackDebugInfo( void );
#ifdef _HB_API_INTERNAL_
extern void hb_stackDecrease( HB_ULONG ulItems );
extern void hb_stackDecrease( HB_SIZE ulItems );
extern HB_ITEM_PTR hb_stackNewFrame( PHB_STACK_STATE pFrame, HB_USHORT uiParams );
extern void hb_stackOldFrame( PHB_STACK_STATE pFrame );
extern void hb_stackClearMemvarsBase( void );
@@ -327,8 +327,8 @@ extern void hb_stackClearMemvarsBase( void );
extern HB_ITEM_PTR hb_stackLocalVariable( int *piFromBase );
extern PHB_ITEM ** hb_stackItemBasePtr( void );
extern HB_LONG hb_stackGetRecoverBase( void );
extern void hb_stackSetRecoverBase( HB_LONG lBase );
extern HB_ISIZ hb_stackGetRecoverBase( void );
extern void hb_stackSetRecoverBase( HB_ISIZ lBase );
extern HB_USHORT hb_stackGetActionRequest( void );
extern void hb_stackSetActionRequest( HB_USHORT uiAction );
@@ -336,8 +336,8 @@ extern void hb_stackSetStaticsBase( void * pBase );
extern void * hb_stackGetStaticsBase( void );
extern PHB_ITEM hb_stackWithObjectItem( void );
extern HB_LONG hb_stackWithObjectOffset( void );
extern void hb_stackWithObjectSetOffset( HB_LONG );
extern HB_ISIZ hb_stackWithObjectOffset( void );
extern void hb_stackWithObjectSetOffset( HB_ISIZ );
extern int * hb_stackKeyPolls( void );
extern HB_BOOL * hb_stackDebugRequest( void );
@@ -385,7 +385,7 @@ extern void hb_stackUpdateAllocator( void *, PHB_ALLOCUPDT_FUNC, int );
/* #define hb_stackTotalItems( ) ( hb_stack.wItems ) */
#define hb_stackBaseItem( ) ( * hb_stack.pBase )
#define hb_stackSelfItem( ) ( * ( hb_stack.pBase + 1 ) )
#define hb_stackItem( iItemPos ) ( * ( hb_stack.pItems + ( long ) ( iItemPos ) ) )
#define hb_stackItem( iItemPos ) ( * ( hb_stack.pItems + ( HB_ISIZ ) ( iItemPos ) ) )
#define hb_stackReturnItem( ) ( &hb_stack.Return )
#define hb_stackDateBuffer( ) ( hb_stack.szDate )
#define hb_stackItemBasePtr( ) ( &hb_stack.pItems )
@@ -417,7 +417,7 @@ extern void hb_stackUpdateAllocator( void *, PHB_ALLOCUPDT_FUNC, int );
#endif
#define hb_stackAllocItem( ) ( ( ++hb_stack.pPos == hb_stack.pEnd ? \
hb_stackIncrease() : (void) 0 ), \
hb_stackIncrease() : ( void ) 0 ), \
* ( hb_stack.pPos - 1 ) )
#ifdef HB_STACK_SAFEMACROS

View File

@@ -1567,7 +1567,7 @@ PHB_ITEM hb_arrayFromParams( int iLevel )
HB_STACK_TLS_PRELOAD
PHB_ITEM pArray;
HB_USHORT uiPos, uiPCount;
HB_LONG lBaseOffset;
HB_ISIZ lBaseOffset;
HB_TRACE(HB_TR_DEBUG, ("hb_arrayFromParams(%d)", iLevel));

View File

@@ -1482,9 +1482,9 @@ const char * hb_objGetRealClsName( PHB_ITEM pObject, const char * szName )
}
#if defined( HB_CLASSY_BLOCK_SCOPE )
static HB_LONG hb_clsSenderOffset( void )
static HB_ISIZ hb_clsSenderOffset( void )
{
HB_LONG lOffset = hb_stackBaseProcOffset( 1 );
HB_ISIZ lOffset = hb_stackBaseProcOffset( 1 );
if( lOffset > 0 )
{
@@ -1510,7 +1510,7 @@ static HB_LONG hb_clsSenderOffset( void )
#if 0
static HB_USHORT hb_clsSenderClasss( void )
{
HB_LONG lOffset = hb_clsSenderOffset();
HB_ISIZ lOffset = hb_clsSenderOffset();
if( lOffset > 0 )
return hb_stackItem( lOffset )->item.asSymbol.stackstate->uiClass;
@@ -1521,7 +1521,7 @@ static HB_USHORT hb_clsSenderClasss( void )
static HB_USHORT hb_clsSenderMethodClasss( void )
{
HB_LONG lOffset = hb_clsSenderOffset();
HB_ISIZ lOffset = hb_clsSenderOffset();
if( lOffset > 0 )
{
@@ -1538,7 +1538,7 @@ static HB_USHORT hb_clsSenderMethodClasss( void )
static PHB_SYMB hb_clsSenderSymbol( void )
{
PHB_SYMB pSym = NULL;
HB_LONG lOffset = hb_clsSenderOffset();
HB_ISIZ lOffset = hb_clsSenderOffset();
if( lOffset > 0 )
{
@@ -1559,7 +1559,7 @@ static PHB_SYMB hb_clsSenderSymbol( void )
static HB_USHORT hb_clsSenderObjectClasss( void )
{
HB_LONG lOffset = hb_clsSenderOffset();
HB_ISIZ lOffset = hb_clsSenderOffset();
if( lOffset > 0 )
{
@@ -2421,7 +2421,7 @@ void hb_dbg_objSendMessage( int iProcLevel, PHB_ITEM pObject, PHB_ITEM pMessage,
int iLevel = hb_stackCallDepth();
if( iProcLevel < iLevel )
{
HB_LONG lOffset = hb_stackBaseProcOffset( iLevel - iProcLevel );
HB_ISIZ lOffset = hb_stackBaseProcOffset( iLevel - iProcLevel );
if( lOffset > 0 )
{
PHB_ITEM pItem = hb_stackItem( lOffset );
@@ -4053,7 +4053,7 @@ HB_FUNC( __CLSPARENT )
HB_FUNC( __SENDER )
{
HB_STACK_TLS_PRELOAD
HB_LONG lOffset = hb_stackBaseProcOffset( 2 );
HB_ISIZ lOffset = hb_stackBaseProcOffset( 2 );
if( lOffset > 0 )
{
@@ -4087,7 +4087,7 @@ HB_FUNC( __CLSSYNCWAIT )
HB_STACK_TLS_PRELOAD
PHB_ITEM pMutex = NULL;
HB_ULONG ulMilliSec = HB_THREAD_INFINITE_WAIT;
HB_LONG lOffset = hb_stackBaseProcOffset( 2 );
HB_ISIZ lOffset = hb_stackBaseProcOffset( 2 );
if( lOffset > 0 )
{
@@ -5082,7 +5082,7 @@ void hb_clsAssociate( HB_USHORT usClassH )
*/
const char * hb_clsRealMethodName( void )
{
HB_LONG lOffset = hb_stackBaseProcOffset( 1 );
HB_ISIZ lOffset = hb_stackBaseProcOffset( 1 );
const char * szName = NULL;
if( lOffset > 0 )

View File

@@ -137,7 +137,7 @@ static void AddToArray( PHB_ITEM pItem, PHB_ITEM pReturn, HB_SIZE ulPos )
* $End$ */
HB_FUNC( __DBGVMSTKGCOUNT )
{
hb_retnl( hb_stackTopOffset() );
hb_retns( hb_stackTopOffset() );
}
/* $Doc$
@@ -147,8 +147,8 @@ HB_FUNC( __DBGVMSTKGCOUNT )
HB_FUNC( __DBGVMSTKGLIST )
{
PHB_ITEM pReturn;
HB_LONG ulLen = hb_stackTopOffset();
HB_LONG ulPos;
HB_ISIZ ulLen = hb_stackTopOffset();
HB_ISIZ ulPos;
pReturn = hb_itemArrayNew( ulLen ); /* Create a transfer array */
@@ -162,9 +162,9 @@ HB_FUNC( __DBGVMSTKGLIST )
* $FuncName$ <nVars> hb_stackLen( <nProcLevel> )
* $Description$ Returns params plus locals amount of the nProcLevel function
* $End$ */
static HB_LONG hb_stackLen( int iLevel )
static HB_ISIZ hb_stackLen( int iLevel )
{
HB_LONG lBaseOffset, lPrevOffset, lLen;
HB_ISIZ lBaseOffset, lPrevOffset, lLen;
HB_TRACE(HB_TR_DEBUG, ("hb_stackLen()"));
@@ -189,7 +189,7 @@ static HB_LONG hb_stackLen( int iLevel )
* $End$ */
HB_FUNC( __DBGVMSTKLCOUNT )
{
hb_retnl( hb_stackLen( hb_parni( 1 ) + 1 ) );
hb_retns( hb_stackLen( hb_parni( 1 ) + 1 ) );
}
/* $Doc$
@@ -206,8 +206,8 @@ HB_FUNC( __DBGVMSTKLCOUNT )
HB_FUNC( __DBGVMSTKLLIST )
{
PHB_ITEM pReturn;
HB_LONG ulLen, ul;
HB_LONG lBaseOffset, lPrevOffset;
HB_ISIZ ulLen, ul;
HB_ISIZ lBaseOffset, lPrevOffset;
lBaseOffset = hb_stackBaseOffset();
lPrevOffset = hb_stackItem( lBaseOffset - 1 )->item.asSymbol.stackstate->lBaseItem;
@@ -223,7 +223,7 @@ HB_FUNC( __DBGVMSTKLLIST )
HB_FUNC( __DBGVMLOCALLIST )
{
PHB_ITEM pArray;
HB_LONG lBaseOffset, lPrevOffset, lLen, l;
HB_ISIZ lBaseOffset, lPrevOffset, lLen, l;
int iLevel = hb_parni( 1 ) + 1;
lBaseOffset = hb_stackBaseOffset();
@@ -259,7 +259,7 @@ HB_FUNC( __DBGVMPARLLIST )
PHB_ITEM hb_dbg_vmVarLGet( int iLevel, int iLocal )
{
PHB_ITEM pLocal = NULL;
HB_LONG lBaseOffset;
HB_ISIZ lBaseOffset;
lBaseOffset = hb_stackBaseOffset();
while( iLevel-- > 0 && lBaseOffset > 1 )
@@ -309,7 +309,7 @@ HB_FUNC( __DBGVMVARLSET )
{
int iLevel = hb_parni( 1 ) + 1;
int iLocal = hb_parni( 2 );
HB_LONG lBaseOffset;
HB_ISIZ lBaseOffset;
PHB_ITEM pLocal;
lBaseOffset = hb_stackBaseOffset();

View File

@@ -164,7 +164,7 @@ static HB_SYMB s_initSymbol = { "hb_stackInit", { HB_FS_STATIC }, { NULL }, NULL
static void hb_stack_init( PHB_STACK pStack )
{
HB_LONG i;
HB_ISIZ i;
HB_TRACE(HB_TR_DEBUG, ("hb_stack_init(%p)", pStack));
@@ -216,7 +216,7 @@ static void hb_stack_destroy_TSD( PHB_STACK pStack )
static void hb_stack_free( PHB_STACK pStack )
{
HB_LONG i;
HB_ISIZ i;
HB_TRACE(HB_TR_DEBUG, ("hb_stack_free(%p)", pStack));
@@ -290,7 +290,7 @@ void * hb_stackGetTSD( PHB_TSD pTSD )
#else
if( pTSD->iHandle == 0 )
{
HB_ULONG ulSize = ( hb_stack.iTSD + 2 ) * sizeof( HB_TSD_HOLDER );
HB_SIZE ulSize = ( hb_stack.iTSD + 2 ) * sizeof( HB_TSD_HOLDER );
if( hb_stack.iTSD == 0 )
{
hb_stack.pTSD = ( PHB_TSD_HOLDER ) hb_xgrab( ulSize );
@@ -583,7 +583,7 @@ void hb_stackDec( void )
}
#undef hb_stackDecrease
void hb_stackDecrease( HB_ULONG ulItems )
void hb_stackDecrease( HB_SIZE ulItems )
{
HB_STACK_TLS_PRELOAD
@@ -635,9 +635,9 @@ void hb_stackPushReturn( void )
void hb_stackIncrease( void )
{
HB_STACK_TLS_PRELOAD
HB_LONG BaseIndex; /* index of stack base */
HB_LONG CurrIndex; /* index of current top item */
HB_LONG EndIndex; /* index of current top item */
HB_ISIZ BaseIndex; /* index of stack base */
HB_ISIZ CurrIndex; /* index of current top item */
HB_ISIZ EndIndex; /* index of current top item */
HB_TRACE(HB_TR_DEBUG, ("hb_stackIncrease()"));
@@ -663,7 +663,7 @@ void hb_stackIncrease( void )
while( ++EndIndex < hb_stack.wItems );
}
void hb_stackRemove( HB_LONG lUntilPos )
void hb_stackRemove( HB_ISIZ lUntilPos )
{
HB_STACK_TLS_PRELOAD
HB_ITEM_PTR * pEnd = hb_stack.pItems + lUntilPos;
@@ -827,7 +827,7 @@ void hb_stackOldFrame( PHB_STACK_STATE pFrame )
}
#undef hb_stackItem
HB_ITEM_PTR hb_stackItem( long iItemPos )
HB_ITEM_PTR hb_stackItem( HB_ISIZ iItemPos )
{
HB_STACK_TLS_PRELOAD
if( iItemPos < 0 )
@@ -907,7 +907,7 @@ HB_ITEM_PTR hb_stackReturnItem( void )
}
#undef hb_stackTopOffset
HB_LONG hb_stackTopOffset( void )
HB_ISIZ hb_stackTopOffset( void )
{
HB_STACK_TLS_PRELOAD
@@ -915,7 +915,7 @@ HB_LONG hb_stackTopOffset( void )
}
#undef hb_stackBaseOffset
HB_LONG hb_stackBaseOffset( void )
HB_ISIZ hb_stackBaseOffset( void )
{
HB_STACK_TLS_PRELOAD
@@ -923,7 +923,7 @@ HB_LONG hb_stackBaseOffset( void )
}
#undef hb_stackTotalItems
HB_LONG hb_stackTotalItems( void )
HB_ISIZ hb_stackTotalItems( void )
{
#if defined( HB_MT_VM )
if( hb_stack_ready() )
@@ -1032,14 +1032,14 @@ void hb_stackSetStaticsBase( void * pBase )
}
#undef hb_stackGetRecoverBase
HB_LONG hb_stackGetRecoverBase( void )
HB_ISIZ hb_stackGetRecoverBase( void )
{
HB_STACK_TLS_PRELOAD
return hb_stack.lRecoverBase;
}
#undef hb_stackSetRecoverBase
void hb_stackSetRecoverBase( HB_LONG lBase )
void hb_stackSetRecoverBase( HB_ISIZ lBase )
{
HB_STACK_TLS_PRELOAD
hb_stack.lRecoverBase = lBase;
@@ -1068,14 +1068,14 @@ PHB_ITEM hb_stackWithObjectItem( void )
}
#undef hb_stackWithObjectOffset
HB_LONG hb_stackWithObjectOffset( void )
HB_ISIZ hb_stackWithObjectOffset( void )
{
HB_STACK_TLS_PRELOAD
return hb_stack.lWithObject;
}
#undef hb_stackWithObjectSetOffset
void hb_stackWithObjectSetOffset( HB_LONG lOffset )
void hb_stackWithObjectSetOffset( HB_ISIZ lOffset )
{
HB_STACK_TLS_PRELOAD
hb_stack.lWithObject = lOffset;
@@ -1149,7 +1149,7 @@ void hb_stackClearMemvarsBase( void )
int hb_stackCallDepth( void )
{
HB_STACK_TLS_PRELOAD
HB_LONG lOffset = hb_stack.pBase - hb_stack.pItems;
HB_ISIZ lOffset = hb_stack.pBase - hb_stack.pItems;
int iLevel = 0;
while( lOffset > 0 )
@@ -1161,10 +1161,10 @@ int hb_stackCallDepth( void )
return iLevel;
}
HB_LONG hb_stackBaseProcOffset( int iLevel )
HB_ISIZ hb_stackBaseProcOffset( int iLevel )
{
HB_STACK_TLS_PRELOAD
HB_LONG lOffset = hb_stack.pBase - hb_stack.pItems;
HB_ISIZ lOffset = hb_stack.pBase - hb_stack.pItems;
while( iLevel-- > 0 && lOffset > 0 )
lOffset = ( * ( hb_stack.pItems + lOffset ) )->item.asSymbol.stackstate->lBaseItem;
@@ -1255,7 +1255,7 @@ static void hb_stackIsMemvarRef( PHB_STACK pStack )
{
/* 1. Mark all hidden memvars (PRIVATEs and PUBLICs) */
PHB_PRIVATE_STACK pPrivateStack = &pStack->privates;
HB_ULONG ulCount = pPrivateStack->count;
HB_SIZE ulCount = pPrivateStack->count;
while( ulCount )
{
@@ -1304,7 +1304,7 @@ static void hb_stackIsTsdRef( PHB_STACK pStack, PHB_TSD_FUNC pCleanFunc )
void hb_stackIsStackRef( void * pStackId, PHB_TSD_FUNC pCleanFunc )
{
PHB_STACK pStack;
long lCount;
HB_ISIZ lCount;
HB_TRACE(HB_TR_DEBUG, ("hb_stackIsStackRef()"));

View File

@@ -350,42 +350,42 @@ void hb_evalBlock( PHB_ITEM pCodeBlock, ... )
HB_FUNC( HB_FORNEXT ) /* nStart, nEnd | bEnd, bCode, nStep */
{
HB_LONG lStart = hb_parnl( 1 ), lEnd;
HB_MAXINT nStart = hb_parnint( 1 ), nEnd;
PHB_ITEM pEndBlock = hb_param( 2, HB_IT_BLOCK );
PHB_ITEM pCodeBlock = hb_param( 3, HB_IT_BLOCK );
HB_LONG lStep = ( hb_pcount() > 3 ) ? hb_parnl( 4 ) : 1;
HB_MAXINT nStep = ( hb_pcount() > 3 ) ? hb_parnint( 4 ) : 1;
if( pCodeBlock )
{
if( pEndBlock )
{
hb_evalBlock0( pEndBlock );
lEnd = hb_parnl( -1 );
nEnd = hb_parnint( -1 );
while( lStart <= lEnd )
while( nStart <= nEnd )
{
hb_vmPushEvalSym();
hb_vmPush( pCodeBlock );
hb_vmPushLong( lStart );
hb_vmPushNumInt( nStart );
hb_vmSend( 1 );
lStart += lStep;
nStart += nStep;
hb_evalBlock0( pEndBlock );
lEnd = hb_parnl( -1 );
nEnd = hb_parnint( -1 );
}
}
else
{
lEnd = hb_parnl( 2 );
while( lStart <= lEnd )
nEnd = hb_parnint( 2 );
while( nStart <= nEnd )
{
hb_vmPushEvalSym();
hb_vmPush( pCodeBlock );
hb_vmPushLong( lStart );
hb_vmPushNumInt( nStart );
hb_vmSend( 1 );
lStart += lStep;
nStart += nStep;
}
}
}

View File

@@ -4438,7 +4438,7 @@ static void hb_vmSeqBlock( void )
static HB_GARBAGE_FUNC( hb_withObjectDestructor )
{
HB_STACK_TLS_PRELOAD
HB_LONG * plWithObjectBase = ( HB_LONG * ) Cargo;
HB_ISIZ * plWithObjectBase = ( HB_ISIZ * ) Cargo;
hb_stackWithObjectSetOffset( * plWithObjectBase );
}
@@ -4452,13 +4452,13 @@ static const HB_GC_FUNCS s_gcWithObjectFuncs =
static void hb_vmWithObjectStart( void )
{
HB_STACK_TLS_PRELOAD
HB_LONG * plWithObjectBase;
HB_ISIZ * plWithObjectBase;
PHB_ITEM pItem;
HB_TRACE(HB_TR_DEBUG, ("hb_vmWithObjectStart()"));
pItem = hb_stackAllocItem();
plWithObjectBase = ( HB_LONG * ) hb_gcAllocRaw( sizeof( HB_LONG ),
plWithObjectBase = ( HB_ISIZ * ) hb_gcAllocRaw( sizeof( HB_ISIZ ),
&s_gcWithObjectFuncs );
* plWithObjectBase = hb_stackWithObjectOffset();
pItem->type = HB_IT_POINTER;
@@ -5527,7 +5527,7 @@ static HB_LONG hb_vmArgsJoin( HB_LONG lLevel, HB_USHORT uiArgSets )
static void hb_vmMacroDo( HB_USHORT uiArgSets )
{
HB_STACK_TLS_PRELOAD
HB_LONG lArgs;
HB_ISIZ lArgs;
HB_TRACE(HB_TR_DEBUG, ("hb_vmMacroDo(%hu)", uiArgSets));
@@ -5539,7 +5539,7 @@ static void hb_vmMacroDo( HB_USHORT uiArgSets )
static void hb_vmMacroFunc( HB_USHORT uiArgSets )
{
HB_STACK_TLS_PRELOAD
HB_LONG lArgs;
HB_ISIZ lArgs;
HB_TRACE(HB_TR_DEBUG, ("hb_vmMacroFunc(%hu)", uiArgSets));
@@ -5553,7 +5553,7 @@ static void hb_vmMacroFunc( HB_USHORT uiArgSets )
static void hb_vmMacroSend( HB_USHORT uiArgSets )
{
HB_STACK_TLS_PRELOAD
HB_LONG lArgs;
HB_ISIZ lArgs;
HB_TRACE(HB_TR_DEBUG, ("hb_vmMacroSend(%hu)", uiArgSets));
@@ -5567,7 +5567,7 @@ static void hb_vmMacroSend( HB_USHORT uiArgSets )
static void hb_vmMacroArrayGen( HB_USHORT uiArgSets )
{
HB_STACK_TLS_PRELOAD
HB_LONG lArgs;
HB_ISIZ lArgs;
HB_TRACE(HB_TR_DEBUG, ("hb_vmMacroArrayGen(%hu)", uiArgSets));
@@ -8541,7 +8541,7 @@ void hb_vmRequestEndProc( void )
void hb_vmRequestBreak( PHB_ITEM pItem )
{
HB_STACK_TLS_PRELOAD
long lRecoverBase;
HB_ISIZ lRecoverBase;
HB_TRACE(HB_TR_DEBUG, ("hb_vmRequestBreak(%p)", pItem));
@@ -11783,7 +11783,7 @@ HB_FUNC( __QUITCANCEL )
if( !hb_stackQuitState() )
#endif
{
long lRecoverBase = hb_stackGetRecoverBase();
HB_ISIZ lRecoverBase = hb_stackGetRecoverBase();
if( lRecoverBase )
{

View File

@@ -96,7 +96,7 @@ struct mv_memvarArray_info
{
PHB_ITEM pArray;
PHB_DYNS * pDyns;
HB_ULONG ulCount;
HB_SIZE ulCount;
int iScope;
};
@@ -238,7 +238,7 @@ static void hb_memvarAddPrivate( PHB_DYNS pDynSym, PHB_ITEM pValue )
*/
if( pMemvar )
{
HB_ULONG ulCount = pPrivateStack->count;
HB_SIZE ulCount = pPrivateStack->count;
while( ulCount > pPrivateStack->base )
{
if( pDynSym == pPrivateStack->stack[ ulCount - 1 ].pDynSym )
@@ -291,10 +291,10 @@ static void hb_memvarAddPrivate( PHB_DYNS pDynSym, PHB_ITEM pValue )
/*
* This function returns current PRIVATE variables stack base
*/
HB_ULONG hb_memvarGetPrivatesBase( void )
HB_SIZE hb_memvarGetPrivatesBase( void )
{
HB_STACK_TLS_PRELOAD
HB_ULONG ulBase;
HB_SIZE ulBase;
HB_TRACE(HB_TR_DEBUG, ("hb_memvarGetPrivatesBase()"));
@@ -306,12 +306,12 @@ HB_ULONG hb_memvarGetPrivatesBase( void )
/*
* This function releases PRIVATE variables created after passed base
*/
void hb_memvarSetPrivatesBase( HB_ULONG ulBase )
void hb_memvarSetPrivatesBase( HB_SIZE ulBase )
{
HB_STACK_TLS_PRELOAD
PHB_PRIVATE_STACK pPrivateStack;
HB_TRACE(HB_TR_DEBUG, ("hb_memvarSetPrivatesBase(%lu)", ulBase));
HB_TRACE(HB_TR_DEBUG, ("hb_memvarSetPrivatesBase(%" HB_PFS "u)", ulBase));
pPrivateStack = hb_stackGetPrivateStack();
@@ -712,7 +712,7 @@ static void hb_memvarRelease( HB_ITEM_PTR pMemvar )
if( pDynSymbol && hb_dynsymGetMemvar( pDynSymbol ) )
{
HB_STACK_TLS_PRELOAD
HB_ULONG ulBase = hb_stackGetPrivateStack()->count;
HB_SIZE ulBase = hb_stackGetPrivateStack()->count;
/* Find the variable with a requested name that is currently visible
* Start from the top of the stack.
@@ -749,7 +749,7 @@ static void hb_memvarRelease( HB_ITEM_PTR pMemvar )
static void hb_memvarReleaseWithMask( const char *szMask, HB_BOOL bInclude )
{
HB_STACK_TLS_PRELOAD
HB_ULONG ulBase, ulCount;
HB_SIZE ulBase, ulCount;
PHB_DYNS pDynVar;
PHB_ITEM pMemvar;
@@ -784,7 +784,7 @@ static int hb_memvarScopeGet( PHB_DYNS pDynVar )
else
{
HB_STACK_TLS_PRELOAD
HB_ULONG ulBase = hb_stackGetPrivateStack()->count; /* start from the top of the stack */
HB_SIZE ulBase = hb_stackGetPrivateStack()->count; /* start from the top of the stack */
while( ulBase )
{
@@ -865,7 +865,7 @@ static HB_DYNS_FUNC( hb_memvarCountPublics )
return HB_TRUE;
}
static HB_ULONG hb_memvarGetBaseOffset( int iProcLevel )
static HB_SIZE hb_memvarGetBaseOffset( int iProcLevel )
{
HB_STACK_TLS_PRELOAD
@@ -874,7 +874,7 @@ static HB_ULONG hb_memvarGetBaseOffset( int iProcLevel )
int iLevel = hb_stackCallDepth();
if( iProcLevel < iLevel )
{
HB_LONG lOffset = hb_stackBaseProcOffset( iLevel - iProcLevel - 1 );
HB_ISIZ lOffset = hb_stackBaseProcOffset( iLevel - iProcLevel - 1 );
if( lOffset > 0 )
return hb_stackItem( lOffset )->item.asSymbol.stackstate->ulPrivateBase;
}
@@ -885,7 +885,7 @@ static HB_ULONG hb_memvarGetBaseOffset( int iProcLevel )
/* Count the number of variables with given scope
*/
static int hb_memvarCount( int iScope, int iLevel )
static HB_ISIZ hb_memvarCount( int iScope, int iLevel )
{
HB_TRACE(HB_TR_DEBUG, ("hb_memvarCount(%d,%d)", iScope, iLevel));
@@ -964,7 +964,7 @@ static HB_ITEM_PTR hb_memvarDebugVariable( int iScope, int iPos, const char ** p
else
{
HB_STACK_TLS_PRELOAD
if( ( HB_ULONG ) iPos < hb_stackGetPrivateStack()->count )
if( ( HB_SIZE ) iPos < hb_stackGetPrivateStack()->count )
{
HB_DYNS_PTR pDynSym = hb_stackGetPrivateStack()->stack[ iPos ].pDynSym;
@@ -1216,7 +1216,7 @@ HB_FUNC( __MVDBGINFO )
int iCount = hb_pcount();
if( iCount == 1 || iCount == 2 ) /* request for a number of variables */
hb_retni( hb_memvarCount( hb_parni( 1 ), hb_parni( 2 ) ) );
hb_retns( hb_memvarCount( hb_parni( 1 ), hb_parni( 2 ) ) );
else if( iCount > 2 ) /* request for a value of variable */
{
@@ -1730,7 +1730,7 @@ HB_FUNC( __MVRESTORE )
HB_FUNC( __MVSETBASE )
{
HB_STACK_TLS_PRELOAD
long lOffset = hb_stackBaseProcOffset( 0 );
HB_ISIZ lOffset = hb_stackBaseProcOffset( 0 );
if( lOffset > 0 )
hb_stackItem( lOffset )->item.asSymbol.stackstate->ulPrivateBase =

View File

@@ -89,7 +89,7 @@ HB_FUNC( PROCNAME )
HB_FUNC( PROCLINE )
{
long lOffset = hb_stackBaseProcOffset( hb_parni( 1 ) + 1 );
HB_ISIZ lOffset = hb_stackBaseProcOffset( hb_parni( 1 ) + 1 );
if( lOffset > 0 )
hb_retni( hb_stackItem( lOffset )->item.asSymbol.stackstate->uiLineNo );
@@ -120,7 +120,7 @@ HB_FUNC( PROCFILE )
}
else
{
long lOffset = hb_stackBaseProcOffset( hb_parni( 1 ) + 1 );
HB_ISIZ lOffset = hb_stackBaseProcOffset( hb_parni( 1 ) + 1 );
if( lOffset > 0 )
{
@@ -153,7 +153,7 @@ HB_FUNC( PROCFILE )
#define HB_PROCBUF_LEN ( HB_SYMBOL_NAME_LEN + HB_SYMBOL_NAME_LEN + 4 )
char * hb_procname( int iLevel, char * szName, HB_BOOL fMethodName )
{
long lOffset = hb_stackBaseProcOffset( iLevel );
HB_ISIZ lOffset = hb_stackBaseProcOffset( iLevel );
szName[ 0 ] = '\0';
if( lOffset > 0 )
@@ -167,7 +167,7 @@ char * hb_procname( int iLevel, char * szName, HB_BOOL fMethodName )
pBase->item.asSymbol.value == &hb_symEval &&
pBase->item.asSymbol.stackstate->uiClass )
{
long lPrevOffset = hb_stackItem( lOffset )->item.asSymbol.stackstate->lBaseItem;
HB_ISIZ lPrevOffset = hb_stackItem( lOffset )->item.asSymbol.stackstate->lBaseItem;
if( hb_stackItem( lPrevOffset )->item.asSymbol.stackstate->uiClass ==
pBase->item.asSymbol.stackstate->uiClass &&
@@ -223,7 +223,7 @@ char * hb_procname( int iLevel, char * szName, HB_BOOL fMethodName )
*/
HB_BOOL hb_procinfo( int iLevel, char * szName, HB_USHORT * puiLine, char * szFile )
{
long lOffset = hb_stackBaseProcOffset( iLevel );
HB_ISIZ lOffset = hb_stackBaseProcOffset( iLevel );
if( lOffset > 0 )
{

View File

@@ -57,7 +57,7 @@
HB_FUNC( HB_PVALUE )
{
HB_LONG lOffset = hb_stackBaseItem()->item.asSymbol.stackstate->lBaseItem;
HB_ISIZ lOffset = hb_stackBaseItem()->item.asSymbol.stackstate->lBaseItem;
HB_USHORT uiParam = ( HB_USHORT ) hb_parni( 1 );
if( uiParam && uiParam <= hb_stackItem( lOffset )->item.asSymbol.paramcnt )

View File

@@ -439,7 +439,7 @@ static PHRB_BODY hb_hrbLoad( const char * szHrbBody, HB_SIZE ulBodySize, HB_USHO
memcpy( ( char * ) pDynFunc[ ul ].pCode, szHrbBody + ulBodyOffset, ulSize );
ulBodyOffset += ulSize;
pDynFunc[ ul ].pCodeFunc = (PHB_PCODEFUNC) hb_xgrab( sizeof( HB_PCODEFUNC ) );
pDynFunc[ ul ].pCodeFunc = ( PHB_PCODEFUNC ) hb_xgrab( sizeof( HB_PCODEFUNC ) );
pDynFunc[ ul ].pCodeFunc->pCode = pDynFunc[ ul ].pCode;
pDynFunc[ ul ].pCodeFunc->pSymbols = pSymRead;
}