diff --git a/src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c b/src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c index b6ecd4be85..191842de92 100644 --- a/src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c +++ b/src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c @@ -1,9 +1,9 @@ /* Automatically generated by - VMPluginCodeGenerator VMMaker.oscog-eem.3310 uuid: ccb9d141-68dd-4a1a-86b9-906b72753322 + VMPluginCodeGenerator VMMaker.oscog-eem.3315 uuid: 9f1219c6-2ad5-4cb2-9e1d-572ad6ec934b from - ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3310 uuid: ccb9d141-68dd-4a1a-86b9-906b72753322 + ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3315 uuid: 9f1219c6-2ad5-4cb2-9e1d-572ad6ec934b */ -static char __buildInfo[] = "ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3310 uuid: ccb9d141-68dd-4a1a-86b9-906b72753322 " __DATE__ ; +static char __buildInfo[] = "ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3315 uuid: 9f1219c6-2ad5-4cb2-9e1d-572ad6ec934b " __DATE__ ; #include "config.h" @@ -177,7 +177,7 @@ static char __buildInfo[] = "ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3310 #define MaxNumArgs 15 #define NumFloatRegArgs 8 #define NumIntRegArgs 8 -#define PluginVersionInfo " VMMaker.oscog-eem.3310" +#define PluginVersionInfo " VMMaker.oscog-eem.3315" typedef struct { char *argVector; @@ -552,7 +552,7 @@ extern sqInt trueObject(void); extern #endif struct VirtualMachine* interpreterProxy; -static const char *moduleName = "ARM64AppleFFIPlugin VMMaker.oscog-eem.3310 " INT_EXT; +static const char *moduleName = "ARM64AppleFFIPlugin VMMaker.oscog-eem.3315 " INT_EXT; /*** Macros ***/ @@ -1544,9 +1544,9 @@ ffiArgumentSpecClassin(sqInt oop, sqInt argSpec, sqInt argClass, CalloutState *c return FFIErrorCallFrameTooBig; } /* begin alignCurrentArgOf:to: */ - misAlignedBytes22 = (((sqInt)((calloutState->currentArg)))) & (7); + misAlignedBytes22 = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); if (misAlignedBytes22 != 0) { - (calloutState->currentArg = ((calloutState->currentArg)) + (8 - misAlignedBytes22)); + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes22)); } memcpy((calloutState->currentArg), ptrAddress, structSize); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize); @@ -1623,9 +1623,9 @@ ffiArgumentSpecClassin(sqInt oop, sqInt argSpec, sqInt argClass, CalloutState *c return FFIErrorCallFrameTooBig; } /* begin alignCurrentArgOf:to: */ - misAlignedBytes31 = (((sqInt)((calloutState->currentArg)))) & (7); + misAlignedBytes31 = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); if (misAlignedBytes31 != 0) { - (calloutState->currentArg = ((calloutState->currentArg)) + (8 - misAlignedBytes31)); + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes31)); } memcpy((calloutState->currentArg), ptrAddress, structSize1); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize1); @@ -2956,9 +2956,9 @@ ffiPushStructureContentsOfin(sqInt oop, CalloutState *calloutState) return FFIErrorCallFrameTooBig; } /* begin alignCurrentArgOf:to: */ - misAlignedBytes2 = (((sqInt)((calloutState->currentArg)))) & (7); + misAlignedBytes2 = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); if (misAlignedBytes2 != 0) { - (calloutState->currentArg = ((calloutState->currentArg)) + (8 - misAlignedBytes2)); + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes2)); } memcpy((calloutState->currentArg), ptrAddress, structSize); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize); @@ -3035,9 +3035,9 @@ ffiPushStructureContentsOfin(sqInt oop, CalloutState *calloutState) return FFIErrorCallFrameTooBig; } /* begin alignCurrentArgOf:to: */ - misAlignedBytes3 = (((sqInt)((calloutState->currentArg)))) & (7); + misAlignedBytes3 = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); if (misAlignedBytes3 != 0) { - (calloutState->currentArg = ((calloutState->currentArg)) + (8 - misAlignedBytes3)); + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes3)); } memcpy((calloutState->currentArg), ptrAddress, structSize1); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize1); diff --git a/src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c b/src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c index 317a722205..0d4653143b 100644 --- a/src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c +++ b/src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c @@ -1,9 +1,9 @@ /* Automatically generated by - VMPluginCodeGenerator VMMaker.oscog-eem.3310 uuid: ccb9d141-68dd-4a1a-86b9-906b72753322 + VMPluginCodeGenerator VMMaker.oscog-eem.3315 uuid: 9f1219c6-2ad5-4cb2-9e1d-572ad6ec934b from - ThreadedARM64FFIPlugin VMMaker.oscog-eem.3310 uuid: ccb9d141-68dd-4a1a-86b9-906b72753322 + ThreadedARM64FFIPlugin VMMaker.oscog-eem.3315 uuid: 9f1219c6-2ad5-4cb2-9e1d-572ad6ec934b */ -static char __buildInfo[] = "ThreadedARM64FFIPlugin VMMaker.oscog-eem.3310 uuid: ccb9d141-68dd-4a1a-86b9-906b72753322 " __DATE__ ; +static char __buildInfo[] = "ThreadedARM64FFIPlugin VMMaker.oscog-eem.3315 uuid: 9f1219c6-2ad5-4cb2-9e1d-572ad6ec934b " __DATE__ ; #include "config.h" @@ -177,7 +177,7 @@ static char __buildInfo[] = "ThreadedARM64FFIPlugin VMMaker.oscog-eem.3310 uuid: #define MaxNumArgs 15 #define NumFloatRegArgs 8 #define NumIntRegArgs 8 -#define PluginVersionInfo " VMMaker.oscog-eem.3310" +#define PluginVersionInfo " VMMaker.oscog-eem.3315" typedef struct { char *argVector; @@ -552,7 +552,7 @@ extern sqInt trueObject(void); extern #endif struct VirtualMachine* interpreterProxy; -static const char *moduleName = "ARM64FFIPlugin VMMaker.oscog-eem.3310 " INT_EXT; +static const char *moduleName = "ARM64FFIPlugin VMMaker.oscog-eem.3315 " INT_EXT; /*** Macros ***/ @@ -1266,6 +1266,8 @@ ffiArgumentSpecClassin(sqInt oop, sqInt argSpec, sqInt argClass, CalloutState *c sqInt isStringObj; sqInt isStruct; sqInt length; + sqInt misAlignedBytes; + sqInt misAlignedBytes1; sqInt nilOop; sqInt oopClass; char *pointer; @@ -1390,7 +1392,11 @@ ffiArgumentSpecClassin(sqInt oop, sqInt argSpec, sqInt argClass, CalloutState *c if ((((calloutState->currentArg)) + roundedSize) > ((calloutState->limit))) { return FFIErrorCallFrameTooBig; } - alignCurrentArgOfto(calloutState, 8); + /* begin alignCurrentArgOf:to: */ + misAlignedBytes = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); + if (misAlignedBytes != 0) { + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes)); + } memcpy((calloutState->currentArg), ptrAddress, structSize); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize); } @@ -1460,7 +1466,11 @@ ffiArgumentSpecClassin(sqInt oop, sqInt argSpec, sqInt argClass, CalloutState *c if ((((calloutState->currentArg)) + roundedSize1) > ((calloutState->limit))) { return FFIErrorCallFrameTooBig; } - alignCurrentArgOfto(calloutState, 8); + /* begin alignCurrentArgOf:to: */ + misAlignedBytes1 = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); + if (misAlignedBytes1 != 0) { + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes1)); + } memcpy((calloutState->currentArg), ptrAddress, structSize1); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize1); } @@ -2563,6 +2573,8 @@ ffiPushStructureContentsOfin(sqInt oop, CalloutState *calloutState) sqInt argSpecSize1; sqInt availableRegisterSpace; sqInt availableRegisterSpace1; + sqInt misAlignedBytes; + sqInt misAlignedBytes1; void *ptrAddress; sqInt ptrClass; sqInt roundedSize; @@ -2616,7 +2628,11 @@ ffiPushStructureContentsOfin(sqInt oop, CalloutState *calloutState) if ((((calloutState->currentArg)) + roundedSize) > ((calloutState->limit))) { return FFIErrorCallFrameTooBig; } - alignCurrentArgOfto(calloutState, 8); + /* begin alignCurrentArgOf:to: */ + misAlignedBytes = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); + if (misAlignedBytes != 0) { + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes)); + } memcpy((calloutState->currentArg), ptrAddress, structSize); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize); } @@ -2686,7 +2702,11 @@ ffiPushStructureContentsOfin(sqInt oop, CalloutState *calloutState) if ((((calloutState->currentArg)) + roundedSize1) > ((calloutState->limit))) { return FFIErrorCallFrameTooBig; } - alignCurrentArgOfto(calloutState, 8); + /* begin alignCurrentArgOf:to: */ + misAlignedBytes1 = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); + if (misAlignedBytes1 != 0) { + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes1)); + } memcpy((calloutState->currentArg), ptrAddress, structSize1); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize1); } diff --git a/src/plugins/SqueakFFIPrims/RiscV64FFIPlugin.c b/src/plugins/SqueakFFIPrims/RiscV64FFIPlugin.c index e73a12f6d3..46c9d75a51 100644 --- a/src/plugins/SqueakFFIPrims/RiscV64FFIPlugin.c +++ b/src/plugins/SqueakFFIPrims/RiscV64FFIPlugin.c @@ -1,9 +1,9 @@ /* Automatically generated by - VMPluginCodeGenerator VMMaker.oscog-eem.3310 uuid: ccb9d141-68dd-4a1a-86b9-906b72753322 + VMPluginCodeGenerator VMMaker.oscog-eem.3315 uuid: 9f1219c6-2ad5-4cb2-9e1d-572ad6ec934b from - ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3310 uuid: ccb9d141-68dd-4a1a-86b9-906b72753322 + ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3315 uuid: 9f1219c6-2ad5-4cb2-9e1d-572ad6ec934b */ -static char __buildInfo[] = "ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3310 uuid: ccb9d141-68dd-4a1a-86b9-906b72753322 " __DATE__ ; +static char __buildInfo[] = "ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3315 uuid: 9f1219c6-2ad5-4cb2-9e1d-572ad6ec934b " __DATE__ ; #include "config.h" @@ -177,7 +177,7 @@ static char __buildInfo[] = "ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3310 uui #define MaxNumArgs 15 #define NumFloatRegArgs 8 #define NumIntRegArgs 8 -#define PluginVersionInfo " VMMaker.oscog-eem.3310" +#define PluginVersionInfo " VMMaker.oscog-eem.3315" typedef struct { char *argVector; @@ -551,7 +551,7 @@ extern sqInt trueObject(void); extern #endif struct VirtualMachine* interpreterProxy; -static const char *moduleName = "RiscV64FFIPlugin VMMaker.oscog-eem.3310 " INT_EXT; +static const char *moduleName = "RiscV64FFIPlugin VMMaker.oscog-eem.3315 " INT_EXT; /*** Macros ***/ @@ -1282,6 +1282,8 @@ ffiArgumentSpecClassin(sqInt oop, sqInt argSpec, sqInt argClass, CalloutState *c sqInt isStringObj; sqInt isStruct; sqInt length; + sqInt misAlignedBytes; + sqInt misAlignedBytes1; sqInt nilOop; sqInt oopClass; char *pointer; @@ -1406,7 +1408,11 @@ ffiArgumentSpecClassin(sqInt oop, sqInt argSpec, sqInt argClass, CalloutState *c if ((((calloutState->currentArg)) + roundedSize) > ((calloutState->limit))) { return FFIErrorCallFrameTooBig; } - alignCurrentArgOfto(calloutState, 8); + /* begin alignCurrentArgOf:to: */ + misAlignedBytes = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); + if (misAlignedBytes != 0) { + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes)); + } memcpy((calloutState->currentArg), ptrAddress, structSize); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize); } @@ -1476,7 +1482,11 @@ ffiArgumentSpecClassin(sqInt oop, sqInt argSpec, sqInt argClass, CalloutState *c if ((((calloutState->currentArg)) + roundedSize1) > ((calloutState->limit))) { return FFIErrorCallFrameTooBig; } - alignCurrentArgOfto(calloutState, 8); + /* begin alignCurrentArgOf:to: */ + misAlignedBytes1 = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); + if (misAlignedBytes1 != 0) { + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes1)); + } memcpy((calloutState->currentArg), ptrAddress, structSize1); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize1); } @@ -2596,6 +2606,8 @@ ffiPushStructureContentsOfin(sqInt oop, CalloutState *calloutState) sqInt argSpecSize1; sqInt availableRegisterSpace; sqInt availableRegisterSpace1; + sqInt misAlignedBytes; + sqInt misAlignedBytes1; void *ptrAddress; sqInt ptrClass; sqInt roundedSize; @@ -2649,7 +2661,11 @@ ffiPushStructureContentsOfin(sqInt oop, CalloutState *calloutState) if ((((calloutState->currentArg)) + roundedSize) > ((calloutState->limit))) { return FFIErrorCallFrameTooBig; } - alignCurrentArgOfto(calloutState, 8); + /* begin alignCurrentArgOf:to: */ + misAlignedBytes = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); + if (misAlignedBytes != 0) { + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes)); + } memcpy((calloutState->currentArg), ptrAddress, structSize); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize); } @@ -2719,7 +2735,11 @@ ffiPushStructureContentsOfin(sqInt oop, CalloutState *calloutState) if ((((calloutState->currentArg)) + roundedSize1) > ((calloutState->limit))) { return FFIErrorCallFrameTooBig; } - alignCurrentArgOfto(calloutState, 8); + /* begin alignCurrentArgOf:to: */ + misAlignedBytes1 = (((sqInt)((calloutState->currentArg)))) & (BytesPerWord - 1); + if (misAlignedBytes1 != 0) { + (calloutState->currentArg = ((calloutState->currentArg)) + (BytesPerWord - misAlignedBytes1)); + } memcpy((calloutState->currentArg), ptrAddress, structSize1); (calloutState->currentArg = ((calloutState->currentArg)) + roundedSize1); }