Skip to content

Commit 3487eed

Browse files
committed
CogVM source as per VMMaker.oscog-eem.2394
Sista V1 Bytecode Set/Full Blocks: Fixed a bug in frameless full blocks (fetching receiver from receiver index in FullBlock and not outerContext) SpurSelectiveCompactor: Add a guard to followForwardingPointersInStackZone: to avoid scanning the stack zone when it is empty because the system is snapshotting. Added segmentOverlap assertions and debugging convenience. Add optional read barrier for temp vector accesses (TempVectReadBarrier Slang to C compilation settings) Plugins General: Added #methodReturnReceiver, another methodReturn* method, that pops argumentCount elements from the stack, leaving only the receiver there BitBltPlugin: Don't fail primitiveDisplayString for empty strings (still validates fully). FilePlugin: Use methodReturn***: instead of pop: + push***:. Change the primitiveFileDescriptorType to return the file descriptor type instead of just 0 or 1 Eliminate obsolete accessor (to get rid of a cCode:inSmalltalk:). MiscPrimitivePlugin: - somewhat decreased the overhead of the primitive calls by trying to minimize interpreterProxy function calls - primitiveFindFirstInString: - eliminated the start variable - fail with PrimErrBadIndex if the start index argument is invalid (<= 0) - primitiveFindSubstring - fail with PrimErrBadArgument if matchTable is too short - primitiveIndexOfAsciiInString - fail with PrimErrBadIndex if the start index argument is invalid (<= 0) - primitiveStringHash - eliminated the byteArraySize variable - moved the masking out of the loop, so it's only evaluated once - primitiveTranslateStringWithTable - fail with PrimErrBadIndex if the start or stop index argument is invalid (<= 0, >= size respectively) - primitiveConvert8BitSigned - added primitive error codes Slang: Trust config.h more. It declares when to include dlfcn and takes care of _GNU_SOURCE.
1 parent 3d0b155 commit 3487eed

File tree

88 files changed

+31930
-32989
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+31930
-32989
lines changed

nsspur64src/vm/cogit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated by
2-
CCodeGenerator VMMaker.oscog-eem.2380 uuid: c76d37e1-445c-4e34-9796-fc836dfd50c9
2+
CCodeGenerator VMMaker.oscog-eem.2394 uuid: 61ae96f8-fd2b-4208-87ff-cf1cd6b3f859
33
*/
44

55

nsspur64src/vm/cogitX64SysV.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
/* Automatically generated by
2-
CCodeGenerator VMMaker.oscog-eem.2380 uuid: c76d37e1-445c-4e34-9796-fc836dfd50c9
2+
CCodeGenerator VMMaker.oscog-eem.2394 uuid: 61ae96f8-fd2b-4208-87ff-cf1cd6b3f859
33
from
4-
StackToRegisterMappingCogit VMMaker.oscog-eem.2380 uuid: c76d37e1-445c-4e34-9796-fc836dfd50c9
4+
StackToRegisterMappingCogit VMMaker.oscog-eem.2394 uuid: 61ae96f8-fd2b-4208-87ff-cf1cd6b3f859
55
*/
6-
static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.2380 uuid: c76d37e1-445c-4e34-9796-fc836dfd50c9 " __DATE__ ;
6+
static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.2394 uuid: 61ae96f8-fd2b-4208-87ff-cf1cd6b3f859 " __DATE__ ;
77
char *__cogitBuildInfo = __buildInfo;
88

99

@@ -339,6 +339,7 @@ char *__cogitBuildInfo = __buildInfo;
339339
#define SubRsRs 128
340340
#define SysV 1
341341
#define TempReg 0
342+
#define TempVectReadBarrier 0
342343
#define TstCqR 105
343344
#define UnfailingPrimitive 3
344345
#define UnimplementedPrimitive -7

nsspur64src/vm/cogitX64WIN64.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
/* Automatically generated by
2-
CCodeGenerator VMMaker.oscog-eem.2380 uuid: c76d37e1-445c-4e34-9796-fc836dfd50c9
2+
CCodeGenerator VMMaker.oscog-eem.2394 uuid: 61ae96f8-fd2b-4208-87ff-cf1cd6b3f859
33
from
4-
StackToRegisterMappingCogit VMMaker.oscog-eem.2380 uuid: c76d37e1-445c-4e34-9796-fc836dfd50c9
4+
StackToRegisterMappingCogit VMMaker.oscog-eem.2394 uuid: 61ae96f8-fd2b-4208-87ff-cf1cd6b3f859
55
*/
6-
static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.2380 uuid: c76d37e1-445c-4e34-9796-fc836dfd50c9 " __DATE__ ;
6+
static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.2394 uuid: 61ae96f8-fd2b-4208-87ff-cf1cd6b3f859 " __DATE__ ;
77
char *__cogitBuildInfo = __buildInfo;
88

99

@@ -339,6 +339,7 @@ char *__cogitBuildInfo = __buildInfo;
339339
#define SubRsRs 128
340340
#define SysV 0
341341
#define TempReg 0
342+
#define TempVectReadBarrier 0
342343
#define TstCqR 105
343344
#define UnfailingPrimitive 3
344345
#define UnimplementedPrimitive -7
@@ -580,7 +581,7 @@ static sqInt NoDbgRegParms fillInBlockHeadersAt(sqInt startAddress);
580581
static CogMethod * NoDbgRegParms fillInMethodHeadersizeselector(CogMethod *method, sqInt size, sqInt selector);
581582
static sqInt NoDbgRegParms findBackwardBranchIsBackwardBranchMcpcBcpcMatchingBcpc(BytecodeDescriptor *descriptor, sqInt isBackwardBranchAndAnnotation, char *mcpc, sqInt bcpc, void *targetBcpc);
582583
static usqInt NoDbgRegParms findBlockMethodWithEntrystartBcpc(sqInt blockEntryMcpc, sqInt startBcpc);
583-
static sqInt NoDbgRegParms findMapLocationForMcpcinMethod(usqInt targetMcpc, CogMethod *cogMethod);
584+
static usqInt NoDbgRegParms findMapLocationForMcpcinMethod(usqInt targetMcpc, CogMethod *cogMethod);
584585
extern CogBlockMethod * findMethodForStartBcpcinHomeMethod(sqInt startbcpc, CogMethod *cogMethod);
585586
static sqInt NoDbgRegParms findIsBackwardBranchMcpcBcpcMatchingMcpc(BytecodeDescriptor *descriptor, sqInt isBackwardBranchAndAnnotation, char *mcpc, sqInt bcpc, void *targetMcpc);
586587
static sqInt NoDbgRegParms firstMappedPCFor(CogMethod *cogMethod);
@@ -5710,7 +5711,7 @@ findBlockMethodWithEntrystartBcpc(sqInt blockEntryMcpc, sqInt startBcpc)
57105711
}
57115712

57125713
/* Cogit>>#findMapLocationForMcpc:inMethod: */
5713-
static sqInt NoDbgRegParms
5714+
static usqInt NoDbgRegParms
57145715
findMapLocationForMcpcinMethod(usqInt targetMcpc, CogMethod *cogMethod)
57155716
{
57165717
sqInt annotation;

0 commit comments

Comments
 (0)