Skip to content

Commit eff284f

Browse files
committed
CogVM source as per VMMaker.oscog-eem.3474
ThreadedFFIPlugin Fix the regression to calloutState in VMMaker.oscog-eem.3472. ffiRetSpec in an oop. N.B. this points out a bug. If ffiRetSpec's object is moved by the GC structIsHomogenousFloatArrayOfSize:typeSpec:ofLength: & registerTypeForStructSpecs:OfLength: will be invoked with garbage. ffiRetSpec should instead be retrieved from the method's first literal at return time if required.
1 parent 5fa943a commit eff284f

File tree

7 files changed

+42
-42
lines changed

7 files changed

+42
-42
lines changed

src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* Automatically generated by
2-
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
2+
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
33
(Compiler-eem.512)
44
from
5-
ThreadedARM32FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
5+
ThreadedARM32FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
66
*/
7-
static char __buildInfo[] = "ThreadedARM32FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
7+
static char __buildInfo[] = "ThreadedARM32FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;
88

99

1010
#include "config.h"
@@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedARM32FFIPlugin VMMaker.oscog-eem.3473 uuid:
178178
#define MaxNumArgs 15
179179
#define NumFloatRegArgs 16
180180
#define NumIntRegArgs 4
181-
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
181+
#define PluginVersionInfo " VMMaker.oscog-eem.3474"
182182

183183
typedef struct {
184184
char *argVector;
@@ -188,7 +188,7 @@ typedef struct {
188188
sqInt structReturnType;
189189
sqInt callFlags;
190190
unsigned int *ffiArgSpec;
191-
unsigned int *ffiRetSpec;
191+
sqInt ffiRetSpec;
192192
unsigned int ffiArgSpecSize;
193193
unsigned int ffiArgHeader;
194194
unsigned int ffiRetHeader;
@@ -520,7 +520,7 @@ extern sqInt trueObject(void);
520520
extern
521521
#endif
522522
struct VirtualMachine* interpreterProxy;
523-
static const char *moduleName = "ARM32FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
523+
static const char *moduleName = "ARM32FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
524524
static sqInt nilObj;
525525

526526

src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* Automatically generated by
2-
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
2+
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
33
(Compiler-eem.512)
44
from
5-
ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
5+
ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
66
*/
7-
static char __buildInfo[] = "ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
7+
static char __buildInfo[] = "ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;
88

99

1010
#include "config.h"
@@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3473
178178
#define MaxNumArgs 15
179179
#define NumFloatRegArgs 8
180180
#define NumIntRegArgs 8
181-
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
181+
#define PluginVersionInfo " VMMaker.oscog-eem.3474"
182182

183183
typedef struct {
184184
char *argVector;
@@ -188,7 +188,7 @@ typedef struct {
188188
sqInt structReturnType;
189189
sqInt callFlags;
190190
unsigned int *ffiArgSpec;
191-
unsigned int *ffiRetSpec;
191+
sqInt ffiRetSpec;
192192
unsigned int ffiArgSpecSize;
193193
unsigned int ffiArgHeader;
194194
unsigned int ffiRetHeader;
@@ -541,7 +541,7 @@ extern sqInt trueObject(void);
541541
extern
542542
#endif
543543
struct VirtualMachine* interpreterProxy;
544-
static const char *moduleName = "ARM64AppleFFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
544+
static const char *moduleName = "ARM64AppleFFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
545545
static sqInt nilObj;
546546

547547

src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* Automatically generated by
2-
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
2+
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
33
(Compiler-eem.512)
44
from
5-
ThreadedARM64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
5+
ThreadedARM64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
66
*/
7-
static char __buildInfo[] = "ThreadedARM64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
7+
static char __buildInfo[] = "ThreadedARM64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;
88

99

1010
#include "config.h"
@@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedARM64FFIPlugin VMMaker.oscog-eem.3473 uuid:
178178
#define MaxNumArgs 15
179179
#define NumFloatRegArgs 8
180180
#define NumIntRegArgs 8
181-
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
181+
#define PluginVersionInfo " VMMaker.oscog-eem.3474"
182182

183183
typedef struct {
184184
char *argVector;
@@ -188,7 +188,7 @@ typedef struct {
188188
sqInt structReturnType;
189189
sqInt callFlags;
190190
unsigned int *ffiArgSpec;
191-
unsigned int *ffiRetSpec;
191+
sqInt ffiRetSpec;
192192
unsigned int ffiArgSpecSize;
193193
unsigned int ffiArgHeader;
194194
unsigned int ffiRetHeader;
@@ -541,7 +541,7 @@ extern sqInt trueObject(void);
541541
extern
542542
#endif
543543
struct VirtualMachine* interpreterProxy;
544-
static const char *moduleName = "ARM64FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
544+
static const char *moduleName = "ARM64FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
545545
static sqInt nilObj;
546546

547547

src/plugins/SqueakFFIPrims/IA32FFIPlugin.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* Automatically generated by
2-
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
2+
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
33
(Compiler-eem.512)
44
from
5-
ThreadedIA32FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
5+
ThreadedIA32FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
66
*/
7-
static char __buildInfo[] = "ThreadedIA32FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
7+
static char __buildInfo[] = "ThreadedIA32FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;
88

99

1010
#include "config.h"
@@ -176,7 +176,7 @@ static char __buildInfo[] = "ThreadedIA32FFIPlugin VMMaker.oscog-eem.3473 uuid:
176176
#define FFITypeUnsignedInt64 8
177177
#define FFITypeUnsignedInt8 2
178178
#define MaxNumArgs 15
179-
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
179+
#define PluginVersionInfo " VMMaker.oscog-eem.3474"
180180

181181
typedef struct {
182182
char *argVector;
@@ -186,7 +186,7 @@ typedef struct {
186186
sqInt structReturnType;
187187
sqInt callFlags;
188188
unsigned int *ffiArgSpec;
189-
unsigned int *ffiRetSpec;
189+
sqInt ffiRetSpec;
190190
unsigned int ffiArgSpecSize;
191191
unsigned int ffiArgHeader;
192192
unsigned int ffiRetHeader;
@@ -512,7 +512,7 @@ extern sqInt trueObject(void);
512512
extern
513513
#endif
514514
struct VirtualMachine* interpreterProxy;
515-
static const char *moduleName = "IA32FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
515+
static const char *moduleName = "IA32FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
516516
static sqInt nilObj;
517517

518518

src/plugins/SqueakFFIPrims/RiscV64FFIPlugin.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* Automatically generated by
2-
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
2+
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
33
(Compiler-eem.512)
44
from
5-
ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
5+
ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
66
*/
7-
static char __buildInfo[] = "ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
7+
static char __buildInfo[] = "ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;
88

99

1010
#include "config.h"
@@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3473 uui
178178
#define MaxNumArgs 15
179179
#define NumFloatRegArgs 8
180180
#define NumIntRegArgs 8
181-
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
181+
#define PluginVersionInfo " VMMaker.oscog-eem.3474"
182182

183183
typedef struct {
184184
char *argVector;
@@ -188,7 +188,7 @@ typedef struct {
188188
sqInt structReturnType;
189189
sqInt callFlags;
190190
unsigned int *ffiArgSpec;
191-
unsigned int *ffiRetSpec;
191+
sqInt ffiRetSpec;
192192
unsigned int ffiArgSpecSize;
193193
unsigned int ffiArgHeader;
194194
unsigned int ffiRetHeader;
@@ -540,7 +540,7 @@ extern sqInt trueObject(void);
540540
extern
541541
#endif
542542
struct VirtualMachine* interpreterProxy;
543-
static const char *moduleName = "RiscV64FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
543+
static const char *moduleName = "RiscV64FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
544544
static sqInt nilObj;
545545

546546

src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* Automatically generated by
2-
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
2+
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
33
(Compiler-eem.512)
44
from
5-
ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
5+
ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
66
*/
7-
static char __buildInfo[] = "ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
7+
static char __buildInfo[] = "ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;
88

99

1010
#include "config.h"
@@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3473 uui
178178
#define MaxNumArgs 15
179179
#define NumFloatRegArgs 8
180180
#define NumIntRegArgs 6
181-
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
181+
#define PluginVersionInfo " VMMaker.oscog-eem.3474"
182182
#define WordSize 8
183183

184184
typedef struct {
@@ -189,7 +189,7 @@ typedef struct {
189189
sqInt structReturnType;
190190
sqInt callFlags;
191191
unsigned int *ffiArgSpec;
192-
unsigned int *ffiRetSpec;
192+
sqInt ffiRetSpec;
193193
unsigned int ffiArgSpecSize;
194194
unsigned int ffiArgHeader;
195195
unsigned int ffiRetHeader;
@@ -564,7 +564,7 @@ extern sqInt trueObject(void);
564564
extern
565565
#endif
566566
struct VirtualMachine* interpreterProxy;
567-
static const char *moduleName = "X64SysVFFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
567+
static const char *moduleName = "X64SysVFFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
568568
static sqInt nilObj;
569569

570570

src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/* Automatically generated by
2-
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
2+
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
33
(Compiler-eem.512)
44
from
5-
ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
5+
ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
66
*/
7-
static char __buildInfo[] = "ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
7+
static char __buildInfo[] = "ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;
88

99

1010
#include "config.h"
@@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3473 uu
178178
#define MaxNumArgs 15
179179
#define NumFloatRegArgs 4
180180
#define NumIntRegArgs 4
181-
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
181+
#define PluginVersionInfo " VMMaker.oscog-eem.3474"
182182
#define WordSize 8
183183

184184
typedef struct {
@@ -189,7 +189,7 @@ typedef struct {
189189
sqInt structReturnType;
190190
sqInt callFlags;
191191
unsigned int *ffiArgSpec;
192-
unsigned int *ffiRetSpec;
192+
sqInt ffiRetSpec;
193193
unsigned int ffiArgSpecSize;
194194
unsigned int ffiArgHeader;
195195
unsigned int ffiRetHeader;
@@ -522,7 +522,7 @@ extern sqInt trueObject(void);
522522
extern
523523
#endif
524524
struct VirtualMachine* interpreterProxy;
525-
static const char *moduleName = "X64Win64FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
525+
static const char *moduleName = "X64Win64FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
526526
static sqInt nilObj;
527527

528528

0 commit comments

Comments
 (0)