]> granicus.if.org Git - gc/commitdiff
2006-04-28 Hans Boehm <Hans.Boehm@hp.com>
authorhboehm <hboehm>
Fri, 28 Apr 2006 23:37:11 +0000 (23:37 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:37 +0000 (21:06 +0400)
* include/private/gcconfig.h: Rationalize setting of GWW_VDB and MPROTECT_VDB
for win32.

include/private/gcconfig.h

index 0e4d4b2153a0a67af907f4eb2d8bcd65c9c87934..8b3f64f9b7af70acf896774a4c6da1562d5338e8 100644 (file)
  * Each architecture may also define the style of virtual dirty bit
  * implementation to be used:
  *   MPROTECT_VDB: Write protect the heap and catch faults.
+ *   GWW_VDB: Use win32 GetWriteWatch primitive.
  *   PROC_VDB: Use the SVR4 /proc primitives to read dirty bits.
  *
+ * The first and second one may be combined, in which case a runtime
+ * selection will be made, based on GetWriteWatch availability.
+ *
  * An architecture may define DYNAMIC_LOADING if dynamic_load.c
  * defined GC_register_dynamic_libraries() for the architecture.
  *
 #      define OS_TYPE "MSWIN32"
                /* STACKBOTTOM and DATASTART are handled specially in   */
                /* os_dep.c.                                            */
-#       if !defined(__WATCOMC__) && !defined(GC_WIN32_THREADS)
+#       if !defined(__WATCOMC__)
 #        define MPROTECT_VDB
+         /* We also avoided doing this in the past with GC_WIN32_THREADS */
+         /* Hopefully that's fixed.                                      */
 #      endif
 #      if _MSC_VER >= 1300  /* .NET, i.e. > VisualStudio 6     */
 #         define GWW_VDB
-#      else
-#        define MPROTECT_VDB
 #      endif
 #       define DATAEND  /* not needed */
 #   endif