Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!emory!wuarchive!hsdndev!husc6!clp@home.HarvardSq.COM From: clp@home.HarvardSq.COM (Charles L. Perkins) Newsgroups: comp.sys.next Subject: Why LISP and plenty of other O-O languages won't run on the 68040. Message-ID: <6074@husc6.harvard.edu> Date: 20 Mar 91 02:35:01 GMT Sender: news@husc6.harvard.edu Lines: 21 I was talking a few days back to the Scheme people at MIT and a Self person from Stanford when the following problems was elucidated. Apparently NeXT makes the 68040 cache flush "unavailable" at user level (or at least only available through an obscure trap you must ask them about). Without working cache flushes, code segments already run by the CPU cannot be safely moved by the garbage collector; it doesn't know this, and WHAM! your system blows it's brains out. All Lisp and most modern O-O languages have a GC that moves code around, so they are all vulnerable. Scheme is being patched as we speak. Who knows about Common Lisp? Or Self? Or...(fill in your favorite higher-level language)? GJS went as far to suggest that new REALLY high performance chips optimized for C may not even have a way to flush their caches, since who moves code anyway!?! Even the NeXT's new loadable object stuff would break under this kind of hardware parochialism. UNIX/C is nice, but I hope super-SPARCs in the future don't throw away the last twenty years of language development! Charles