Changeset 6446 for branches/x8664-call


Ignore:
Timestamp:
May 8, 2007, 10:13:00 AM (13 years ago)
Author:
gb
Message:

x86-64 new_heap_segment: keep trying smaller values lisp_heap_gc_threshold
is too large.

File:
1 edited

Legend:

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

    r6415 r6446  
    7878  if (newlimit > (natural) (a->high)) {
    7979    if (extend) {
    80       if (! resize_dynamic_heap(a->active, (newlimit-oldlimit)+lisp_heap_gc_threshold)) {
    81         return false;
    82       }
     80      natural extend_by = lisp_heap_gc_threshold;
     81      do {
     82        if (resize_dynamic_heap(a->active, (newlimit-oldlimit)+extend_by)) {
     83          break;
     84        }
     85        extend_by = align_to_power_of_2(extend_by>>1,log2_allocation_quantum);
     86        if (extend_by < 4<<20) {
     87          return false;
     88        }
     89      } while (1);
    8390    } else {
    8491      return false;
Note: See TracChangeset for help on using the changeset viewer.