version 1.11, 2015/08/04 06:46:29 |
version 1.15, 2018/09/06 06:20:08 |
|
|
diff -urN gc-7.4.2.orig/alloc.c gc-7.4.2/alloc.c |
diff -urN gc-7.4.2.orig/alloc.c gc-7.4.2/alloc.c |
--- gc-7.4.2.orig/alloc.c 2014-06-03 15:08:01.000000000 +0900 |
--- gc-7.4.2.orig/alloc.c 2014-06-03 15:08:01.000000000 +0900 |
+++ gc-7.4.2/alloc.c 2015-08-04 14:17:41.000000000 +0900 |
+++ gc-7.4.2/alloc.c 2015-08-25 16:00:00.000000000 +0900 |
@@ -121,6 +121,7 @@ |
@@ -121,6 +121,7 @@ |
#endif |
#endif |
|
|
Line 9 diff -urN gc-7.4.2.orig/alloc.c gc-7.4.2/alloc.c |
|
Line 9 diff -urN gc-7.4.2.orig/alloc.c gc-7.4.2/alloc.c |
|
|
|
GC_INNER int GC_CALLBACK GC_never_stop_func(void) |
GC_INNER int GC_CALLBACK GC_never_stop_func(void) |
{ |
{ |
@@ -228,7 +229,7 @@ |
@@ -227,8 +228,8 @@ |
|
total_root_size = 2 * stack_size + GC_root_size; |
scan_size = 2 * GC_composite_in_use + GC_atomic_in_use / 4 |
scan_size = 2 * GC_composite_in_use + GC_atomic_in_use / 4 |
+ total_root_size; |
+ total_root_size; |
result = scan_size / GC_free_space_divisor; |
- result = scan_size / GC_free_space_divisor; |
- if (GC_incremental) { |
- if (GC_incremental) { |
|
+ result = scan_size * GC_free_space_numerator / GC_free_space_divisor; |
+ if (1 || GC_incremental) { |
+ if (1 || GC_incremental) { |
result /= 2; |
result /= 2; |
} |
} |
Line 68 diff -urN gc-7.4.2.orig/alloc.c gc-7.4.2/alloc.c |
|
Line 70 diff -urN gc-7.4.2.orig/alloc.c gc-7.4.2/alloc.c |
|
return(TRUE); |
return(TRUE); |
} |
} |
|
|
@@ -1334,6 +1343,21 @@ |
@@ -1276,7 +1285,7 @@ |
GC_bool retry = FALSE; |
} |
|
} |
|
|
if (gran == 0) return(0); |
- blocks_to_get = GC_heapsize/(HBLKSIZE*GC_free_space_divisor) |
+#if defined(_MSC_VER) |
+ blocks_to_get = GC_heapsize * GC_free_space_numerator /(HBLKSIZE*GC_free_space_divisor) |
+ { |
+ needed_blocks; |
+#include <signal.h> |
if (blocks_to_get > MAXHINCR) { |
+ extern int recv_intr; |
word slop; |
+ if ( recv_intr ) { |
|
+ if ( recv_intr == 1 ) { |
|
+ recv_intr = 0; |
|
+ int_handler(); |
|
+ } else { |
|
+ recv_intr = 0; |
|
+ ox_usr1_handler(0); |
|
+ } |
|
+ } |
|
+ } |
|
+#endif |
|
|
|
while (*flh == 0) { |
|
ENTER_GC(); |
|
diff -urN gc-7.4.2.orig/misc.c gc-7.4.2/misc.c |
diff -urN gc-7.4.2.orig/misc.c gc-7.4.2/misc.c |
--- gc-7.4.2.orig/misc.c 2014-06-03 15:08:02.000000000 +0900 |
--- gc-7.4.2.orig/misc.c 2014-06-03 15:08:02.000000000 +0900 |
+++ gc-7.4.2/misc.c 2015-08-04 14:21:02.000000000 +0900 |
+++ gc-7.4.2/misc.c 2015-08-04 14:21:02.000000000 +0900 |
Line 210 diff -urN gc-7.4.2.orig/reclaim.c gc-7.4.2/reclaim.c |
|
Line 199 diff -urN gc-7.4.2.orig/reclaim.c gc-7.4.2/reclaim.c |
|
diff -urN gc-7.4.2.orig/NT_X64_STATIC_THREADS_MAKEFILE gc-7.4.2/NT_X64_STATIC_THREADS_MAKEFILE |
diff -urN gc-7.4.2.orig/NT_X64_STATIC_THREADS_MAKEFILE gc-7.4.2/NT_X64_STATIC_THREADS_MAKEFILE |
--- gc-7.4.2.orig/NT_X64_STATIC_THREADS_MAKEFILE 2014-06-03 15:08:01.000000000 +0900 |
--- gc-7.4.2.orig/NT_X64_STATIC_THREADS_MAKEFILE 2014-06-03 15:08:01.000000000 +0900 |
+++ gc-7.4.2/NT_X64_STATIC_THREADS_MAKEFILE 2015-08-04 14:12:42.000000000 +0900 |
+++ gc-7.4.2/NT_X64_STATIC_THREADS_MAKEFILE 2015-08-04 14:12:42.000000000 +0900 |
|
@@ -3,7 +3,7 @@ |
|
|
|
MY_CPU=AMD64 |
|
CPU=$(MY_CPU) |
|
-!include <ntwin32.mak> |
|
+#!include <ntwin32.mak> |
|
|
|
# Make sure that .cc is not viewed as a suffix. It is for VC++2005, but |
|
# not earlier versions. We can deal with either, but not inconsistency. |
@@ -22,13 +22,13 @@ |
@@ -22,13 +22,13 @@ |
all: gctest.exe cord\de.exe test_cpp.exe |
all: gctest.exe cord\de.exe test_cpp.exe |
|
|
.c.obj: |
.c.obj: |
- $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE $*.c /Fo$*.obj /wd4701 |
- $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE $*.c /Fo$*.obj /wd4701 |
+ $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE -DLARGE_CONFIG $*.c /Fo$*.obj /wd4701 |
+ $(CC) -c $(CDEBUG) $(CFLAGS) $(CVARSMT) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE -DLARGE_CONFIG $*.c /Fo$*.obj /wd4701 |
# Disable "may not be initialized" warnings. They're too approximate. |
# Disable "may not be initialized" warnings. They're too approximate. |
# Disable crt security warnings, since unfortunately they warn about all sorts |
# Disable crt security warnings, since unfortunately they warn about all sorts |
# of safe uses of strncpy. It would be nice to leave the rest enabled. |
# of safe uses of strncpy. It would be nice to leave the rest enabled. |
|
|
.cpp.obj: |
.cpp.obj: |
- $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE $*.cpp /Fo$*.obj |
- $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE $*.cpp /Fo$*.obj |
+ $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE -DLARGE_CONFIG $*.cpp /Fo$*.obj |
+ $(CC) -c $(CDEBUG) $(CFLAGS) $(CVARSMT) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE -DLARGE_CONFIG $*.cpp /Fo$*.obj |
|
|
$(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h include\private\gc_locks.h include\private\gc_pmark.h include\gc_mark.h include\gc_disclaim.h include\private\msvc_dbg.h |
$(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h include\private\gc_locks.h include\private\gc_pmark.h include\gc_mark.h include\gc_disclaim.h include\private\msvc_dbg.h |
|
|
diff -urN gc-7.4.2.orig/NT_STATIC_THREADS_MAKEFILE gc-7.4.2/NT_STATIC_THREADS_MAKEFILE |
diff -urN gc-7.4.2.orig/NT_STATIC_THREADS_MAKEFILE gc-7.4.2/NT_STATIC_THREADS_MAKEFILE |
--- gc-7.4.2.orig/NT_STATIC_THREADS_MAKEFILE 2014-06-03 15:08:01.000000000 +0900 |
--- gc-7.4.2.orig/NT_STATIC_THREADS_MAKEFILE 2014-06-03 15:08:01.000000000 +0900 |
+++ gc-7.4.2/NT_STATIC_THREADS_MAKEFILE 2015-08-04 14:12:42.000000000 +0900 |
+++ gc-7.4.2/NT_STATIC_THREADS_MAKEFILE 2015-08-04 14:12:42.000000000 +0900 |
|
@@ -3,7 +3,7 @@ |
|
|
|
MY_CPU=X86 |
|
CPU=$(MY_CPU) |
|
-!include <ntwin32.mak> |
|
+#!include <ntwin32.mak> |
|
|
|
# Make sure that .cc is not viewed as a suffix. It is for VC++2005, but |
|
# not earlier versions. We can deal with either, but not inconsistency. |
@@ -22,10 +22,10 @@ |
@@ -22,10 +22,10 @@ |
all: gctest.exe cord\de.exe test_cpp.exe |
all: gctest.exe cord\de.exe test_cpp.exe |
|
|
.c.obj: |
.c.obj: |
- $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -DPARALLEL_MARK -D_CRT_SECURE_NO_DEPRECATE $*.c /Fo$*.obj |
- $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -DPARALLEL_MARK -D_CRT_SECURE_NO_DEPRECATE $*.c /Fo$*.obj |
+ $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -DPARALLEL_MARK -D_CRT_SECURE_NO_DEPRECATE -DLARGE_CONFIG $*.c /Fo$*.obj |
+ $(CC) -c $(CDEBUG) $(CFLAGS) $(CVARSMT) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -DPARALLEL_MARK -D_CRT_SECURE_NO_DEPRECATE -DLARGE_CONFIG $*.c /Fo$*.obj |
|
|
.cpp.obj: |
.cpp.obj: |
- $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE $*.cpp /Fo$*.obj |
- $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE $*.cpp /Fo$*.obj |
+ $(cc) $(cdebug) $(cflags) $(cvarsmt) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE -DLARGE_CONFIG $*.cpp /Fo$*.obj |
+ $(CC) -c $(CDEBUG) $(CFLAGS) $(CVARSMT) -Iinclude -I$(AO_INCLUDE_DIR) -DALL_INTERIOR_POINTERS -DGC_NOT_DLL -DGC_THREADS -DTHREAD_LOCAL_ALLOC -D_CRT_SECURE_NO_DEPRECATE -DLARGE_CONFIG $*.cpp /Fo$*.obj |
|
|
$(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h include\private\gc_locks.h include\private\gc_pmark.h include\gc_mark.h include\gc_disclaim.h include\private\msvc_dbg.h |
$(OBJS) tests\test.obj: include\private\gc_priv.h include\private\gc_hdrs.h include\gc.h include\private\gcconfig.h include\private\gc_locks.h include\private\gc_pmark.h include\gc_mark.h include\gc_disclaim.h include\private\msvc_dbg.h |
|
|