dispatchFunctionPointer in
Interpreter>>executeNewMethodFromCache?
John M McIntosh
johnmci at smalltalkconsulting.com
Tue Dec 28 03:50:20 UTC 2004
The sq.h you have should have
/* typedef and macro to handle primitive dispatch
* the primitive table is now a table and we jump direct to the
function */
typedef int (*fptr) (void);
#define dispatchFunctionPointerOnin(index, table) (((int (*) (void))
((table)[(index)])) ())
#define dispatchFunctionPointer(fnPtr) ((int (*) (void)) fnPtr) ()
The rest of the code is generated in interp.c via changes found in some
flavor of VMMaker. Check which version of VMMaker you have and if you
have generated a new interp.c file
On Dec 27, 2004, at 7:38 PM, Phil Hargett wrote:
> I'm using a Squeak 3.8g 6527 image on Mac OS X. I've built my VM from
> Ian Pumarta's latest stable Unix VM sources.
>
> With those same sources, i've loaded the latest VM into my image and
> regenerated the VM sources. WIth the exception of a small number of
> other fixes that I understand, I can't figure out is supposed to
> happen when methods in the VM invoke dispatchFunctionPointer (and in
> some cases, dispatchFunctionPointerOnIn). The way I read this, the
> generated VM should just make a function call to a function passed as
> an argument (or looked up in a table using in an index).
>
> I found a reference in June '04 to John Mc putting
> "dispatchFunctionPointer" support into his VM, based on Tim's changes.
> Anybody have any idea what dispatchFunctionPointer and
> dispatchFunctionPointerOnIn should do? My VM doesn't link because
> these functions are missing.
>
> Thanks in advance!
>
>
>
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Squeak-dev
mailing list
|