Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!mordor!sri-spam!ames!ucbcad!ucbvax!decvax!decwrl!pyramid!gould9!scubed!piaget!jc From: jc@piaget.UUCP (John Cornelius) Newsgroups: comp.arch Subject: Re: How does compiled code use the floa Message-ID: <132@piaget.UUCP> Date: Thu, 11-Dec-86 12:52:26 EST Article-I.D.: piaget.132 Posted: Thu Dec 11 12:52:26 1986 Date-Received: Mon, 15-Dec-86 21:17:44 EST References: <394@houxs.UUCP> <165100001@uiucdcsb> Reply-To: jc@piaget.UUCP (John Cornelius, System Manager) Organization: International Widget Lines: 20 In article <165100001@uiucdcsb> robison@uiucdcsb.cs.uiuc.edu writes: > >Code generation emits a call to a floating point library. >If the FP hardware is available, the library routine changes >(at run time) the call instruction to the equivalent hardware >instruction. This way you pay for the subroutine linkage only >on the first call. The disadvantage is that self-modifying code >is not allowed on some architectures. > I wrote microcoded floating point for a machine that is now (mercifully) out of production that did that. The floating point library actally executed an instruction that replaced the call to the library with a real floating point instruction. That was 15 years ago and I've become somewhat wiser now. In the meantime, the microcode wound up in several hundred Meta-IVs, many of which are still floating around out there. -- John Cornelius (...!sdcsvax!piaget!jc)