HCoop
/
bpt
/
emacs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(run-python): Fix use of \n.
[bpt/emacs.git]
/
src
/
vm-limit.c
diff --git
a/src/vm-limit.c
b/src/vm-limit.c
index
b23beeb
..
0dc8909
100644
(file)
--- a/
src/vm-limit.c
+++ b/
src/vm-limit.c
@@
-50,8
+50,12
@@
static void (*warn_function) ();
static void
check_memory_limits ()
{
static void
check_memory_limits ()
{
+#ifdef REL_ALLOC
+ extern POINTER (*real_morecore) ();
+#endif
extern POINTER (*__morecore) ();
extern POINTER (*__morecore) ();
+
register POINTER cp;
unsigned long five_percent;
unsigned long data_size;
register POINTER cp;
unsigned long five_percent;
unsigned long data_size;
@@
-61,13
+65,18
@@
check_memory_limits ()
five_percent = lim_data / 20;
/* Find current end of memory and issue warning if getting near max */
five_percent = lim_data / 20;
/* Find current end of memory and issue warning if getting near max */
+#ifdef REL_ALLOC
+ if (real_morecore)
+ cp = (char *) (*real_morecore) (0);
+ else
+#endif
cp = (char *) (*__morecore) (0);
data_size = (char *) cp - (char *) data_space_start;
if (warn_function)
switch (warnlevel)
{
cp = (char *) (*__morecore) (0);
data_size = (char *) cp - (char *) data_space_start;
if (warn_function)
switch (warnlevel)
{
- case 0:
+ case 0:
if (data_size > five_percent * 15)
{
warnlevel++;
if (data_size > five_percent * 15)
{
warnlevel++;
@@
-75,7
+84,7
@@
check_memory_limits ()
}
break;
}
break;
- case 1:
+ case 1:
if (data_size > five_percent * 17)
{
warnlevel++;
if (data_size > five_percent * 17)
{
warnlevel++;
@@
-83,7
+92,7
@@
check_memory_limits ()
}
break;
}
break;
- case 2:
+ case 2:
if (data_size > five_percent * 19)
{
warnlevel++;
if (data_size > five_percent * 19)
{
warnlevel++;
@@
-130,4
+139,12
@@
memory_warnings (start, warnfun)
warn_function = warnfun;
__after_morecore_hook = check_memory_limits;
warn_function = warnfun;
__after_morecore_hook = check_memory_limits;
+
+#ifdef WINDOWSNT
+ /* Force data limit to be recalculated on each run. */
+ lim_data = 0;
+#endif
}
}
+
+/* arch-tag: eab04eda-1f69-447a-8d9f-95f0a3983ca5
+ (do not change this comment) */