Browse Source

Collector tweaks.

woollybah 6 years ago
parent
commit
1da98d7365
3 changed files with 13 additions and 12 deletions
  1. 8 8
      blitz.mod/blitz.bmx
  2. 3 2
      blitz.mod/blitz_gc.c
  3. 2 2
      blitz.mod/blitz_gc.h

+ 8 - 8
blitz.mod/blitz.bmx

@@ -54,17 +54,17 @@ ModuleInfo "History: 1.04 Release"
 ModuleInfo "History: Fixed C Compiler warnings"
 
 ?win32
-ModuleInfo "CC_OPTS: -DGC_THREADS -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE -DLARGE_CONFIG"
+ModuleInfo "CC_OPTS: -DGC_THREADS -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE -DLARGE_CONFIG -DUSE_MMAP -DUSE_MUNMAP -DGC_UNMAP_THRESHOLD=3"
 ?osx
-ModuleInfo "CC_OPTS: -DGC_THREADS -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE -DLARGE_CONFIG"
+ModuleInfo "CC_OPTS: -DGC_THREADS -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE -DLARGE_CONFIG -DUSE_MMAP -DUSE_MUNMAP -DGC_UNMAP_THRESHOLD=3"
 ?linuxx86
-ModuleInfo "CC_OPTS: -DGC_THREADS -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE -DLARGE_CONFIG"
+ModuleInfo "CC_OPTS: -DGC_THREADS -D_REENTRANT -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE -DLARGE_CONFIG -DUSE_MMAP -DUSE_MUNMAP -DGC_UNMAP_THRESHOLD=3"
 ?linuxx64
-ModuleInfo "CC_OPTS: -DGC_THREADS -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE -DLARGE_CONFIG"
+ModuleInfo "CC_OPTS: -DGC_THREADS -D_REENTRANT -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE -DLARGE_CONFIG -DUSE_MMAP -DUSE_MUNMAP -DGC_UNMAP_THRESHOLD=3"
 ?raspberrypi
-ModuleInfo "CC_OPTS: -DGC_THREADS -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE"
+ModuleInfo "CC_OPTS: -DGC_THREADS -D_REENTRANT -DPARALLEL_MARK -DATOMIC_UNCOLLECTABLE -DUSE_MMAP -DUSE_MUNMAP -DGC_UNMAP_THRESHOLD=3"
 ?android
-ModuleInfo "CC_OPTS: -DGC_THREADS -DATOMIC_UNCOLLECTABLE"
+ModuleInfo "CC_OPTS: -DGC_THREADS -D_REENTRANT -DATOMIC_UNCOLLECTABLE"
 ?emscripten
 ModuleInfo "CC_OPTS: -DATOMIC_UNCOLLECTABLE"
 ?ios
@@ -444,7 +444,7 @@ about:
 This function will have no effect if the garbage collector has been
 suspended due to #GCSuspend.
 End Rem
-Function GCCollect:Int()="bbGCCollect"
+Function GCCollect:Size_T()="bbGCCollect"
 
 Rem
 bbdoc: Run garbage collector, collecting a little
@@ -462,7 +462,7 @@ about:
 This function only returns 'managed memory'. This includes all objects, strings and
 arrays in use by the application.
 End Rem
-Function GCMemAlloced:Int()="bbGCMemAlloced"
+Function GCMemAlloced:Size_T()="bbGCMemAlloced"
 
 Rem
 bbdoc: Private: do not use

+ 3 - 2
blitz.mod/blitz_gc.c

@@ -117,8 +117,9 @@ int bbGCValidate( void *q ){
 	return 0;
 }
 
-int bbGCCollect(){
+size_t bbGCCollect(){
 	GC_gcollect();
+	return GC_get_expl_freed_bytes_since_gc();
 }
 
 int bbGCCollectALittle() {
@@ -139,7 +140,7 @@ void bbGCResume(){
 	GC_enable();
 }
 
-int bbGCMemAlloced(){
+size_t bbGCMemAlloced(){
 	return GC_get_heap_size();
 }
 

+ 2 - 2
blitz.mod/blitz_gc.h

@@ -51,8 +51,8 @@ void		bbGCSetDebug( int debug );
 void*	bbGCMalloc( int size,int flags );
 BBObject*	bbGCAllocObject( int size,BBClass *clas,int flags );
 int 		bbGCValidate( void *p );
-int		bbGCMemAlloced();
-int		bbGCCollect();
+size_t		bbGCMemAlloced();
+size_t		bbGCCollect();
 int     bbGCCollectALittle();
 void		bbGCSuspend();
 void		bbGCResume();