"Just Curious" VM question
Andreas Raab
andreas.raab at gmx.de
Tue Sep 16 17:17:52 UTC 2003
Hi John,
> ? I'm not sure what you are referring to here,
I am referring to
http://developer.apple.com/documentation/mac/runtimehtml/RTArch-30.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2000-March/018286.htm
l
> For os-x it's a mach-o based code resources. Basically a
> cleaner method of doing calls between DLLS
> http://developer.apple.com/documentation/DeveloperTools/Conceptual/
> MachORuntime/ MachORuntime.pdf a lot more interesting things can
> happen to resolve symbols and share code, but address are rather
> direct, no jumptables. You do of course need to setup calling
> registers because that is required to find global sections, code
> data sections etc. But I don't think that is what you
> referred to, rather I think it was the 68K jump table logic? Yes?
And no ;-) I meant the associated overhead for calling functions through
pointers. I just googled for this and found this _very_ interesting bit of
information:
http://www.omnigroup.com/mailman/archive/macosx-talk/2002-October/000309.htm
l
The most important bit is this: "Mach-O has as its most important advantage,
compared to CFM, the fact that calling a function through a pointer is just
as cheap as calling a static function in the same module as the caller is."
Yay! This means that "*fooPtr()" should be as fast as "foo()" which did not
use to be the case. So we should in fact be able to switch over to a
function call instead of the (awkward) case dispatch in #primitiveResponse.
Hey, Tim, up for it? ;-)
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|