Skip to content

Commit

Permalink
CogVM source as per VMMaker.oscog-eem.3474
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
eliotmiranda committed Nov 25, 2024
1 parent 5fa943a commit eff284f
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 42 deletions.
12 changes: 6 additions & 6 deletions src/plugins/SqueakFFIPrims/ARM32FFIPlugin.c
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* Automatically generated by
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
(Compiler-eem.512)
from
ThreadedARM32FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
ThreadedARM32FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
*/
static char __buildInfo[] = "ThreadedARM32FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
static char __buildInfo[] = "ThreadedARM32FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;


#include "config.h"
Expand Down Expand Up @@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedARM32FFIPlugin VMMaker.oscog-eem.3473 uuid:
#define MaxNumArgs 15
#define NumFloatRegArgs 16
#define NumIntRegArgs 4
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
#define PluginVersionInfo " VMMaker.oscog-eem.3474"

typedef struct {
char *argVector;
Expand All @@ -188,7 +188,7 @@ typedef struct {
sqInt structReturnType;
sqInt callFlags;
unsigned int *ffiArgSpec;
unsigned int *ffiRetSpec;
sqInt ffiRetSpec;
unsigned int ffiArgSpecSize;
unsigned int ffiArgHeader;
unsigned int ffiRetHeader;
Expand Down Expand Up @@ -520,7 +520,7 @@ extern sqInt trueObject(void);
extern
#endif
struct VirtualMachine* interpreterProxy;
static const char *moduleName = "ARM32FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
static const char *moduleName = "ARM32FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
static sqInt nilObj;


Expand Down
12 changes: 6 additions & 6 deletions src/plugins/SqueakFFIPrims/ARM64AppleFFIPlugin.c
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* Automatically generated by
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
(Compiler-eem.512)
from
ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
*/
static char __buildInfo[] = "ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
static char __buildInfo[] = "ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;


#include "config.h"
Expand Down Expand Up @@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedARM64AppleFFIPlugin VMMaker.oscog-eem.3473
#define MaxNumArgs 15
#define NumFloatRegArgs 8
#define NumIntRegArgs 8
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
#define PluginVersionInfo " VMMaker.oscog-eem.3474"

typedef struct {
char *argVector;
Expand All @@ -188,7 +188,7 @@ typedef struct {
sqInt structReturnType;
sqInt callFlags;
unsigned int *ffiArgSpec;
unsigned int *ffiRetSpec;
sqInt ffiRetSpec;
unsigned int ffiArgSpecSize;
unsigned int ffiArgHeader;
unsigned int ffiRetHeader;
Expand Down Expand Up @@ -541,7 +541,7 @@ extern sqInt trueObject(void);
extern
#endif
struct VirtualMachine* interpreterProxy;
static const char *moduleName = "ARM64AppleFFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
static const char *moduleName = "ARM64AppleFFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
static sqInt nilObj;


Expand Down
12 changes: 6 additions & 6 deletions src/plugins/SqueakFFIPrims/ARM64FFIPlugin.c
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* Automatically generated by
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
(Compiler-eem.512)
from
ThreadedARM64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
ThreadedARM64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
*/
static char __buildInfo[] = "ThreadedARM64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
static char __buildInfo[] = "ThreadedARM64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;


#include "config.h"
Expand Down Expand Up @@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedARM64FFIPlugin VMMaker.oscog-eem.3473 uuid:
#define MaxNumArgs 15
#define NumFloatRegArgs 8
#define NumIntRegArgs 8
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
#define PluginVersionInfo " VMMaker.oscog-eem.3474"

typedef struct {
char *argVector;
Expand All @@ -188,7 +188,7 @@ typedef struct {
sqInt structReturnType;
sqInt callFlags;
unsigned int *ffiArgSpec;
unsigned int *ffiRetSpec;
sqInt ffiRetSpec;
unsigned int ffiArgSpecSize;
unsigned int ffiArgHeader;
unsigned int ffiRetHeader;
Expand Down Expand Up @@ -541,7 +541,7 @@ extern sqInt trueObject(void);
extern
#endif
struct VirtualMachine* interpreterProxy;
static const char *moduleName = "ARM64FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
static const char *moduleName = "ARM64FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
static sqInt nilObj;


Expand Down
12 changes: 6 additions & 6 deletions src/plugins/SqueakFFIPrims/IA32FFIPlugin.c
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* Automatically generated by
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
(Compiler-eem.512)
from
ThreadedIA32FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
ThreadedIA32FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
*/
static char __buildInfo[] = "ThreadedIA32FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
static char __buildInfo[] = "ThreadedIA32FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;


#include "config.h"
Expand Down Expand Up @@ -176,7 +176,7 @@ static char __buildInfo[] = "ThreadedIA32FFIPlugin VMMaker.oscog-eem.3473 uuid:
#define FFITypeUnsignedInt64 8
#define FFITypeUnsignedInt8 2
#define MaxNumArgs 15
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
#define PluginVersionInfo " VMMaker.oscog-eem.3474"

typedef struct {
char *argVector;
Expand All @@ -186,7 +186,7 @@ typedef struct {
sqInt structReturnType;
sqInt callFlags;
unsigned int *ffiArgSpec;
unsigned int *ffiRetSpec;
sqInt ffiRetSpec;
unsigned int ffiArgSpecSize;
unsigned int ffiArgHeader;
unsigned int ffiRetHeader;
Expand Down Expand Up @@ -512,7 +512,7 @@ extern sqInt trueObject(void);
extern
#endif
struct VirtualMachine* interpreterProxy;
static const char *moduleName = "IA32FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
static const char *moduleName = "IA32FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
static sqInt nilObj;


Expand Down
12 changes: 6 additions & 6 deletions src/plugins/SqueakFFIPrims/RiscV64FFIPlugin.c
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* Automatically generated by
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
(Compiler-eem.512)
from
ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
*/
static char __buildInfo[] = "ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
static char __buildInfo[] = "ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;


#include "config.h"
Expand Down Expand Up @@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedRiscV64FFIPlugin VMMaker.oscog-eem.3473 uui
#define MaxNumArgs 15
#define NumFloatRegArgs 8
#define NumIntRegArgs 8
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
#define PluginVersionInfo " VMMaker.oscog-eem.3474"

typedef struct {
char *argVector;
Expand All @@ -188,7 +188,7 @@ typedef struct {
sqInt structReturnType;
sqInt callFlags;
unsigned int *ffiArgSpec;
unsigned int *ffiRetSpec;
sqInt ffiRetSpec;
unsigned int ffiArgSpecSize;
unsigned int ffiArgHeader;
unsigned int ffiRetHeader;
Expand Down Expand Up @@ -540,7 +540,7 @@ extern sqInt trueObject(void);
extern
#endif
struct VirtualMachine* interpreterProxy;
static const char *moduleName = "RiscV64FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
static const char *moduleName = "RiscV64FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
static sqInt nilObj;


Expand Down
12 changes: 6 additions & 6 deletions src/plugins/SqueakFFIPrims/X64SysVFFIPlugin.c
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* Automatically generated by
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
(Compiler-eem.512)
from
ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
*/
static char __buildInfo[] = "ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
static char __buildInfo[] = "ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;


#include "config.h"
Expand Down Expand Up @@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedX64SysVFFIPlugin VMMaker.oscog-eem.3473 uui
#define MaxNumArgs 15
#define NumFloatRegArgs 8
#define NumIntRegArgs 6
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
#define PluginVersionInfo " VMMaker.oscog-eem.3474"
#define WordSize 8

typedef struct {
Expand All @@ -189,7 +189,7 @@ typedef struct {
sqInt structReturnType;
sqInt callFlags;
unsigned int *ffiArgSpec;
unsigned int *ffiRetSpec;
sqInt ffiRetSpec;
unsigned int ffiArgSpecSize;
unsigned int ffiArgHeader;
unsigned int ffiRetHeader;
Expand Down Expand Up @@ -564,7 +564,7 @@ extern sqInt trueObject(void);
extern
#endif
struct VirtualMachine* interpreterProxy;
static const char *moduleName = "X64SysVFFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
static const char *moduleName = "X64SysVFFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
static sqInt nilObj;


Expand Down
12 changes: 6 additions & 6 deletions src/plugins/SqueakFFIPrims/X64Win64FFIPlugin.c
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
/* Automatically generated by
VMPluginCodeGenerator VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
VMPluginCodeGenerator VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
(Compiler-eem.512)
from
ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781
ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781
*/
static char __buildInfo[] = "ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3473 uuid: dcbbd632-66d6-4492-9bb9-9e9c11aaa781 " __DATE__ ;
static char __buildInfo[] = "ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3474 uuid: 55a09717-2007-4334-94cb-06be2820e781 " __DATE__ ;


#include "config.h"
Expand Down Expand Up @@ -178,7 +178,7 @@ static char __buildInfo[] = "ThreadedX64Win64FFIPlugin VMMaker.oscog-eem.3473 uu
#define MaxNumArgs 15
#define NumFloatRegArgs 4
#define NumIntRegArgs 4
#define PluginVersionInfo " VMMaker.oscog-eem.3473"
#define PluginVersionInfo " VMMaker.oscog-eem.3474"
#define WordSize 8

typedef struct {
Expand All @@ -189,7 +189,7 @@ typedef struct {
sqInt structReturnType;
sqInt callFlags;
unsigned int *ffiArgSpec;
unsigned int *ffiRetSpec;
sqInt ffiRetSpec;
unsigned int ffiArgSpecSize;
unsigned int ffiArgHeader;
unsigned int ffiRetHeader;
Expand Down Expand Up @@ -522,7 +522,7 @@ extern sqInt trueObject(void);
extern
#endif
struct VirtualMachine* interpreterProxy;
static const char *moduleName = "X64Win64FFIPlugin VMMaker.oscog-eem.3473 " INT_EXT;
static const char *moduleName = "X64Win64FFIPlugin VMMaker.oscog-eem.3474 " INT_EXT;
static sqInt nilObj;


Expand Down

0 comments on commit eff284f

Please sign in to comment.