aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/ChangeLog6
-rw-r--r--libjava/boehm.cc2
-rw-r--r--libjava/prims.cc8
3 files changed, 11 insertions, 5 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index f4c8056..fc8b4a67 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,9 @@
+1999-11-05 Jeff Sturm <jsturm@sigma6.com>
+
+ * boehm.cc (_Jv_GCSetInitialHeapSize): Swapped size & current.
+ * prims.cc (parse_heap_size): Use end, not spec. Use 1024
+ multipler for `k'.
+
1999-11-05 Tom Tromey <tromey@cygnus.com>
* java/lang/natThread.cc (stop): Removed argument name.
diff --git a/libjava/boehm.cc b/libjava/boehm.cc
index 33800ed..2ecad74 100644
--- a/libjava/boehm.cc
+++ b/libjava/boehm.cc
@@ -375,7 +375,7 @@ _Jv_GCSetInitialHeapSize (size_t size)
{
size_t current = GC_get_heap_size ();
if (size > current)
- GC_expand_hp (current - size);
+ GC_expand_hp (size - current);
}
void
diff --git a/libjava/prims.cc b/libjava/prims.cc
index 6e6c633..6b37d55 100644
--- a/libjava/prims.cc
+++ b/libjava/prims.cc
@@ -822,10 +822,10 @@ parse_heap_size (const char *spec)
{
char *end;
unsigned long val = strtoul (spec, &end, 10);
- if (*spec == 'k' || *spec == 'K')
- val *= 1000;
- else if (*spec == 'm' || *spec == 'M')
- val *= 1000000;
+ if (*end == 'k' || *end == 'K')
+ val *= 1024;
+ else if (*end == 'm' || *end == 'M')
+ val *= 1048576;
return (size_t) val;
}