Skip to content

Commit

Permalink
CogVM source as per VMMaker.oscog-eem.3095
Browse files Browse the repository at this point in the history
CoInterpreter: Add ShortIntegerArray/SoundBuffer>>at:[put:] to the set of
primitives run on the Smalltalk stack.
  • Loading branch information
eliotmiranda committed Oct 23, 2021
1 parent 956f1a5 commit 634e4e3
Show file tree
Hide file tree
Showing 26 changed files with 1,310 additions and 972 deletions.
2 changes: 1 addition & 1 deletion src/spur32.cog/cogit.h
@@ -1,5 +1,5 @@
/* Automatically generated by
CCodeGenerator VMMaker.oscog-eem.3090 uuid: 3e2b8343-01bb-4169-ba4c-aecf82b4dcfc
CCodeGenerator VMMaker.oscog-eem.3095 uuid: 4a2893be-37f9-4703-ba97-6ccb01b44d4d
*/


Expand Down
60 changes: 39 additions & 21 deletions src/spur32.cog/cogitARMv5.c
@@ -1,9 +1,9 @@
/* Automatically generated by
CCodeGenerator VMMaker.oscog-eem.3090 uuid: 3e2b8343-01bb-4169-ba4c-aecf82b4dcfc
CCodeGenerator VMMaker.oscog-eem.3095 uuid: 4a2893be-37f9-4703-ba97-6ccb01b44d4d
from
StackToRegisterMappingCogit VMMaker.oscog-eem.3090 uuid: 3e2b8343-01bb-4169-ba4c-aecf82b4dcfc
StackToRegisterMappingCogit VMMaker.oscog-eem.3095 uuid: 4a2893be-37f9-4703-ba97-6ccb01b44d4d
*/
static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3090 uuid: 3e2b8343-01bb-4169-ba4c-aecf82b4dcfc " __DATE__ ;
static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3095 uuid: 4a2893be-37f9-4703-ba97-6ccb01b44d4d " __DATE__ ;
char *__cogitBuildInfo = __buildInfo;


Expand Down Expand Up @@ -11393,7 +11393,8 @@ findMapLocationForMcpcinMethod(usqInt targetMcpc, CogMethod *cogMethod)
sqInt mapByte;
sqInt mcpc;

mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -11463,7 +11464,8 @@ findIsBackwardBranchMcpcBcpcMatchingMcpc(BytecodeDescriptor *descriptor, sqInt i
static sqInt NoDbgRegParms
firstMappedPCFor(CogMethod *cogMethod)
{
return ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
return ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
}
Expand Down Expand Up @@ -11514,7 +11516,8 @@ followForwardedLiteralsImplementationIn(CogMethod *cogMethod)
}
hasYoungObjPtr = ((sqInt)((&hasYoungObj)));
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -13362,7 +13365,8 @@ mapForperformUntilarg(CogMethod *cogMethod, sqInt (*functionSymbol)(sqInt annota
sqInt result;

/* begin firstMappedPCFor: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -13523,7 +13527,8 @@ mapObjectReferencesInMachineCodeForBecome(void)
}
}
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -13607,7 +13612,8 @@ mapObjectReferencesInMachineCodeForFullGC(void)
(writableCogMethod->methodObject = remapOop((cogMethod->methodObject)));
}
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -13705,7 +13711,8 @@ mapObjectReferencesInMachineCodeForYoungGC(void)
}
}
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -13825,7 +13832,8 @@ markAndTraceMachineCodeOfMarkedMethods(void)
markAndTraceLiteralinat((cogMethod->selector), cogMethod, (&((cogMethod->selector))));
/* begin maybeMarkIRCsIn: */
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -13865,7 +13873,8 @@ markAndTraceMachineCodeOfMarkedMethods(void)
markAndTraceLiteralinat((cogMethod->selector), cogMethod, (&((cogMethod->selector))));
/* begin maybeMarkIRCsIn: */
/* begin mapFor:performUntil:arg: */
mcpc1 = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc1 = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map1 = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -13967,7 +13976,8 @@ markAndTraceOrFreeCogMethodfirstVisit(CogMethod *cogMethod, sqInt firstVisit)
markAndTraceLiteralinat((cogMethod->selector), cogMethod, (&((cogMethod->selector))));
/* begin maybeMarkIRCsIn: */
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -14204,7 +14214,8 @@ markMethodAndReferents(CogBlockMethod *aCogMethod)
writableMethod = ((CogMethod *) ((((usqInt)cogMethod)) + codeToDataDelta));
(writableMethod->cmUsageCount = CMMaxUsageCount);
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -14916,7 +14927,8 @@ relocateCallsAndSelfReferencesInMethod(CogMethod *cogMethod)
: picAbortTrampolineFor((cogMethod->cmNumArgs)))));
relocateCallBeforeReturnPCby(backEnd, (((sqInt)cogMethod)) + missOffset, -callDelta);
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -15455,7 +15467,8 @@ unlinkAllSends(void)
while (cogMethod < (limitZony())) {
if (((cogMethod->cmType)) == CMMethod) {
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -15853,7 +15866,8 @@ unlinkSendsLinkedForInvalidClasses(void)
while (cogMethod < (limitZony())) {
if (((cogMethod->cmType)) == CMMethod) {
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -15967,7 +15981,8 @@ unlinkSendsOfisMNUSelector(sqInt selector, sqInt isMNUSelector)
while (cogMethod < (limitZony())) {
if (((cogMethod->cmType)) == CMMethod) {
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -16030,7 +16045,8 @@ unlinkSendsToFree(void)
while (cogMethod < (limitZony())) {
if (((cogMethod->cmType)) == CMMethod) {
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -16103,7 +16119,8 @@ unlinkSendsToMethodsSuchThatAndFreeIf(sqInt (*criterion)(CogMethod *), sqInt fre
}
else {
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down Expand Up @@ -16187,7 +16204,8 @@ unlinkSendsToandFreeIf(sqInt targetMethodObject, sqInt freeIfTrue)
while (cogMethod < (limitZony())) {
if (((cogMethod->cmType)) == CMMethod) {
/* begin mapFor:performUntil:arg: */
mcpc = ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock)
mcpc = ((((cogMethod->cmType)) < CMClosedPIC)
&& ((cogMethod->cpicHasMNUCaseOrCMIsFullBlock))
? (((usqInt)cogMethod)) + cbNoSwitchEntryOffset
: (((usqInt)cogMethod)) + cmNoCheckEntryOffset);
map = ((((usqInt)cogMethod)) + ((cogMethod->blockSize))) - 1;
Expand Down

0 comments on commit 634e4e3

Please sign in to comment.