home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.unix.bsd
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!darwin.sura.net!bogus.sura.net!pandora.pix.com!stripes
- From: stripes@pix.com (Josh Osborne)
- Subject: Re: Shared lib benchmarks, and experiences
- Message-ID: <BzBB3G.EyK@pix.com>
- Sender: news@pix.com (The News Subsystem)
- Nntp-Posting-Host: pandora.pix.com
- Organization: Pix Technologies -- The company with no adult supervision
- References: <1giendINNgku@life.ai.mit.edu> <1992Dec14.231025.12627@rwwa.COM> <BzAEnE.GKq@ra.nrl.navy.mil>
- Distribution: usa
- Date: Tue, 15 Dec 1992 17:54:50 GMT
- Lines: 40
-
- In article <BzAEnE.GKq@ra.nrl.navy.mil> eric@tantalus.nrl.navy.mil (Eric Youngdale) writes:
- [...]
- > Offhand, I do not see why the number of entry points represents a
- >problem. The general structure of a sharable library under linux is that we
- >start with the jump table itself. This is usually padded to some large size to
- >accomodate future expansion. [...]
- > [...] There is no
- >reason a priori that we even need to use up the jump vector slots in any
- >particular order. We could use them randomly if we wanted to, although it
- >would serve no useful purpose to do so.
-
- Ahhh, the jump table order is user definable. Good trick, that solves alot of
- problems.
-
- [... PIC disscusion...]
-
- > There was another objection that has been raised in the past by various
- >people, and that is that in the 3/486 architecture there are relatively few
- >machine registers compared to something like a VAX. The PI code that I have
- >seen GCC generate always seems to use up one register as a reference pointer of
- >some kind or another, and when you reserve this register (usually ebx) for this
- >purpose, it is not available to the compiler for other uses, and this could
- >lead to poorer performance. I have not seen any numbers to back this up,
- >but the objection has been raised.
-
- Well, you do have some segment registers free. You wouls have to add a kernal
- call that allowed to you add entries in the segment descriptor table (and
- verifys that they are valid segments), but once that's done you could use
- "far calls" (or even change CS). I'll admit it's ugly, but it would be almost
- as fast as non-PIC code (segment loading takes a few cycles, and far calls/
- segment overide takes a extra cycle or 2, all the k-calls would be done at
- lib load time, and not be much of a problem).
-
- [...]
- --
- stripes@pix.com "Security for Unix is like
- Josh_Osborne@Real_World,The Multitasking for MS-DOS"
- "The dyslexic porgramer" - Kevin Lockwood
- We all agree on the necessity of compromise. We just can't agree on
- when it's necessary to compromise. - Larry Wall
-