[m-dev.] faster higher order call

Fergus Henderson fjh at cs.mu.oz.au
Tue Jun 24 18:38:12 AEST 1997


Thomas Charles CONWAY, you wrote:
> Fergus Henderson, you write:
> > I am a bit worried that reversing the order of argument passing might
> > have a significantly detrimental impact on efficiency.
> 
> This would only be the case for predicates with more input arguments
> than there are real rN registers. Thus, on the alpha, it would be unlikely
> to slow down most predicates, and on the x86 it would slow down almost
> all predicates. :-(

Even on the Alpha it would impose significant slowdown.
Actually the Alpha is second worst: only the first four arguments go in registers.

>From configure.in:

	case "$host" in
		i?86-*)
			# NUM_REAL_REGS=3
			# but succip and sp are real regs, so subtract 2
			NUM_REAL_R_REGS=1
			;;
		alpha-*)
			# NUM_REAL_REGS=7
			# but succip, sp, and hp are real regs, so subtract 3
			NUM_REAL_R_REGS=4
			;;
		mips-*)
			# NUM_REAL_REGS=8
			# but succip, sp, and hp are real regs, so subtract 3
			NUM_REAL_R_REGS=5
			;;
		rs6000-*)
			# NUM_REAL_REGS=10
			# but succip, sp, hp, maxfr, and curfr are real regs,
			# so subtract 5
			NUM_REAL_R_REGS=5
			;;
		sparc-*)
			# NUM_REAL_REGS=10
			# but succip, sp, hp, maxfr, and curfr are real regs,
			# so subtract 5
			NUM_REAL_R_REGS=5
			;;
		hppa-*)
			# NUM_REAL_REGS=8
			# but succip, sp, and hp are real regs, so subtract 3
			NUM_REAL_R_REGS=5
			;;

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list