Description: TODO: Put a short summary on the line above and replace this paragraph with a longer explanation of this change. Complete the meta-information with other relevant fields (see below for details). To make it easier, the information below has been extracted from the changelog. Adjust it or drop it. . gcl (2.6.12-5) unstable; urgency=medium . * Version_2_6_13pre4 Author: Camm Maguire --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: , Bug: Bug-Debian: https://bugs.debian.org/ Bug-Ubuntu: https://launchpad.net/bugs/ Forwarded: Reviewed-By: Last-Update: --- gcl-2.6.12.orig/h/page.h +++ gcl-2.6.12/h/page.h @@ -85,10 +85,8 @@ extern int sgc_enabled; extern long resv_pages; extern int reserve_pages_for_signal_handler; -/* #define CONT_MARK_PAGE (((page(heap_end)-first_data_page)*(PAGESIZE/(CPTR_SIZE*CHAR_SIZE))+PAGESIZE-1)/PAGESIZE) */ -/* #define available_pages ((fixnum)(real_maxpage-page(heap_end)-2*nrbpage-CONT_MARK_PAGE-resv_pages)) */ -extern struct pageinfo *cell_list_head,*cell_list_tail/* ,*contblock_list_head,*contblock_list_tail */; +extern struct pageinfo *cell_list_head,*cell_list_tail; extern object contblock_array; #define PAGE_MAGIC 0x2e --- gcl-2.6.12.orig/o/alloc.c +++ gcl-2.6.12/o/alloc.c @@ -506,31 +506,25 @@ rebalance_maxpages(struct typemanager *m if (j+d>phys_pages) { - ufixnum k=0; + ufixnum k,e=j+d-phys_pages; + double f; - for (i=t_start;ik+phys_pages-j ? k+phys_pages-j : d; - if (d<=0) + e=e>k ? k : e; + if (e+phys_pages-j<=0) return 0; + f=1.0-(double)e/k; + for (i=t_start;i((double)phys_pages/(j+d))*(tm_table+i==my_tm ? z : tm_table[i].tm_maxpage)) */ - /* return 0; */ - /* for (i=t_start;itm_maxpage+(phys_pages-sum_maxpages()))/(my_tm->tm_type==t_relocatable ? 2 : 1))); return 1;