[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Some thoughts about GS

From: Christian Edward Gruber
Subject: Re: Some thoughts about GS
Date: Fri, 5 Jan 2001 13:09:56 -0500

Actually, it is (AFAIK) a part of the fundamental bytecode definition of the
spec.  Now if you're gjc'ing, it's irrelevant, but for proper, bytecoded
binaries, object method tables are indeed in vtables.

Additionally, I may be wrong about introspection. I often pair the two as
they usually are used hand-in-hand.  Though now that I think of it, how
would you find method named  "doIt" in a v-table except to go to external
sources? With Objective-C you would do parse the selector string to get rid
of extraneous bits, then hash it and check against the object's method list,
then it's parent's, etc. it seems to me.

I'm not a low-level guru here, so if I am mistaken, I would be grateful to
be edified.  This knowledge was passed on to me from someone intimately
familiar with both Objective-C internals and the Java VM spec, but things
may have gotten lost in translation.


----- Original Message -----
From: "Helge Hess" <address@hidden>
To: "Christian Edward Gruber" <address@hidden>
Cc: <address@hidden>; <address@hidden>
Sent: Friday, January 05, 2001 1:03 PM
Subject: Re: Some thoughts about GS

> Christian Edward Gruber wrote:
> > P.S.  Oh, and Java may have better reflection _classes_, but lookups are
> > 5-10x slower for dynamic invocation, owing to static v-table messaging
> > selector hash lookups. Better object hierarchy, but infrastructure is
> Please explain ! What has reflection to do with v-tables and selector
> hash lookups ?
> You mean dynamic invocation is slower ? This is certainly implementation
> dependend, eg there is nothing which prevents using the same method
> invocation mechanism in a JVM (that is, mapping functions to selectors).
> No one forces you to use vtables in JVMs.
> Greetings
>   Helge
> --
> SKYRIX Software AG - http://www.skyrix.com

reply via email to

[Prev in Thread] Current Thread [Next in Thread]