XEmacs 21.2.28 "Hermes".
[chise/xemacs-chise.git.1] / src / ntheap.c
index be34002..8e54bc8 100644 (file)
@@ -38,38 +38,10 @@ unsigned long syspage_mask = 0;
 int edata;
 int etext;
 
-/* The major and minor versions of NT.  */
-int nt_major_version;
-int nt_minor_version;
-
-/* Distinguish between Windows NT and Windows 95.  */
-int os_subtype;
-
 /* Cache information describing the NT system for later use.  */
 void
 cache_system_info (void)
 {
-  union 
-    {
-      struct info 
-       {
-         char  major;
-         char  minor;
-         short platform;
-       } info;
-      DWORD data;
-    } version;
-
-  /* Cache the version of the operating system.  */
-  version.data = GetVersion ();
-  nt_major_version = version.info.major;
-  nt_minor_version = version.info.minor;
-
-  if (version.info.platform & 0x8000)
-    os_subtype = OS_WIN95;
-  else
-    os_subtype = OS_NT;
-
   /* Cache page size, allocation unit, processor type, etc.  */
   GetSystemInfo (&sysinfo_cache);
   syspage_mask = sysinfo_cache.dwPageSize - 1;
@@ -111,7 +83,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 +120,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 +162,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 +220,7 @@ sbrk (unsigned long increment)
   return result;
 }
 
-#ifndef CANNOT_DUMP
+#if !defined (CANNOT_DUMP) && !defined(HEAP_IN_DATA) && !defined(PDUMP)
 
 /* Recreate the heap from the data that was dumped to the executable.
    EXECUTABLE_PATH tells us where to find the executable.  */