mit-scheme-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MIT-Scheme-devel] A tellurion for the faithful.


From: Matt Birkholz
Subject: Re: [MIT-Scheme-devel] A tellurion for the faithful.
Date: Mon, 29 Apr 2013 12:50:16 -0700

> From: Taylor R Campbell <address@hidden>
> Date: Thu, 25 Apr 2013 18:46:53 +0000
> 
> [...]
> I'd hazard a guess that it's because you stored a flonum in a local
> variable:

Oops.  I need those if I want the results to be stored back into one
of the arguments.  Yet I never found a real need for that, and now I
see there is no advantage in it.  Even if THESE saves were optimized
away, there is no guarantee many other flonums will not spill into the
heap (e.g. during 3d-multiply! with its 18 local flonum variables).

> Also, please consider fine-grained NO-TYPE-CHECKS/NO-RANGE-CHECKS
> declarations -- only in scopes where you have meticulously proven that
> the type and range checks are guaranteed not to fail.

"Meticulously proven..." Good one!  Oh you crack me up Riastradh.  Is
that the genuine advice of a berserker?  OR a hacker?

The 2 main procedures in matrices.scm were pulled from geometry.scm
specifically for the no-type-checks/no-range-checks declarations,
which were to be applied by the builder, not declared in a supposedly
portickle file.  I gave that up when I found I had plenty of other
declarations I wanted to make INSIDE files.  (Any ports will just have
to define some DECLARE syntax.)

I also found compile-file did not support the obvious way of
introducing declarations.  It overrides sf/default-declarations rather
than appending to it.  (Why is that?)

> By the way, you don't need to look at the LAP to find and destroy
> cases of FLOAT->OBJECT -- the RTL exposes that too and is much easier
> to read.

And miss all the fld/fstp fun?

You must have a wide screen.  I tend to ignore comments that trail off
into the wild right yonder.

Am I the only one itching to write ABBREVIATE-RTL, a procedure that
replaces (register 4) with (r stack), (register 7) with (r free), etc?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]