"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