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 */
+
|