Changeset 6440 for branches/x8664-call


Ignore:
Timestamp:
May 8, 2007, 9:24:21 AM (13 years ago)
Author:
gb
Message:

In new_heap_segment(), try smaller deltas if we can't allocate
lisp_heap_gc_threshold extra bytes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/x8664-call/ccl/lisp-kernel/ppc-exceptions.c

    r6414 r6440  
    577577  if (newlimit > (natural) (a->high)) {
    578578    if (extend) {
    579       if (! resize_dynamic_heap(a->active, (newlimit-oldlimit)+lisp_heap_gc_threshold)) {
    580         return false;
    581       }
     579      natural extend_by = lisp_heap_gc_threshold;
     580      do {
     581        if (resize_dynamic_heap(a->active, (newlimit-oldlimit)+extend_by)) {
     582          break;
     583        }
     584        extend_by = align_to_power_of_2(extend_by>>1, log2_allocation_quantum);
     585        if (extend_by < 4<<20) {
     586          return false;
     587        }
     588      } while (1);
    582589    } else {
    583590      return false;
Note: See TracChangeset for help on using the changeset viewer.