Hi, Felix Rabe <[EMAIL PROTECTED]> writes:
> In file included from SqueakProxy.o.c:569: > vmProxy.c: In function ‘pop’: > vmProxy.c:17: warning: implicit declaration of function ‘_send’ > make: *** [SqueakProxy.o] Error 1 I've fixed this error in my experimental Oean branch (see http://vpri.org/fonc_wiki/Sources). Attached is what I believe is the relevant part of http://fig.org/ocean/.hg/patches/struct-send-fixes.patch Good luck, -- Michael FIG <[EMAIL PROTECTED]> //\ http://michael.fig.org/ \// diff -r 7b078983ae0b object/examples/sqvm/vmProxy.c --- a/object/examples/sqvm/vmProxy.c Wed Apr 23 12:17:46 2008 -0600 +++ b/object/examples/sqvm/vmProxy.c Wed Apr 23 12:19:45 2008 -0600 @@ -5,7 +5,7 @@ #define _O(I) ((oop)((I) << 1 | 1)) #define _I(O) ((int)(O) >> 1) -#define VM(S, ARGS...) ((int)_send(s_##S, vm, ## ARGS)) +#define VM(S, N, ARGS...) ((int)_sendv(s_##S, N, vm, ## ARGS)) static oop vm= 0; @@ -14,7 +14,7 @@ static int minorVersion(void) { r static int minorVersion(void) { return VM_PROXY_MINOR; } static int majorVersion(void) { return VM_PROXY_MAJOR; } /* InterpreterProxy methodsFor: 'stack access' */ -static int pop(int nItems) { return VM(pop_, _O(nItems)); } +static int pop(int nItems) { return VM(pop_, 1, _O(nItems)); } static int popthenPush(int nItems, int oop) { MISSING; } static int push(int object) { MISSING; } static int pushBool(int trueOrFalse) { MISSING; } @@ -24,32 +24,32 @@ static int stackIntegerValue(int offset) static int stackIntegerValue(int offset) { MISSING; } static int stackObjectValue(int offset) { MISSING; } -static int stackValue(int offset) { return (int)VM(stackValue_, _O(offset)); } +static int stackValue(int offset) { return (int)VM(stackValue_, 1, _O(offset)); } /* InterpreterProxy methodsFor: 'object access' */ static int argumentCountOf(int methodPointer) { MISSING; } static void * arrayValueOf(int oop) { MISSING; } -static int byteSizeOf(int objectPointer) { return _I(VM(byteSizeOf_, objectPointer)); } +static int byteSizeOf(int objectPointer) { return _I(VM(byteSizeOf_, 1, objectPointer)); } static void * fetchArrayofObject(int fieldIndex, int objectPointer) { MISSING; } static int fetchClassOf(int oop) { MISSING; } static double fetchFloatofObject(int fieldIndex, int objectPointer) { MISSING; } -static int fetchIntegerofObject(int fieldIndex, int objectPointer) { return _I(VM(fetchInteger_ofObject_, _O(fieldIndex), objectPointer)); } - -static int fetchPointerofObject(int fieldIndex, int objectPointer) { return VM(fetchPointer_ofObject_, _O(fieldIndex), objectPointer); } +static int fetchIntegerofObject(int fieldIndex, int objectPointer) { return _I(VM(fetchInteger_ofObject_, 2, _O(fieldIndex), objectPointer)); } + +static int fetchPointerofObject(int fieldIndex, int objectPointer) { return VM(fetchPointer_ofObject_, 2, _O(fieldIndex), objectPointer); } static int fetchWordofObject(int fieldFieldIndex, int oop) { MISSING; } static void * firstFixedField(int oop) { MISSING; } -static void * firstIndexableField(int objectPointer) { return (void *)VM(firstIndexableField_, objectPointer); } +static void * firstIndexableField(int objectPointer) { return (void *)VM(firstIndexableField_, 1, objectPointer); } static int literalofMethod(int offset, int methodPointer) { MISSING; } static int literalCountOf(int methodPointer) { MISSING; } -static int methodArgumentCount(void) { return _I(VM(methodArgumentCount)); } +static int methodArgumentCount(void) { return _I(VM(methodArgumentCount, 0)); } static int methodPrimitiveIndex(void) { MISSING; } static int primitiveIndexOf(int methodPointer) { MISSING; } static int sizeOfSTArrayFromCPrimitive(void *cPtr) { MISSING; } -static int slotSizeOf(int objectPointer) { return _I(VM(slotSizeOf_, objectPointer)); } +static int slotSizeOf(int objectPointer) { return _I(VM(slotSizeOf_, 1, objectPointer)); } static int stObjectat(int array, int fieldIndex) { MISSING; } static int stObjectatput(int array, int fieldIndex, int value) { MISSING; } static int stSizeOf(int oop) { MISSING; } @@ -63,10 +63,10 @@ static int isIndexable(int oop) { static int isIndexable(int oop) { MISSING; } static int isIntegerObject(int objectPointer) { MISSING; } static int isIntegerValue(int intValue) { MISSING; } -static int isPointers(int objectPointer) { return VM(isPointers_, objectPointer); } +static int isPointers(int objectPointer) { return VM(isPointers_, 1, objectPointer); } static int isWeak(int oop) { MISSING; } -static int isWords(int objectPointer) { return VM(isWords_, objectPointer); } -static int isWordsOrBytes(int objectPointer) { return VM(isWordsOrBytes_, objectPointer); } +static int isWords(int objectPointer) { return VM(isWords_, 1, objectPointer); } +static int isWordsOrBytes(int objectPointer) { return VM(isWordsOrBytes_, 1, objectPointer); } /* InterpreterProxy methodsFor: 'converting' */ static int booleanValueOf(int obj) { MISSING; } static int checkedIntegerValueOf(int intOop) { MISSING; } @@ -78,11 +78,11 @@ static int positive32BitValueOf(int oop) static int positive32BitValueOf(int oop) { MISSING; } /* InterpreterProxy methodsFor: 'special objects' */ -static int characterTable(void) { return VM(characterTable); } -static int displayObject(void) { return VM(displayObject); } -static int falseObject(void) { return VM(falseObject); } -static int nilObject(void) { return VM(nilObject); } -static int trueObject(void) { return VM(trueObject); } +static int characterTable(void) { return VM(characterTable, 0); } +static int displayObject(void) { return VM(displayObject, 0); } +static int falseObject(void) { return VM(falseObject, 0); } +static int nilObject(void) { return VM(nilObject, 0); } +static int trueObject(void) { return VM(trueObject, 0); } /* InterpreterProxy methodsFor: 'special classes' */ @@ -106,15 +106,15 @@ static int becomewith(int array1, int ar static int becomewith(int array1, int array2) { MISSING; } static int byteSwapped(int w) { MISSING; } -static int failed(void) { return !!VM(failed); } +static int failed(void) { return !!VM(failed, 0); } static int fullDisplayUpdate(void) { MISSING; } static int fullGC(void) { MISSING; } static int incrementalGC(void) { MISSING; } -static int primitiveFail(void) { return VM(primitiveFail); } - -static int showDisplayBitsLeftTopRightBottom(int aForm, int l, int t, int r, int b) { return VM(showDisplayBits_l_t_r_b_, aForm, _O(l), _O(t), _O(r), _O(b)); } +static int primitiveFail(void) { return VM(primitiveFail, 0); } + +static int showDisplayBitsLeftTopRightBottom(int aForm, int l, int t, int r, int b) { return VM(showDisplayBits_l_t_r_b_, 5, aForm, _O(l), _O(t), _O(r), _O(b)); } static int signalSemaphoreWithIndex(int semaIndex) { MISSING; } static int success(int aBoolean) { MISSING; } static int superclassOf(int classPointer) { MISSING; } _______________________________________________ fonc mailing list [email protected] http://vpri.org/mailman/listinfo/fonc
