diff --git a/libjava/ChangeLog b/libjava/ChangeLog index f4c80560c52184c76170d3c5ea8e5d9b0294eb73..fc8b4a67c5d6df3984f716eedc367e3b5cae114b 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 33800edb410dfba97d3d0a1404742de0bd22d1b7..2ecad740d9341245156f6c54d7e0bda454f227b2 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 6e6c63399234d9b5aace7db117a7f17b12620e58..6b37d55eb90d1002dab15e743295eed6697a45c0 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; }