[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] trunk r113939: Change size of static heap on Cygwin; repor
From: |
Ken Brown |
Subject: |
[Emacs-diffs] trunk r113939: Change size of static heap on Cygwin; report maximum usage after dumping. |
Date: |
Sun, 18 Aug 2013 17:37:43 +0000 |
User-agent: |
Bazaar (2.6b2) |
------------------------------------------------------------
revno: 113939
revision-id: address@hidden
parent: address@hidden
committer: Ken Brown <address@hidden>
branch nick: trunk
timestamp: Sun 2013-08-18 13:37:31 -0400
message:
Change size of static heap on Cygwin; report maximum usage after dumping.
* src/sheap.c (STATIC_HEAP_SIZE): Adjust to current needs; use bigger
static heap if ENABLE_CHECKING is defined.
(max_bss_sbrk_ptr): New variable.
(bss_sbrk): Use it.
(report_sheap_usage): Report maximum static heap usage instead of
ending static heap usage.
modified:
src/ChangeLog changelog-20091113204419-o5vbwnq5f7feedwu-1438
src/sheap.c sheap.c-20091113204419-o5vbwnq5f7feedwu-3009
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2013-08-17 17:18:07 +0000
+++ b/src/ChangeLog 2013-08-18 17:37:31 +0000
@@ -1,3 +1,12 @@
+2013-08-18 Ken Brown <address@hidden>
+
+ * sheap.c (STATIC_HEAP_SIZE): Adjust to current needs; use bigger
+ static heap if ENABLE_CHECKING is defined.
+ (max_bss_sbrk_ptr): New variable.
+ (bss_sbrk): Use it.
+ (report_sheap_usage): Report maximum static heap usage instead of
+ ending static heap usage.
+
2013-08-17 Eli Zaretskii <address@hidden>
* decompress.c (Fzlib_available_p) [WINDOWSNT]: Update the value
=== modified file 'src/sheap.c'
--- a/src/sheap.c 2013-07-09 13:56:47 +0000
+++ b/src/sheap.c 2013-08-18 17:37:31 +0000
@@ -26,10 +26,18 @@
#include <unistd.h>
#ifdef __x86_64__
+#ifdef ENABLE_CHECKING
+#define STATIC_HEAP_SIZE (28 * 1024 * 1024)
+#else
+#define STATIC_HEAP_SIZE (19 * 1024 * 1024)
+#endif
+#else /* x86 */
+#ifdef ENABLE_CHECKING
#define STATIC_HEAP_SIZE (18 * 1024 * 1024)
#else
#define STATIC_HEAP_SIZE (13 * 1024 * 1024)
#endif
+#endif /* x86 */
int debug_sheap = 0;
@@ -37,6 +45,7 @@
char bss_sbrk_buffer[STATIC_HEAP_SIZE];
char *bss_sbrk_ptr;
+char *max_bss_sbrk_ptr;
int bss_sbrk_did_unexec;
void *
@@ -44,7 +53,7 @@
{
if (!bss_sbrk_ptr)
{
- bss_sbrk_ptr = bss_sbrk_buffer;
+ max_bss_sbrk_ptr = bss_sbrk_ptr = bss_sbrk_buffer;
#ifdef CYGWIN
sbrk (BLOCKSIZE); /* force space for fork to work */
#endif
@@ -85,6 +94,8 @@
if (debug_sheap)
printf ("allocated 0x%08x size %d\n", ret, request_size);
bss_sbrk_ptr += (int) request_size;
+ if (bss_sbrk_ptr > max_bss_sbrk_ptr)
+ max_bss_sbrk_ptr = bss_sbrk_ptr;
return ret;
}
}
@@ -93,8 +104,8 @@
report_sheap_usage (int die_if_pure_storage_exceeded)
{
char buf[200];
- sprintf (buf, "Static heap usage: %d of %d bytes",
- bss_sbrk_ptr - bss_sbrk_buffer, STATIC_HEAP_SIZE);
+ sprintf (buf, "Maximum static heap usage: %d of %d bytes",
+ max_bss_sbrk_ptr - bss_sbrk_buffer, STATIC_HEAP_SIZE);
/* Don't log messages, cause at this point, we're not allowed to create
buffers. */
message1_nolog (buf);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] trunk r113939: Change size of static heap on Cygwin; report maximum usage after dumping.,
Ken Brown <=