From: ceriel Date: Fri, 3 Mar 1989 17:53:31 +0000 (+0000) Subject: fixed problem with size option X-Git-Tag: release-5-5~2530 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=bb7b8d649055bce9d686b65eabbad7e8e541add6;p=ack.git fixed problem with size option --- diff --git a/util/ego/il/il.c b/util/ego/il/il.c index 72188dec6..0cc145c16 100644 --- a/util/ego/il/il.c +++ b/util/ego/il/il.c @@ -285,7 +285,6 @@ il_flags(p) while (*p != '\0') { space = 10*space +*p++ -'0'; } - space = total_size * space / 100 ; break; case 'a': complete_program = 1; @@ -306,6 +305,7 @@ main(argc,argv) mktemp(sname); mktemp(cname2); pass1(lname,bname,cname); /* grep calls, analyse procedures */ + space = total_size * space / 100 ; pass2(cname,space); /* select calls to be expanded */ pass3(lname,lname2); /* do substitutions */ f = openfile(dname2,"w"); diff --git a/util/ego/il/il2_aux.c b/util/ego/il/il2_aux.c index b4573c0cd..78187b686 100644 --- a/util/ego/il/il2_aux.c +++ b/util/ego/il/il2_aux.c @@ -254,9 +254,10 @@ assign_ratio(c) /* Extra points for constants as parameters */ if (ratio <= 0) ratio = 1; ll = c->cl_looplevel+1; + if (IS_CALLED_IN_LOOP(c->cl_caller)) ll++; /* Commented out; I don't see the point; Even if it is not called from a loop, inline expansion is better - if (ll == 1 && !IS_CALLED_IN_LOOP(c->cl_caller)) ll = 0; + if (ll == 1) ll = 0; /* If the call is not in a loop and the called proc. is never called * in a loop, ll is set to 0. */ @@ -536,6 +537,9 @@ select_calls(proclist,ccf,space) space -= (best->cl_proc->P_SIZE - space_saved(best)); } else space += space_saved(best); +#ifdef VERBOSE + if (verbose_flag) fprintf(stderr, "space left: %ld\n", space); +#endif selected(best); CHANGED(chp); }