login
Header Space

 
 

Re: Kernel Development & Objective-C

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: J.A. Magall??n <jamagallon@...>
Cc: Lo??c Greni?? <loic.grenie@...>, <Ben.Crowhurst@...>, <linux-kernel@...>
Date: Friday, November 30, 2007 - 8:31 pm

On Sat, Dec 01, 2007 at 12:19:50AM +0100, J.A. Magall??n wrote:

This is not what vtables are.  Think for a minute - all codepaths arriving
to that point in your code will pick the address to call from the same
location.  Either the contents of that location is constant (in which case
you could bloody well call it directly in the first place) *or* it has to
somehow be reassigned back and forth, according to the value of this.  The
former is dumb, the latter - outright insane.

The contents of vtables is constant.  The whole point of that thing is
to deal with the situations where we _can't_ tell which derived class
this ->do_something() is from; if we could tell which vtable it is at
compile time, we wouldn't need to bother at all.

It's a tradeoff - we pay the extra memory access (fetch vtable pointer, then 
fetch method from vtable) for not having to store a slew of method pointers
in each instance of base class.  But the extra memory access is very much
there.  It can be further optimized away if you have several method calls
for the same object next to each other (then vtable can be picked once),
but it's still done at runtime.
-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Kernel Development &amp; Objective-C, Ben Crowhurst, (Thu Nov 29, 8:14 am)
Re: Kernel Development &amp; Objective-C, Chris Snook, (Fri Nov 30, 11:00 am)
Re: Kernel Development &amp; Objective-C, David Newall, (Sat Dec 1, 5:50 am)
Re: Kernel Development &amp; Objective-C, Lennart Sorensen, (Fri Nov 30, 10:34 am)
Re: Kernel Development &amp; Objective-C, Avi Kivity, (Sat Dec 1, 3:59 pm)
Re: Kernel Development &amp; Objective-C, Lennart Sorensen, (Mon Dec 3, 12:53 pm)
Re: Kernel Development &amp; Objective-C, Jörn, (Sun Dec 2, 3:44 pm)
Re: Kernel Development &amp; Objective-C, Kyle Moffett, (Fri Nov 30, 11:26 am)
Re: Kernel Development &amp; Objective-C, Avi Kivity, (Sat Dec 1, 4:03 pm)
Re: Kernel Development &amp; Objective-C, Andi Kleen, (Sun Dec 2, 3:01 pm)
Re: Kernel Development &amp; Objective-C, Avi Kivity, (Mon Dec 3, 1:12 am)
Re: Kernel Development &amp; Objective-C, Gilboa Davara, (Mon Dec 3, 8:35 am)
Re: Kernel Development &amp; Objective-C, Lennart Sorensen, (Tue Dec 4, 1:50 pm)
Re: Kernel Development &amp; Objective-C, Gilboa Davara, (Wed Dec 5, 6:31 am)
Re: Kernel Development &amp; Objective-C, Casey Schaufler, (Mon Dec 3, 12:28 pm)
Re: Kernel Development &amp; Objective-C, Gilboa Davara, (Mon Dec 3, 8:44 am)
Re: Kernel Development &amp; Objective-C, Andi Kleen, (Mon Dec 3, 5:50 am)
Re: Kernel Development &amp; Objective-C, Avi Kivity, (Mon Dec 3, 7:46 am)
Re: Kernel Development &amp; Objective-C, Willy Tarreau, (Mon Dec 3, 5:13 pm)
Re: Kernel Development &amp; Objective-C, Avi Kivity, (Tue Dec 4, 5:07 pm)
Re: Kernel Development &amp; Objective-C, Willy Tarreau, (Tue Dec 4, 6:43 pm)
Re: Kernel Development &amp; Objective-C, J.A. , (Mon Dec 3, 5:39 pm)
Re: Kernel Development &amp; Objective-C, Alan Cox, (Mon Dec 3, 5:57 pm)
Re: Kernel Development &amp; Objective-C, J.A. , (Tue Dec 4, 5:47 pm)
Re: Kernel Development &amp; Objective-C, Diego Calleja, (Tue Dec 4, 6:20 pm)
Re: Kernel Development &amp; Objective-C, Giacomo A. Catenazzi, (Wed Dec 5, 6:59 am)
Re: Kernel Development &amp; Objective-C, Andi Kleen, (Mon Dec 3, 7:50 am)
Re: Kernel Development &amp; Objective-C, H. Peter Anvin, (Fri Nov 30, 2:40 pm)
Re: Kernel Development &amp; Objective-C, Kyle Moffett, (Fri Nov 30, 3:35 pm)
Re: Kernel Development &amp; Objective-C, Matti Aarnio, (Fri Nov 30, 7:37 am)
Re: Kernel Development &amp; Objective-C, Loïc Grenié, (Fri Nov 30, 6:29 am)
Re: Kernel Development &amp; Objective-C, J.A. , (Fri Nov 30, 7:19 pm)
Re: Kernel Development &amp; Objective-C, Lennart Sorensen, (Tue Dec 4, 1:54 pm)
Re: Kernel Development &amp; Objective-C, J.A. , (Tue Dec 4, 5:24 pm)
Re: Kernel Development &amp; Objective-C, Avi Kivity, (Tue Dec 4, 5:10 pm)
Re: Kernel Development & Objective-C, Al Viro, (Fri Nov 30, 8:31 pm)
Re: Kernel Development &amp; Objective-C, Avi Kivity, (Sat Dec 1, 3:55 pm)
Re: Kernel Development &amp; Objective-C, J.A. , (Fri Nov 30, 9:09 pm)
Re: Kernel Development &amp; Objective-C, Al Viro, (Fri Nov 30, 8:34 pm)
Re: Kernel Development &amp; Objective-C, Nicholas Miell, (Fri Nov 30, 7:53 pm)
Re: Kernel Development &amp; Objective-C, Ben Crowhurst, (Fri Nov 30, 7:16 am)
Re: Kernel Development &amp; Objective-C, Rogelio M. Serrano Jr., (Sat Dec 8, 4:54 am)
Re: Kernel Development &amp; Objective-C, Lennart Sorensen, (Fri Nov 30, 10:37 am)
Re: Kernel Development &amp; Objective-C, Karol Swietlicki, (Fri Nov 30, 7:36 am)
Re: Kernel Development &amp; Objective-C, Xavier Bestel, (Fri Nov 30, 6:02 am)
Re: Kernel Development &amp; Objective-C, KOSAKI Motohiro, (Fri Nov 30, 6:09 am)
Re: Kernel Development &amp; Objective-C, J.A. , (Fri Nov 30, 6:52 pm)
Re: Kernel Development &amp; Objective-C, Xavier Bestel, (Fri Nov 30, 6:20 am)
Re: Kernel Development &amp; Objective-C, Jan Engelhardt, (Fri Nov 30, 6:54 am)
Re: Kernel Development &amp; Objective-C, David Newall, (Fri Nov 30, 10:21 am)
Re: Kernel Development &amp; Objective-C, Bill Davidsen, (Fri Nov 30, 7:31 pm)
Re: Kernel Development &amp; Objective-C, Alan Cox, (Fri Nov 30, 7:40 pm)
Re: Kernel Development &amp; Objective-C, Bill Davidsen, (Sat Dec 1, 2:27 pm)
Re: Kernel Development &amp; Objective-C, Alan Cox, (Sat Dec 1, 2:18 pm)
Re: Kernel Development &amp; Objective-C, Bill Davidsen, (Sun Dec 2, 9:23 pm)
Re: Kernel Development &amp; Objective-C, Arnaldo Carvalho de Melo, (Fri Nov 30, 8:05 pm)
speck-geostationary