Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/17/84; site bcsaic.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxt!houxm!vax135!cornell!uw-beaver!ssc-vax!bcsaic!michaelm
From: michaelm@bcsaic.UUCP (michael b maxwell)
Newsgroups: net.lang.lisp
Subject: problem w/ declare localf in Frantz on SUNs
Message-ID: <291@bcsaic.UUCP>
Date: Thu, 12-Sep-85 17:54:16 EDT
Article-I.D.: bcsaic.291
Posted: Thu Sep 12 17:54:16 1985
Date-Received: Fri, 20-Sep-85 04:26:03 EDT
Organization: Boeing Computer Services AI Center, Seattle
Lines: 18

We have a Frantz LISP program which is entirely contained in a single
file.  I decided to experiment with various things to speed it up, one
of which was using (declare (localf func1 func2...)), where all the func's 
are listed except the one I call at the top level.  The program bombs
with the error message "Illegal instruction (core dumped)" on the SUN.
I have a rough idea of where the failure occurs; it seems to have to do
with either/both the fact that we're using defstruct (it fails when a 
certain function tries to access a record in the structure) and the fact 
that we have several "special" variables.  Short of trying to figure out 
something from the coredump, I'm at a loss.  
Furthermore, the same program runs happily on our VAX (which is running 
Ultrix), although it doesn't give the promised speed-up (we have
translink set to on; are localf and translink somehow doing the same
thing?).  Since the SUN is running BSD 4.2, this seems strange...
Any ideas?  Has anyone else had this problem?
-- 
Mike Maxwell
	Any wrong opinions expressed in the above are someone else's fault.