2010-02-06 14:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

* src/vm/garbage.c
  * src/vm/fm.c
  * src/vm/vm.c
  * include/hbapi.h
    * ULONG -> HB_SIZE in memory allocation functions.
This commit is contained in:
Viktor Szakats
2010-02-06 13:01:10 +00:00
parent 112766347d
commit 78e66614b8
5 changed files with 45 additions and 38 deletions

View File

@@ -17,6 +17,13 @@
past entries belonging to author(s): Viktor Szakats.
*/
2010-02-06 14:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/garbage.c
* src/vm/fm.c
* src/vm/vm.c
* include/hbapi.h
* ULONG -> HB_SIZE in memory allocation functions.
2010-02-06 12:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/rdd/dbf1.c
* src/compiler/hbopt.c

View File

@@ -486,11 +486,11 @@ extern HB_SYMB hb_symEval;
extern HB_EXPORT void hb_xinit( void ); /* Initialize fixed memory subsystem */
extern HB_EXPORT void hb_xexit( void ); /* Deinitialize fixed memory subsystem */
extern HB_EXPORT void * hb_xalloc( ULONG ulSize ); /* allocates memory, returns NULL on failure */
extern HB_EXPORT void * hb_xgrab( ULONG ulSize ) HB_MALLOC_ATTR HB_ALLOC_SIZE_ATTR( 1 ); /* allocates memory, exits on failure */
extern HB_EXPORT void * hb_xalloc( HB_SIZE ulSize ); /* allocates memory, returns NULL on failure */
extern HB_EXPORT void * hb_xgrab( HB_SIZE ulSize ) HB_MALLOC_ATTR HB_ALLOC_SIZE_ATTR( 1 ); /* allocates memory, exits on failure */
extern HB_EXPORT void hb_xfree( void * pMem ); /* frees memory */
extern HB_EXPORT void * hb_xrealloc( void * pMem, ULONG ulSize ) HB_ALLOC_SIZE_ATTR( 2 ); /* reallocates memory */
extern HB_EXPORT ULONG hb_xsize( void * pMem ); /* returns the size of an allocated memory block */
extern HB_EXPORT void * hb_xrealloc( void * pMem, HB_SIZE ulSize ) HB_ALLOC_SIZE_ATTR( 2 ); /* reallocates memory */
extern HB_EXPORT HB_SIZE hb_xsize( void * pMem ); /* returns the size of an allocated memory block */
extern HB_EXPORT ULONG hb_xquery( int iMode ); /* Query different types of memory information */
extern HB_EXPORT HB_BOOL hb_xtraced( void );
extern HB_EXPORT void hb_xsetfilename( const char * szValue );
@@ -506,7 +506,7 @@ extern void hb_xRefInc( void * pMem ); /* increment reference counter *
extern HB_BOOL hb_xRefDec( void * pMem ); /* decrement reference counter, return HB_TRUE when 0 reached */
extern void hb_xRefFree( void * pMem ); /* decrement reference counter and free the block when 0 reached */
extern HB_COUNTER hb_xRefCount( void * pMem ); /* return number of references */
extern void * hb_xRefResize( void * pMem, ULONG ulSave, ULONG ulSize, ULONG * pulAllocated ); /* reallocates memory, create copy if reference counter greater then 1 */
extern void * hb_xRefResize( void * pMem, HB_SIZE ulSave, HB_SIZE ulSize, HB_SIZE * pulAllocated ); /* reallocates memory, create copy if reference counter greater then 1 */
#if 0
@@ -550,22 +550,22 @@ extern HB_EXPORT void * hb_xmemset( void * pDestArg, int iFill, HB_SIZE ulLen );
/* virtual memory */
typedef ULONG HB_VMHANDLE;
extern HB_EXPORT HB_VMHANDLE hb_xvalloc( ULONG nSize, USHORT nFlags );
extern HB_EXPORT HB_VMHANDLE hb_xvalloc( HB_SIZE nSize, USHORT nFlags );
extern HB_EXPORT void hb_xvfree( HB_VMHANDLE h );
extern HB_EXPORT HB_VMHANDLE hb_xvrealloc( HB_VMHANDLE h, ULONG nSize, USHORT nFlags );
extern HB_EXPORT HB_VMHANDLE hb_xvrealloc( HB_VMHANDLE h, HB_SIZE nSize, USHORT nFlags );
extern HB_EXPORT void * hb_xvlock( HB_VMHANDLE h );
extern HB_EXPORT void hb_xvunlock( HB_VMHANDLE h );
extern HB_EXPORT void * hb_xvwire( HB_VMHANDLE h );
extern HB_EXPORT void hb_xvunwire( HB_VMHANDLE h );
extern HB_EXPORT ULONG hb_xvlockcount( HB_VMHANDLE h );
extern HB_EXPORT ULONG hb_xvsize( HB_VMHANDLE h );
extern HB_EXPORT HB_VMHANDLE hb_xvheapnew( ULONG nSize );
extern HB_EXPORT HB_SIZE hb_xvlockcount( HB_VMHANDLE h );
extern HB_EXPORT HB_SIZE hb_xvsize( HB_VMHANDLE h );
extern HB_EXPORT HB_VMHANDLE hb_xvheapnew( HB_SIZE nSize );
extern HB_EXPORT void hb_xvheapdestroy( HB_VMHANDLE h );
extern HB_EXPORT HB_VMHANDLE hb_xvheapresize( HB_VMHANDLE h, ULONG nSize );
extern HB_EXPORT ULONG hb_xvheapalloc( HB_VMHANDLE h, ULONG nSize );
extern HB_EXPORT void hb_xvheapfree( HB_VMHANDLE h, ULONG nOffset );
extern HB_EXPORT void * hb_xvheaplock( HB_VMHANDLE h, ULONG nOffset );
extern HB_EXPORT void hb_xvheapunlock( HB_VMHANDLE h, ULONG nOffset );
extern HB_EXPORT HB_VMHANDLE hb_xvheapresize( HB_VMHANDLE h, HB_SIZE nSize );
extern HB_EXPORT HB_SIZE hb_xvheapalloc( HB_VMHANDLE h, HB_SIZE nSize );
extern HB_EXPORT void hb_xvheapfree( HB_VMHANDLE h, HB_SIZE nOffset );
extern HB_EXPORT void * hb_xvheaplock( HB_VMHANDLE h, HB_SIZE nOffset );
extern HB_EXPORT void hb_xvheapunlock( HB_VMHANDLE h, HB_SIZE nOffset );
/* garbage collector */
#define HB_GARBAGE_FUNC( hbfunc ) void hbfunc( void * Cargo ) /* callback function for cleaning garbage memory pointer */
@@ -579,7 +579,7 @@ typedef struct
}
HB_GC_FUNCS;
extern HB_EXPORT void * hb_gcAllocate( ULONG ulSize, const HB_GC_FUNCS * pFuncs ); /* allocates a memory controlled by the garbage collector */
extern HB_EXPORT void * hb_gcAllocate( HB_SIZE ulSize, const HB_GC_FUNCS * pFuncs ); /* allocates a memory controlled by the garbage collector */
extern HB_EXPORT void hb_gcFree( void * pAlloc ); /* deallocates a memory allocated by the garbage collector */
extern HB_EXPORT void * hb_gcLock( void * pAlloc ); /* do not release passed memory block */
extern HB_EXPORT void * hb_gcUnlock( void * pAlloc ); /* passed block is allowed to be released */
@@ -593,13 +593,13 @@ extern PHB_ITEM hb_gcGripGet( HB_ITEM_PTR pItem );
extern void hb_gcGripDrop( HB_ITEM_PTR pItem );
#ifdef HB_LEGACY_LEVEL2
extern HB_EXPORT void * hb_gcAlloc( ULONG ulSize, HB_GARBAGE_FUNC_PTR pCleanupFunc );
extern HB_EXPORT void * hb_gcAlloc( HB_SIZE ulSize, HB_GARBAGE_FUNC_PTR pCleanupFunc );
#endif
#ifdef _HB_API_INTERNAL_
extern const HB_GC_FUNCS * hb_gcFuncs( void *pBlock ); /* return cleanup function pointer */
extern void hb_gcAttach( void * pBlock );
extern void * hb_gcAllocRaw( ULONG ulSize, const HB_GC_FUNCS * pFuncs ); /* allocates a memory controlled by the garbage collector */
extern void * hb_gcAllocRaw( HB_SIZE ulSize, const HB_GC_FUNCS * pFuncs ); /* allocates a memory controlled by the garbage collector */
extern void hb_gcGripMark( void * Cargo ); /* mark complex variables inside given item as used */
extern void hb_gcItemRef( HB_ITEM_PTR pItem ); /* mark complex variables inside given item as used */
extern void hb_vmIsStackRef( void ); /* hvm.c - mark all local variables as used */

View File

@@ -270,7 +270,7 @@ static HB_BOOL s_fInitedFM = HB_FALSE;
typedef struct _HB_MEMINFO
{
UINT32 u32Signature;
ULONG ulSize;
HB_SIZE ulSize;
USHORT uiProcLine;
char szProcName[ HB_SYMBOL_NAME_LEN + 1 ];
struct _HB_MEMINFO * pPrevBlock;
@@ -561,7 +561,7 @@ void hb_xsetinfo( const char * szValue )
#endif
}
void * hb_xalloc( ULONG ulSize ) /* allocates fixed memory, returns NULL on failure */
void * hb_xalloc( HB_SIZE ulSize ) /* allocates fixed memory, returns NULL on failure */
{
PHB_MEMINFO pMem;
@@ -647,7 +647,7 @@ void * hb_xalloc( ULONG ulSize ) /* allocates fixed memory, returns NULL
return HB_MEM_PTR( pMem );
}
void * hb_xgrab( ULONG ulSize ) /* allocates fixed memory, exits on failure */
void * hb_xgrab( HB_SIZE ulSize ) /* allocates fixed memory, exits on failure */
{
PHB_MEMINFO pMem;
@@ -733,7 +733,7 @@ void * hb_xgrab( ULONG ulSize ) /* allocates fixed memory, exits on fail
return HB_MEM_PTR( pMem );
}
void * hb_xrealloc( void * pMem, ULONG ulSize ) /* reallocates memory */
void * hb_xrealloc( void * pMem, HB_SIZE ulSize ) /* reallocates memory */
{
HB_TRACE_FM(HB_TR_DEBUG, ("hb_xrealloc(%p, %lu)", pMem, ulSize));
@@ -761,7 +761,7 @@ void * hb_xrealloc( void * pMem, ULONG ulSize ) /* reallocates memory */
else if( s_fStatistic )
{
PHB_MEMINFO pMemBlock;
ULONG ulMemSize;
HB_SIZE ulMemSize;
pMemBlock = HB_FM_PTR( pMem );
@@ -948,7 +948,7 @@ HB_COUNTER hb_xRefCount( void * pMem )
/* reallocates memory, create copy if reference counter greater then 1 */
#undef hb_xRefResize
void * hb_xRefResize( void * pMem, ULONG ulSave, ULONG ulSize, ULONG * pulAllocated )
void * hb_xRefResize( void * pMem, HB_SIZE ulSave, HB_SIZE ulSize, HB_SIZE * pulAllocated )
{
#ifdef HB_FM_STATISTICS
@@ -1002,7 +1002,7 @@ void * hb_xRefResize( void * pMem, ULONG ulSave, ULONG ulSize, ULONG * pulAlloca
/* NOTE: Debug function, it will always return 0 when HB_FM_STATISTICS is
not defined, don't use it for final code [vszakats] */
ULONG hb_xsize( void * pMem ) /* returns the size of an allocated memory block */
HB_SIZE hb_xsize( void * pMem ) /* returns the size of an allocated memory block */
{
HB_TRACE(HB_TR_DEBUG, ("hb_xsize(%p)", pMem));

View File

@@ -195,7 +195,7 @@ static void hb_gcUnlink( HB_GARBAGE_PTR *pList, HB_GARBAGE_PTR pAlloc )
}
/* allocates a memory block */
void * hb_gcAllocate( ULONG ulSize, const HB_GC_FUNCS * pFuncs )
void * hb_gcAllocate( HB_SIZE ulSize, const HB_GC_FUNCS * pFuncs )
{
HB_GARBAGE_PTR pAlloc;
@@ -225,7 +225,7 @@ void * hb_gcAllocate( ULONG ulSize, const HB_GC_FUNCS * pFuncs )
}
/* allocates a memory block */
void * hb_gcAllocRaw( ULONG ulSize, const HB_GC_FUNCS * pFuncs )
void * hb_gcAllocRaw( HB_SIZE ulSize, const HB_GC_FUNCS * pFuncs )
{
HB_GARBAGE_PTR pAlloc;
@@ -769,7 +769,7 @@ static void hb_gcAllocExit( void )
}
}
void * hb_gcAlloc( ULONG ulSize, HB_GARBAGE_FUNC_PTR pCleanupFunc )
void * hb_gcAlloc( HB_SIZE ulSize, HB_GARBAGE_FUNC_PTR pCleanupFunc )
{
HB_GC_ALLOC_FUNCS * pFuncs = s_pAllocFuncs, ** pFuncsPtr;

View File

@@ -57,7 +57,7 @@
#include "hbapi.h"
HB_VMHANDLE hb_xvalloc( ULONG nSize, USHORT nFlags )
HB_VMHANDLE hb_xvalloc( HB_SIZE nSize, USHORT nFlags )
{
/* TODO */
HB_SYMBOL_UNUSED( nSize );
@@ -71,7 +71,7 @@ void hb_xvfree( HB_VMHANDLE h )
HB_SYMBOL_UNUSED( h );
}
HB_VMHANDLE hb_xvrealloc( HB_VMHANDLE h, ULONG nSize, USHORT nFlags )
HB_VMHANDLE hb_xvrealloc( HB_VMHANDLE h, HB_SIZE nSize, USHORT nFlags )
{
/* TODO */
HB_SYMBOL_UNUSED( h );
@@ -111,14 +111,14 @@ void hb_xvunwire( HB_VMHANDLE h )
/* State */
ULONG hb_xvlockcount( HB_VMHANDLE h )
HB_SIZE hb_xvlockcount( HB_VMHANDLE h )
{
/* TODO */
HB_SYMBOL_UNUSED( h );
return 0;
}
ULONG hb_xvsize( HB_VMHANDLE h )
HB_SIZE hb_xvsize( HB_VMHANDLE h )
{
/* TODO */
HB_SYMBOL_UNUSED( h );
@@ -127,7 +127,7 @@ ULONG hb_xvsize( HB_VMHANDLE h )
/* Heap */
HB_VMHANDLE hb_xvheapnew( ULONG nSize )
HB_VMHANDLE hb_xvheapnew( HB_SIZE nSize )
{
/* TODO */
HB_SYMBOL_UNUSED( nSize );
@@ -140,7 +140,7 @@ void hb_xvheapdestroy( HB_VMHANDLE h )
HB_SYMBOL_UNUSED( h );
}
HB_VMHANDLE hb_xvheapresize( HB_VMHANDLE h, ULONG nSize )
HB_VMHANDLE hb_xvheapresize( HB_VMHANDLE h, HB_SIZE nSize )
{
/* TODO */
HB_SYMBOL_UNUSED( h );
@@ -148,7 +148,7 @@ HB_VMHANDLE hb_xvheapresize( HB_VMHANDLE h, ULONG nSize )
return 0;
}
ULONG hb_xvheapalloc( HB_VMHANDLE h, ULONG nSize )
HB_SIZE hb_xvheapalloc( HB_VMHANDLE h, HB_SIZE nSize )
{
/* TODO */
HB_SYMBOL_UNUSED( h );
@@ -156,14 +156,14 @@ ULONG hb_xvheapalloc( HB_VMHANDLE h, ULONG nSize )
return 0;
}
void hb_xvheapfree( HB_VMHANDLE h, ULONG nOffset )
void hb_xvheapfree( HB_VMHANDLE h, HB_SIZE nOffset )
{
/* TODO */
HB_SYMBOL_UNUSED( h );
HB_SYMBOL_UNUSED( nOffset );
}
void * hb_xvheaplock( HB_VMHANDLE h, ULONG nOffset )
void * hb_xvheaplock( HB_VMHANDLE h, HB_SIZE nOffset )
{
/* TODO */
HB_SYMBOL_UNUSED( h );
@@ -171,7 +171,7 @@ void * hb_xvheaplock( HB_VMHANDLE h, ULONG nOffset )
return NULL;
}
void hb_xvheapunlock( HB_VMHANDLE h, ULONG nOffset )
void hb_xvheapunlock( HB_VMHANDLE h, HB_SIZE nOffset )
{
/* TODO */
HB_SYMBOL_UNUSED( h );