From 59a257f1b2e67af2d1f263ca613b440ee964abee Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 22 Jun 2010 03:39:16 +0000 Subject: [PATCH] 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. --- harbour/ChangeLog | 27 +++++++++++++++++++++++++ harbour/include/hbapi.h | 10 +++++----- harbour/include/hbstack.h | 38 +++++++++++++++++------------------ harbour/src/vm/arrays.c | 2 +- harbour/src/vm/classes.c | 20 +++++++++---------- harbour/src/vm/debug.c | 22 ++++++++++---------- harbour/src/vm/estack.c | 42 +++++++++++++++++++-------------------- harbour/src/vm/eval.c | 22 ++++++++++---------- harbour/src/vm/hvm.c | 18 ++++++++--------- harbour/src/vm/memvars.c | 30 ++++++++++++++-------------- harbour/src/vm/proc.c | 10 +++++----- harbour/src/vm/pvalue.c | 2 +- harbour/src/vm/runner.c | 2 +- 13 files changed, 136 insertions(+), 109 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 72e2f5fe9b..7f9c117db0 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -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 diff --git a/harbour/include/hbapi.h b/harbour/include/hbapi.h index bd1df97fa4..5c9bfaad9b 100644 --- a/harbour/include/hbapi.h +++ b/harbour/include/hbapi.h @@ -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 ); diff --git a/harbour/include/hbstack.h b/harbour/include/hbstack.h index 7fe4a6c0fb..14c0eab6bc 100644 --- a/harbour/include/hbstack.h +++ b/harbour/include/hbstack.h @@ -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 diff --git a/harbour/src/vm/arrays.c b/harbour/src/vm/arrays.c index cd93775d81..afa3ebd3d0 100644 --- a/harbour/src/vm/arrays.c +++ b/harbour/src/vm/arrays.c @@ -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)); diff --git a/harbour/src/vm/classes.c b/harbour/src/vm/classes.c index 47b8c58849..f2b7a22cdf 100644 --- a/harbour/src/vm/classes.c +++ b/harbour/src/vm/classes.c @@ -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 ) diff --git a/harbour/src/vm/debug.c b/harbour/src/vm/debug.c index 6dc962cbd0..2bf9830b57 100644 --- a/harbour/src/vm/debug.c +++ b/harbour/src/vm/debug.c @@ -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$ hb_stackLen( ) * $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(); diff --git a/harbour/src/vm/estack.c b/harbour/src/vm/estack.c index 126c580075..ad55734350 100644 --- a/harbour/src/vm/estack.c +++ b/harbour/src/vm/estack.c @@ -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()")); diff --git a/harbour/src/vm/eval.c b/harbour/src/vm/eval.c index 1005d3fcb1..31c1267418 100644 --- a/harbour/src/vm/eval.c +++ b/harbour/src/vm/eval.c @@ -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; } } } diff --git a/harbour/src/vm/hvm.c b/harbour/src/vm/hvm.c index 029d2f73e9..7195f50635 100644 --- a/harbour/src/vm/hvm.c +++ b/harbour/src/vm/hvm.c @@ -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 ) { diff --git a/harbour/src/vm/memvars.c b/harbour/src/vm/memvars.c index ea8bddc201..7259cbec2b 100644 --- a/harbour/src/vm/memvars.c +++ b/harbour/src/vm/memvars.c @@ -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 = diff --git a/harbour/src/vm/proc.c b/harbour/src/vm/proc.c index 7eca3bf2da..97eee12ac5 100644 --- a/harbour/src/vm/proc.c +++ b/harbour/src/vm/proc.c @@ -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 ) { diff --git a/harbour/src/vm/pvalue.c b/harbour/src/vm/pvalue.c index 95b60a63e8..f567c9c1c6 100644 --- a/harbour/src/vm/pvalue.c +++ b/harbour/src/vm/pvalue.c @@ -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 ) diff --git a/harbour/src/vm/runner.c b/harbour/src/vm/runner.c index bdb84315ea..cbbde9d52d 100644 --- a/harbour/src/vm/runner.c +++ b/harbour/src/vm/runner.c @@ -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; }