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