(M8930): Separate J90-3522 and C3-3067.
[chise/xemacs-chise.git-] / src / ntheap.c
index be34002..8f9984e 100644 (file)
@@ -111,7 +111,7 @@ get_data_end (void)
 static char *
 allocate_heap (void)
 {
-  /* The base address for our GNU malloc heap is chosen in conjuction
+  /* The base address for our GNU malloc heap is chosen in conjunction
      with the link settings for temacs.exe which control the stack size,
      the initial default process heap size and the executable image base
      address.  The link settings and the malloc heap base below must all
@@ -148,7 +148,8 @@ allocate_heap (void)
      still a pretty decent arena to play in!  */
 
   unsigned long base = 0x01B00000;   /*  27MB */
-  unsigned long end  = 1 << VALBITS; /* 256MB */
+  /* Temporary hack for the non-starting problem - use 28 (256Mb) rather than VALBITS (1Gb) */
+  unsigned long end  = 1 << 28;      /* 256MB */
   void *ptr = NULL;
 
 #define NTHEAP_PROBE_BASE 1
@@ -189,20 +190,6 @@ sbrk (unsigned long increment)
       if (!data_region_base)
        return NULL;
 
-#ifndef USE_MINIMAL_TAGBITS
-      /* Ensure that the addresses don't use the upper tag bits since
-        the Lisp type goes there.  */
-#ifdef USE_UNION_TYPE
-      if (((unsigned long) data_region_base & ~((1U << VALBITS) - 1)) != 0)
-#else
-      if (((unsigned long) data_region_base & ~VALMASK) != 0)
-#endif
-       {
-         printf ("Error: The heap was allocated in upper memory.\n");
-         exit (1);
-       }
-#endif
-
       data_region_end = data_region_base;
       real_data_region_end = data_region_end;
       data_region_size = get_reserved_heap_size ();
@@ -261,7 +248,7 @@ sbrk (unsigned long increment)
   return result;
 }
 
-#ifndef CANNOT_DUMP
+#if !defined (CANNOT_DUMP) && !defined(HEAP_IN_DATA)
 
 /* Recreate the heap from the data that was dumped to the executable.
    EXECUTABLE_PATH tells us where to find the executable.  */