dispatchFunctionPointer in Interpreter>>executeNewMethodFromCache?

Tim Rowledge tim at sumeru.stanford.edu
Tue Dec 28 05:58:00 UTC 2004


In message <984E2E86-5883-11D9-915C-000D93333B80 at smalltalkconsulting.com>
          John M McIntosh <johnmci at smalltalkconsulting.com> wrote:

> 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) ()
Yup. If you don't have those in your copy of sq.h you will certainly
have problems. The only plausible route I can think of to get there is
that you have got a copy of Ian's experimental 64bit C code where the
macros are removed because he instead implemented their equivalent in
the Interpreter Smalltalk code.

The current official VMMaker release doesn't yet have any of that 64bit
stuff included. Note that to use the 64bit stuff you must start with a
copy of the VMMaker3-7b5 from SM NOT NOT the latest 3-8 version.

If you want to build from the 3-8 VMMaker you will need to suck the
code out of the new Subversion server....ah, but I'm not sure it's open
to the public yet. Ian/Andreas?

I'll get to work on merging the code sometime but it's not my day job
and I'm a bit busy currently installing a mega-dust-collector in my
workshop.(http://www.oneida-air.com/systems/2comm/2commmain.htm ) Need
to protect those lungs y'see.

tim
--
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Useful Latin Phrases:- Magister Mundi sum! = I am the Master of the Universe!



More information about the Squeak-dev mailing list