summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-java/icedtea/files')
-rw-r--r--dev-java/icedtea/files/6-cacao-dynmaxheap-Makefile.patch10
-rw-r--r--dev-java/icedtea/files/6-cacao-dynmaxheap.patch42
-rw-r--r--dev-java/icedtea/files/7-cacao-dynmaxheap-Makefile.patch10
-rw-r--r--dev-java/icedtea/files/7-cacao-dynmaxheap.patch42
4 files changed, 104 insertions, 0 deletions
diff --git a/dev-java/icedtea/files/6-cacao-dynmaxheap-Makefile.patch b/dev-java/icedtea/files/6-cacao-dynmaxheap-Makefile.patch
new file mode 100644
index 000000000000..dc87ae8b0242
--- /dev/null
+++ b/dev-java/icedtea/files/6-cacao-dynmaxheap-Makefile.patch
@@ -0,0 +1,10 @@
+--- Makefile.in.orig 2015-07-28 07:21:16.447388803 -0700
++++ Makefile.in 2015-09-06 09:13:16.548000000 -0700
+@@ -182,6 +182,7 @@
+ @WITH_RHINO_TRUE@ patches/rhino.patch
+
+ @BUILD_CACAO_TRUE@am__append_22 = \
++@BUILD_CACAO_TRUE@ patches/cacao/dynmaxheap.patch \
+ @BUILD_CACAO_TRUE@ patches/cacao/launcher.patch \
+ @BUILD_CACAO_TRUE@ patches/cacao/memory.patch \
+ @BUILD_CACAO_TRUE@ patches/cacao/hotspot/original/memory.patch \
diff --git a/dev-java/icedtea/files/6-cacao-dynmaxheap.patch b/dev-java/icedtea/files/6-cacao-dynmaxheap.patch
new file mode 100644
index 000000000000..33b98183769e
--- /dev/null
+++ b/dev-java/icedtea/files/6-cacao-dynmaxheap.patch
@@ -0,0 +1,42 @@
+# HG changeset patch
+# User James Le Cuirot <chewi@gentoo.org>
+# Date 1441543564 -3600
+# Sun Sep 06 13:46:04 2015 +0100
+# Node ID d0224f4490d6694e77dcb0ff7eae8e2297b822bf
+# Parent e215e36be9fc2b7dfe43ff10ec1afe639b289aa5
+Dynamically set the maximum heap size on Linux
+
+diff -r e215e36be9fc -r d0224f4490d6 src/vm/vm.cpp
+--- cacao/cacao/src/vm/vm.cpp Mon Feb 11 19:31:28 2013 +0100
++++ cacao/cacao/src/vm/vm.cpp Sun Sep 06 13:46:04 2015 +0100
+@@ -33,6 +33,10 @@
+ #include <errno.h>
+ #include <stdlib.h>
+
++#if defined(__LINUX__)
++#include <unistd.h>
++#endif
++
+ #include "vm/types.h"
+
+ #include "arch.h"
+@@ -702,6 +706,19 @@
+ opt_heapstartsize = HEAP_STARTSIZE;
+ opt_stacksize = STACK_SIZE;
+
++#if defined(__LINUX__)
++ // Calculate 1/4 of the physical memory.
++ uint64_t qmem = sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE) / 4;
++
++ if (qmem > INT32_MAX) {
++ // More than 2GB will overflow so cap it.
++ opt_heapmaxsize = 2047 * 1024 * 1024;
++ } else if (qmem > HEAP_MAXSIZE) {
++ // Otherwise use this if greater than default (128MB).
++ opt_heapmaxsize = (s4) qmem;
++ }
++#endif
++
+ // First of all, parse the -XX options.
+
+ #if defined(ENABLE_VMLOG)
diff --git a/dev-java/icedtea/files/7-cacao-dynmaxheap-Makefile.patch b/dev-java/icedtea/files/7-cacao-dynmaxheap-Makefile.patch
new file mode 100644
index 000000000000..13e30537e2ac
--- /dev/null
+++ b/dev-java/icedtea/files/7-cacao-dynmaxheap-Makefile.patch
@@ -0,0 +1,10 @@
+--- Makefile.in.orig 2015-07-22 14:54:37.116940780 -0700
++++ Makefile.in 2015-09-06 05:05:47.220000000 -0700
+@@ -134,6 +134,7 @@
+ @WITH_RHINO_TRUE@ patches/rhino.patch
+
+ @BUILD_CACAO_TRUE@am__append_10 = \
++@BUILD_CACAO_TRUE@ patches/cacao/dynmaxheap.patch \
+ @BUILD_CACAO_TRUE@ patches/cacao/launcher.patch \
+ @BUILD_CACAO_TRUE@ patches/cacao/memory.patch \
+ @BUILD_CACAO_TRUE@ patches/cacao/armhf.patch \
diff --git a/dev-java/icedtea/files/7-cacao-dynmaxheap.patch b/dev-java/icedtea/files/7-cacao-dynmaxheap.patch
new file mode 100644
index 000000000000..33b98183769e
--- /dev/null
+++ b/dev-java/icedtea/files/7-cacao-dynmaxheap.patch
@@ -0,0 +1,42 @@
+# HG changeset patch
+# User James Le Cuirot <chewi@gentoo.org>
+# Date 1441543564 -3600
+# Sun Sep 06 13:46:04 2015 +0100
+# Node ID d0224f4490d6694e77dcb0ff7eae8e2297b822bf
+# Parent e215e36be9fc2b7dfe43ff10ec1afe639b289aa5
+Dynamically set the maximum heap size on Linux
+
+diff -r e215e36be9fc -r d0224f4490d6 src/vm/vm.cpp
+--- cacao/cacao/src/vm/vm.cpp Mon Feb 11 19:31:28 2013 +0100
++++ cacao/cacao/src/vm/vm.cpp Sun Sep 06 13:46:04 2015 +0100
+@@ -33,6 +33,10 @@
+ #include <errno.h>
+ #include <stdlib.h>
+
++#if defined(__LINUX__)
++#include <unistd.h>
++#endif
++
+ #include "vm/types.h"
+
+ #include "arch.h"
+@@ -702,6 +706,19 @@
+ opt_heapstartsize = HEAP_STARTSIZE;
+ opt_stacksize = STACK_SIZE;
+
++#if defined(__LINUX__)
++ // Calculate 1/4 of the physical memory.
++ uint64_t qmem = sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE) / 4;
++
++ if (qmem > INT32_MAX) {
++ // More than 2GB will overflow so cap it.
++ opt_heapmaxsize = 2047 * 1024 * 1024;
++ } else if (qmem > HEAP_MAXSIZE) {
++ // Otherwise use this if greater than default (128MB).
++ opt_heapmaxsize = (s4) qmem;
++ }
++#endif
++
+ // First of all, parse the -XX options.
+
+ #if defined(ENABLE_VMLOG)