Changeset 13881
- Timestamp:
- Jun 24, 2010, 4:52:00 AM (14 years ago)
- File:
-
- 1 edited
-
trunk/source/lisp-kernel/pmcl-kernel.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/lisp-kernel/pmcl-kernel.c
r13792 r13881 2293 2293 natural nbytes = nconses>>dnode_shift, have; 2294 2294 BytePtr p = a->high-nbytes; 2295 Boolean crossed_notify_threshold = false; 2296 LispObj before_shrink, after_shrink; 2295 2297 2296 2298 if (p < a->active) { 2297 2299 untenure_from_area(tenured_area); 2298 2300 gc_from_xp(xp, 0L); 2301 did_gc_notification_since_last_full_gc = false; 2299 2302 } 2300 2303 2301 2304 have = unbox_fixnum(lisp_global(FREE_STATIC_CONSES)); 2302 2305 if (have < nconses) { 2303 if ((a->high-a->active)>nbytes) { 2306 before_shrink = a->high-a->active; 2307 if (before_shrink>nbytes) { 2304 2308 shrink_dynamic_area(nbytes); 2309 after_shrink = a->high-a->active; 2310 if ((before_shrink >= lisp_heap_notify_threshold) && 2311 (after_shrink < lisp_heap_notify_threshold)) { 2312 crossed_notify_threshold = true; 2313 } 2305 2314 } 2306 2315 allocate_static_conses(nconses); 2307 2316 tcr->bytes_allocated += nbytes; 2308 2317 } 2318 if (crossed_notify_threshold && !did_gc_notification_since_last_full_gc) { 2319 callback_for_gc_notification(xp,tcr); 2320 } 2309 2321 } 2310 2322
Note:
See TracChangeset
for help on using the changeset viewer.
