develooper Front page | perl.perl6.internals | Postings from February 2001

RE: PDD 2, vtables [pointers to related documentation]

Garrett Goebel
February 7, 2001 09:40
RE: PDD 2, vtables [pointers to related documentation]
Message ID:
From: Tim Bunce []
> On Tue, Feb 06, 2001 at 12:28:23PM -0500, Dan Sugalski wrote:
> >
> > At 11:26 AM 2/6/2001 +0000, Tim Bunce wrote:
> > >
> > > On Mon, Feb 05, 2001 at 05:14:44PM -0500, Dan Sugalski wrote:
> > > >
> > > > =head2 Core datatypes
> > > >
> > > > For ease of use, we define the following semi-abstract 
> > > > data types
> > >
> > > Probably worth stating upfront that it'll be easy to add
> > > new types to avoid people arguing for their favorite type
> > > to be added here.
> > 
> > I'm not sure it should be--that'd mean extending the 
> > vtables in ways they have little room to grow. Adding new
> > perl datatypes is easy, adding new low-level types is harder.
> That's pretty much what I meant. I think it's worth saying.

Adding comments like the ones Tim is suggesting, are just what someone like
myself needs. A statement of the obvious and the context in which it fits...
for those who haven't a clue and are trying to piece together a conceptual
model of system. It saves me the conflict of deciding whether or not to
pester you all with questions or not ask, never know and continue to be my
own little mushroom.

> > > > =head1 REFERENCES
> > > >
> > > > PDD 3: Perl's Internal Data Types.
> > >
> > > Some references to any other vtable based languages would
> > > be good.(I presume people have looked at some and learnt
> > > lessons.)
> > 
> > Alas not. This is pretty much head of zeus stuff, modulo 
> > some ego. (Mine's not *that* big...)
> Without studying history we may be doomed to repeat it.
> So can anyone point to vtable based language implementations?

Well, I may be one of the least qualified subscribers on this list, but I'm
a pretty good gopher... Some of this relates to languages implementing
vtables as opposed to being implemented with them. Everything I've scanned
so far seems to raise the flag concerning overhead associated...

Title:    Portable Inheritance and Polymorphism in C
Abstract: A lower-level view that assumes only a procedural language like C
for embedded developers who want to apply OO without switching to an OO

Title:    Programming Language Pragmatics
Abstract: Mentions virtual methods and tables in Sections 10.4-5. It
discusses vtables from a high level in the general context of Eiffel,
Simula, C++, and Ada.

Title:    SableVM: A Research Framework for the Efficient
          Execution of Java Bytecode
Abstract: SableVM is an open-source virtual machine for Java2, intended as a
research framework for efficient execution of Java bytecode. The framework
is essentially composed of an extensible bytecode interpreter using
state-of-the-art and innovative techniques. Written in the C programming
language, and assuming minimal system dependencies, the interpreter
emphasizes high-level techniques to support efficient execution. In
particular, we introduce new data layouts for classes, virtual tables and
object instances that reduce the cost of interface method calls to that of
normal virtual calls, allow efficient garbage collection and light
synchronization, and make effective use of memory space. 

Title:    C++ Producer Guide
Abstract: vtable implementation in C++

Title:    C++ ABI for IA-64
Abstract: vtables layout, etc. is discussed in sections 2.5-2.6 and
scattered throughout. You can find similar information in C++ ABI
documentation for Macintosh, etc. Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About