|
From: Tim R. <row...@us...> - 2004-05-19 23:31:34
|
Update of /cvsroot/squeak/squeak/platforms/Cross/vm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29920/Cross/vm Modified Files: sqVirtualMachine.c sq.h sqVirtualMachine.h Log Message: Add support for isArray and forceInterruptCheck for 3.7 Index: sqVirtualMachine.c =================================================================== RCS file: /cvsroot/squeak/squeak/platforms/Cross/vm/sqVirtualMachine.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** sqVirtualMachine.c 18 Dec 2001 21:57:03 -0000 1.2 --- sqVirtualMachine.c 19 May 2004 23:31:21 -0000 1.3 *************** *** 65,68 **** --- 65,69 ---- int isWordsOrBytes(int oop); int includesBehaviorThatOf(int aClass, int aSuperClass); + int isArray(int oop); /* InterpreterProxy methodsFor: 'converting' */ *************** *** 125,128 **** --- 126,130 ---- int superclassOf(int classPointer); int ioMicroMSecs(void); + int forceInterruptCheck(void); /* InterpreterProxy methodsFor: 'BitBlt support' */ *************** *** 310,313 **** --- 312,320 ---- #endif + #if VM_PROXY_MINOR > 5 + VM->isArray = isArray; + VM->forceInterruptCheck = forceInterruptCheck; + #endif return VM; } + Index: sq.h =================================================================== RCS file: /cvsroot/squeak/squeak/platforms/Cross/vm/sq.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** sq.h 2 Dec 2003 04:47:02 -0000 1.12 --- sq.h 19 May 2004 23:31:21 -0000 1.13 *************** *** 9,12 **** --- 9,13 ---- * RCSID: $Id$ * + * 03/26/04 tim - add primitive dispatch macro/typedef * 11/12/03 nedkonz - float bug fix for gcc 3.3 optimization * 05/20/03 tim - move browser related macros in front of *************** *** 188,191 **** --- 189,199 ---- #define browserPluginInitialiseIfNeeded() + + /* 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) () + /* this include file may redefine earlier definitions and macros: */ #include "sqPlatformSpecific.h" *************** *** 337,341 **** /* image file and VM path names */ extern char imageName[]; ! char *getImageName(void); int imageNameGetLength(int sqImageNameIndex, int length); int imageNamePutLength(int sqImageNameIndex, int length); --- 345,349 ---- /* image file and VM path names */ extern char imageName[]; ! char *getImageName(); int imageNameGetLength(int sqImageNameIndex, int length); int imageNamePutLength(int sqImageNameIndex, int length); Index: sqVirtualMachine.h =================================================================== RCS file: /cvsroot/squeak/squeak/platforms/Cross/vm/sqVirtualMachine.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** sqVirtualMachine.h 5 May 2002 18:56:07 -0000 1.4 --- sqVirtualMachine.h 19 May 2004 23:31:22 -0000 1.5 *************** *** 10,14 **** #ifndef VM_PROXY_MINOR /* Increment the following number if you add functions at the end */ ! #define VM_PROXY_MINOR 5 #endif --- 10,14 ---- #ifndef VM_PROXY_MINOR /* Increment the following number if you add functions at the end */ ! #define VM_PROXY_MINOR 6 #endif *************** *** 191,195 **** --- 191,202 ---- #endif + #if VM_PROXY_MINOR > 5 + /* new for 1.6 */ + int (*isArray)(int oop); + int (*forceInterruptCheck)(void); + #endif + } VirtualMachine; #endif /* _SqueakVM_H */ + |