diff --git a/src/spur32.cog.lowcode/cogit.h b/src/spur32.cog.lowcode/cogit.h index cd73c44afb..737a937986 100644 --- a/src/spur32.cog.lowcode/cogit.h +++ b/src/spur32.cog.lowcode/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) */ diff --git a/src/spur32.cog.lowcode/cogitARMv5.c b/src/spur32.cog.lowcode/cogitARMv5.c index 69884c0395..44a089e00d 100644 --- a/src/spur32.cog.lowcode/cogitARMv5.c +++ b/src/spur32.cog.lowcode/cogitARMv5.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -1012,7 +1012,7 @@ static sqInt genPrimitiveStringAtPut(void); static NoDbgRegParms sqInt genRemoveSmallIntegerTagsInScratchReg(sqInt scratchReg); static NoDbgRegParms sqInt genShiftAwaySmallIntegerTagsInScratchReg(sqInt scratchReg); static NoDbgRegParms sqInt getLiteralCountOfplusOneinBytesintoscratch(sqInt methodReg, sqInt plusOne, sqInt inBytes, sqInt litCountReg, sqInt scratchReg); -static NoDbgRegParms usqInt inlineCacheTagForInstance(sqInt oop); +static NoDbgRegParms sqInt inlineCacheTagForInstance(sqInt oop); static NoDbgRegParms AbstractInstruction * jumpNotSmallIntegerUnsignedValueInRegister(sqInt reg); static NoDbgRegParms sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address); static sqInt numSmallIntegerBits(void); @@ -8569,7 +8569,7 @@ callCogCodePopReceiverAndClassRegs(void) static NoDbgRegParms sqInt ceCPICMissreceiver(CogMethod *cPIC, sqInt receiver) { - usqInt cacheTag; + sqInt cacheTag; sqInt errorSelectorOrNil; sqInt methodOrSelectorIndex; sqInt newTargetMethodOrNil; @@ -8713,7 +8713,7 @@ ceMalloc(size_t size) static NoDbgRegParms sqInt ceSICMiss(sqInt receiver) { - usqInt cacheTag; + sqInt cacheTag; sqInt entryPoint; sqInt errorSelectorOrNil; sqInt extent; @@ -9448,7 +9448,7 @@ cogExtendPICCaseNMethodtagisMNUCase(CogMethod *cPIC, sqInt caseNMethod, sqInt ca jumpTargetAddr = address - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); /* and update the header flag for the number of cases */ ((((CogMethod *) ((((usqInt)cPIC)) + codeToDataDelta)))->cPICNumCases = ((cPIC->cPICNumCases)) + 1); @@ -10436,10 +10436,10 @@ compileCallFornumArgsargargargargfloatResultRegregsToSave(void *aRoutine, sqInt regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -10515,10 +10515,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -10592,10 +10592,10 @@ compileCallFornumArgsargargargargresultRegresultRegregsToSave(void *aRoutine, sq regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -10668,10 +10668,10 @@ compileCallFornumArgsfloatArgfloatArgfloatArgfloatArgresultRegregsToSave(void *a regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -11286,7 +11286,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = target; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11358,7 +11358,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11375,7 +11375,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -13936,7 +13936,7 @@ void linkSendAtintooffsetreceiver(sqInt callSiteReturnAddress, CogMethod *sendingMethod, CogMethod *targetMethod, sqInt theEntryOffset, sqInt receiver) { sqInt extent; - usqInt inlineCacheTag; + sqInt inlineCacheTag; assert((theEntryOffset == cmEntryOffset) || (theEntryOffset == cmNoCheckEntryOffset)); @@ -15794,7 +15794,7 @@ remapIfObjectRefpchasYoung(sqInt annotation, char *mcpc, CogMethod *hasYoungPtr) /* begin rewriteInlineCacheTag:at: */ - longAtput(pcRelativeAddressAt(((AbstractInstruction *) backEnd), (((usqInt)mcpc)) - 8), mappedCacheTag); + longAtput(pcRelativeAddressAt(backEnd, (((usqInt)mcpc)) - 8), mappedCacheTag); } if ((hasYoungPtr != 0) && (isYoung(mappedCacheTag))) { @@ -15888,7 +15888,7 @@ rewriteCPICCaseAttagobjReftarget(sqInt followingAddress, sqInt newTag, sqInt new /* rewite the tag via the first ldr */ /* begin storeLiteral32:beforeFollowingAddress: */ - storeLiteralbeforeFollowingAddress(((AbstractInstruction *) backEnd), newTag, classTagPC); + storeLiteralbeforeFollowingAddress(backEnd, newTag, classTagPC); /* write the jump address for the new target address */ rewriteConditionalJumpLongAttarget(backEnd, followingAddress, newTarget); @@ -22981,7 +22981,7 @@ getLiteralCountOfplusOneinBytesintoscratch(sqInt methodReg, sqInt plusOne, sqInt c.f. getInlineCacheClassTagFrom:into: & inlineCacheTagForClass: */ /* CogObjectRepresentationFor32BitSpur>>#inlineCacheTagForInstance: */ -static NoDbgRegParms usqInt +static NoDbgRegParms sqInt inlineCacheTagForInstance(sqInt oop) { return (isImmediate(oop) @@ -23032,7 +23032,7 @@ markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqI codeModified = 1; # endif - self_in_CogOutOfLineLiteralsARMCompiler = ((AbstractInstruction *) (backEnd)); + self_in_CogOutOfLineLiteralsARMCompiler = backEnd; /* begin rewriteInlineCacheTag:at: */ longAtput(pcRelativeAddressAt(self_in_CogOutOfLineLiteralsARMCompiler, address - 8), objOop); @@ -23081,7 +23081,7 @@ checkValidOopReference(sqInt anOop) static void compileInvokeCENewHashOf(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *inst; backEnd; diff --git a/src/spur32.cog.lowcode/cogitIA32.c b/src/spur32.cog.lowcode/cogitIA32.c index 8e2872a2cc..1cffbfbc58 100644 --- a/src/spur32.cog.lowcode/cogitIA32.c +++ b/src/spur32.cog.lowcode/cogitIA32.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -11123,7 +11123,7 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pc, addrDelta); + relocateCallBeforeReturnPCby(backEnd, pc, addrDelta); /* write the final desperate jump to cePICMissXArgs */ rewriteJumpLongAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, cPICMissTrampolineFor(numArgs)); @@ -11165,7 +11165,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pc, addrDelta); + relocateCallBeforeReturnPCby(backEnd, pc, addrDelta); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -15324,7 +15324,7 @@ relocateCallsInClosedPIC(CogMethod *cPIC) pcSqInt = (addressOfEndOfCaseinCPIC(2, cPIC)) + (loadLiteralByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pcSqInt, refDelta); + relocateCallBeforeReturnPCby(backEnd, pcSqInt, refDelta); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -15399,7 +15399,7 @@ relocateIfCallOrMethodReferencemcpcdelta(sqInt annotation, char *mcpc, CogMethod } if (annotation == IsAbsPCReference) { /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), ((sqInt)mcpc), refDelta); + relocateCallBeforeReturnPCby(backEnd, ((sqInt)mcpc), refDelta); } return 0; } @@ -15560,7 +15560,7 @@ rewriteCPICCaseAttagobjReftarget(sqInt followingAddress, sqInt newTag, sqInt new /* rewite the tag via the first ldr */ /* begin storeLiteral32:beforeFollowingAddress: */ - storeLiteralbeforeFollowingAddress(((AbstractInstruction *) backEnd), newTag, classTagPC); + storeLiteralbeforeFollowingAddress(backEnd, newTag, classTagPC); /* write the jump address for the new target address */ rewriteConditionalJumpLongAttarget(backEnd, followingAddress, newTarget); @@ -18740,7 +18740,7 @@ genPrimitiveHighBit(void) /* remove excess tag bits from the receiver oop */ - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) { @@ -20738,7 +20738,7 @@ genPrimitiveAtSigned(sqInt signedVersion) static sqInt genPrimitiveIdentityHash(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *jumpImm; AbstractInstruction *jumpNotSet; AbstractInstruction *jumpSI; @@ -20774,7 +20774,7 @@ genPrimitiveIdentityHash(void) } /* begin compileInvokeCENewHashOf */ - self_in_CogIA32Compiler = ((AbstractInstruction *) (backEnd)); + self_in_CogIA32Compiler = backEnd; /* PushR: */ genoperand(PushR, ReceiverResultReg); diff --git a/src/spur32.cog/cogit.h b/src/spur32.cog/cogit.h index 26b9764c83..e1a2ffac96 100644 --- a/src/spur32.cog/cogit.h +++ b/src/spur32.cog/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) */ diff --git a/src/spur32.cog/cogitARMv5.c b/src/spur32.cog/cogitARMv5.c index 9f26fc091f..445bb0de30 100644 --- a/src/spur32.cog/cogitARMv5.c +++ b/src/spur32.cog/cogitARMv5.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -9260,7 +9260,7 @@ cogExtendPICCaseNMethodtagisMNUCase(CogMethod *cPIC, sqInt caseNMethod, sqInt ca jumpTargetAddr = address - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); /* and update the header flag for the number of cases */ ((((CogMethod *) ((((usqInt)cPIC)) + codeToDataDelta)))->cPICNumCases = ((cPIC->cPICNumCases)) + 1); @@ -10249,10 +10249,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -10812,7 +10812,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = target; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -10884,7 +10884,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -10901,7 +10901,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -15124,7 +15124,7 @@ remapIfObjectRefpchasYoung(sqInt annotation, char *mcpc, CogMethod *hasYoungPtr) /* begin rewriteInlineCacheTag:at: */ - longAtput(pcRelativeAddressAt(((AbstractInstruction *) backEnd), (((usqInt)mcpc)) - 8), mappedCacheTag); + longAtput(pcRelativeAddressAt(backEnd, (((usqInt)mcpc)) - 8), mappedCacheTag); } if ((hasYoungPtr != 0) && (isYoung(mappedCacheTag))) { @@ -15218,7 +15218,7 @@ rewriteCPICCaseAttagobjReftarget(sqInt followingAddress, sqInt newTag, sqInt new /* rewite the tag via the first ldr */ /* begin storeLiteral32:beforeFollowingAddress: */ - storeLiteralbeforeFollowingAddress(((AbstractInstruction *) backEnd), newTag, classTagPC); + storeLiteralbeforeFollowingAddress(backEnd, newTag, classTagPC); /* write the jump address for the new target address */ rewriteConditionalJumpLongAttarget(backEnd, followingAddress, newTarget); @@ -21831,7 +21831,7 @@ markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqI codeModified = 1; # endif - self_in_CogOutOfLineLiteralsARMCompiler = ((AbstractInstruction *) (backEnd)); + self_in_CogOutOfLineLiteralsARMCompiler = backEnd; /* begin rewriteInlineCacheTag:at: */ longAtput(pcRelativeAddressAt(self_in_CogOutOfLineLiteralsARMCompiler, address - 8), objOop); @@ -21880,7 +21880,7 @@ checkValidOopReference(sqInt anOop) static void compileInvokeCENewHashOf(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *inst; backEnd; diff --git a/src/spur32.cog/cogitIA32.c b/src/spur32.cog/cogitIA32.c index 8e97fa4229..e26f9f2954 100644 --- a/src/spur32.cog/cogitIA32.c +++ b/src/spur32.cog/cogitIA32.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -512,7 +512,7 @@ static NoDbgRegParms AbstractInstruction * genSwapRRScratch(AbstractInstruction static NoDbgRegParms int hasSSE2Instructions(AbstractInstruction *self_in_CogIA32Compiler); static NoDbgRegParms int hasSSEInstructions(AbstractInstruction *self_in_CogIA32Compiler); static NoDbgRegParms sqInt inlineCacheTagAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt callSiteReturnAddress); -static NoDbgRegParms int instructionSizeAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc); +static NoDbgRegParms sqInt instructionSizeAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc); static NoDbgRegParms int isCallPrecedingReturnPC(AbstractInstruction *self_in_CogIA32Compiler, sqInt mcpc); static NoDbgRegParms sqInt isJumpAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc); static NoDbgRegParms sqInt isPCDependent(AbstractInstruction *self_in_CogIA32Compiler); @@ -894,7 +894,7 @@ static sqInt genPrimitiveStringAtPut(void); static NoDbgRegParms sqInt genRemoveSmallIntegerTagsInScratchReg(sqInt scratchReg); static NoDbgRegParms sqInt genShiftAwaySmallIntegerTagsInScratchReg(sqInt scratchReg); static NoDbgRegParms sqInt getLiteralCountOfplusOneinBytesintoscratch(sqInt methodReg, sqInt plusOne, sqInt inBytes, sqInt litCountReg, sqInt scratchReg); -static NoDbgRegParms sqInt inlineCacheTagForInstance(sqInt oop); +static NoDbgRegParms usqInt inlineCacheTagForInstance(sqInt oop); static NoDbgRegParms AbstractInstruction * jumpNotSmallIntegerUnsignedValueInRegister(sqInt reg); static NoDbgRegParms sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address); static sqInt numSmallIntegerBits(void); @@ -6896,7 +6896,7 @@ inlineCacheTagAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt callSiteRet It only has to cope with the instructions generated in a block dispatch. */ /* CogIA32Compiler>>#instructionSizeAt: */ -static NoDbgRegParms int +static NoDbgRegParms sqInt instructionSizeAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc) { sqInt op; @@ -7068,7 +7068,7 @@ jumpTargetPCAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc) { sqInt byte; sqInt offset; - int size; + sqInt size; size = instructionSizeAt(self_in_CogIA32Compiler, pc); if (size == 2) { @@ -8234,7 +8234,7 @@ callCogCodePopReceiverAndClassRegs(void) static NoDbgRegParms sqInt ceCPICMissreceiver(CogMethod *cPIC, sqInt receiver) { - sqInt cacheTag; + usqInt cacheTag; sqInt errorSelectorOrNil; sqInt methodOrSelectorIndex; sqInt newTargetMethodOrNil; @@ -8378,7 +8378,7 @@ ceMalloc(size_t size) static NoDbgRegParms sqInt ceSICMiss(sqInt receiver) { - sqInt cacheTag; + usqInt cacheTag; sqInt entryPoint; sqInt errorSelectorOrNil; sqInt extent; @@ -10543,7 +10543,7 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pc, addrDelta); + relocateCallBeforeReturnPCby(backEnd, pc, addrDelta); /* write the final desperate jump to cePICMissXArgs */ rewriteJumpLongAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, cPICMissTrampolineFor(numArgs)); @@ -10585,7 +10585,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pc, addrDelta); + relocateCallBeforeReturnPCby(backEnd, pc, addrDelta); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -12880,7 +12880,7 @@ void linkSendAtintooffsetreceiver(sqInt callSiteReturnAddress, CogMethod *sendingMethod, CogMethod *targetMethod, sqInt theEntryOffset, sqInt receiver) { sqInt extent; - sqInt inlineCacheTag; + usqInt inlineCacheTag; assert((theEntryOffset == cmEntryOffset) || (theEntryOffset == cmNoCheckEntryOffset)); @@ -14543,7 +14543,7 @@ relocateCallsInClosedPIC(CogMethod *cPIC) pcSqInt = (addressOfEndOfCaseinCPIC(2, cPIC)) + (loadLiteralByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pcSqInt, refDelta); + relocateCallBeforeReturnPCby(backEnd, pcSqInt, refDelta); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -14617,7 +14617,7 @@ relocateIfCallOrMethodReferencemcpcdelta(sqInt annotation, char *mcpc, CogMethod } if (annotation == IsAbsPCReference) { /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), ((sqInt)mcpc), refDelta); + relocateCallBeforeReturnPCby(backEnd, ((sqInt)mcpc), refDelta); } return 0; } @@ -14778,7 +14778,7 @@ rewriteCPICCaseAttagobjReftarget(sqInt followingAddress, sqInt newTag, sqInt new /* rewite the tag via the first ldr */ /* begin storeLiteral32:beforeFollowingAddress: */ - storeLiteralbeforeFollowingAddress(((AbstractInstruction *) backEnd), newTag, classTagPC); + storeLiteralbeforeFollowingAddress(backEnd, newTag, classTagPC); /* write the jump address for the new target address */ rewriteConditionalJumpLongAttarget(backEnd, followingAddress, newTarget); @@ -17546,7 +17546,7 @@ genPrimitiveHighBit(void) /* remove excess tag bits from the receiver oop */ - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) { @@ -19445,7 +19445,7 @@ genPrimitiveAtSigned(sqInt signedVersion) static sqInt genPrimitiveIdentityHash(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *jumpImm; AbstractInstruction *jumpNotSet; AbstractInstruction *jumpSI; @@ -19481,7 +19481,7 @@ genPrimitiveIdentityHash(void) } /* begin compileInvokeCENewHashOf */ - self_in_CogIA32Compiler = ((AbstractInstruction *) (backEnd)); + self_in_CogIA32Compiler = backEnd; /* PushR: */ genoperand(PushR, ReceiverResultReg); @@ -20542,7 +20542,7 @@ getLiteralCountOfplusOneinBytesintoscratch(sqInt methodReg, sqInt plusOne, sqInt c.f. getInlineCacheClassTagFrom:into: & inlineCacheTagForClass: */ /* CogObjectRepresentationFor32BitSpur>>#inlineCacheTagForInstance: */ -static NoDbgRegParms sqInt +static NoDbgRegParms usqInt inlineCacheTagForInstance(sqInt oop) { return (isImmediate(oop) diff --git a/src/spur32.sista/cogit.h b/src/spur32.sista/cogit.h index 21ba1d0a8f..ff4a49b82d 100644 --- a/src/spur32.sista/cogit.h +++ b/src/spur32.sista/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) */ diff --git a/src/spur32.sista/cogitARMv5.c b/src/spur32.sista/cogitARMv5.c index 3ba7f90114..54d00070f0 100644 --- a/src/spur32.sista/cogitARMv5.c +++ b/src/spur32.sista/cogitARMv5.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -918,7 +918,7 @@ static sqInt genPrimitiveStringAtPut(void); static NoDbgRegParms sqInt genRemoveSmallIntegerTagsInScratchReg(sqInt scratchReg); static NoDbgRegParms sqInt genShiftAwaySmallIntegerTagsInScratchReg(sqInt scratchReg); static NoDbgRegParms sqInt getLiteralCountOfplusOneinBytesintoscratch(sqInt methodReg, sqInt plusOne, sqInt inBytes, sqInt litCountReg, sqInt scratchReg); -static NoDbgRegParms sqInt inlineCacheTagForInstance(sqInt oop); +static NoDbgRegParms usqInt inlineCacheTagForInstance(sqInt oop); static NoDbgRegParms AbstractInstruction * jumpNotSmallIntegerUnsignedValueInRegister(sqInt reg); static NoDbgRegParms sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address); static NoDbgRegParms usqInt numCountersFor(usqInt theCounters); @@ -8522,7 +8522,7 @@ callCogCodePopReceiverAndClassRegs(void) static NoDbgRegParms sqInt ceCPICMissreceiver(CogMethod *cPIC, sqInt receiver) { - sqInt cacheTag; + usqInt cacheTag; sqInt errorSelectorOrNil; sqInt methodOrSelectorIndex; sqInt newTargetMethodOrNil; @@ -8666,7 +8666,7 @@ ceMalloc(size_t size) static NoDbgRegParms sqInt ceSICMiss(sqInt receiver) { - sqInt cacheTag; + usqInt cacheTag; sqInt entryPoint; sqInt errorSelectorOrNil; sqInt extent; @@ -9399,7 +9399,7 @@ cogExtendPICCaseNMethodtagisMNUCase(CogMethod *cPIC, sqInt caseNMethod, sqInt ca jumpTargetAddr = address - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); /* and update the header flag for the number of cases */ ((((CogMethod *) ((((usqInt)cPIC)) + codeToDataDelta)))->cPICNumCases = ((cPIC->cPICNumCases)) + 1); @@ -10447,10 +10447,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -11010,7 +11010,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = target; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11082,7 +11082,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11099,7 +11099,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -13327,7 +13327,7 @@ void linkSendAtintooffsetreceiver(sqInt callSiteReturnAddress, CogMethod *sendingMethod, CogMethod *targetMethod, sqInt theEntryOffset, sqInt receiver) { sqInt extent; - sqInt inlineCacheTag; + usqInt inlineCacheTag; assert((theEntryOffset == cmEntryOffset) || (theEntryOffset == cmNoCheckEntryOffset)); @@ -15238,7 +15238,7 @@ remapIfObjectRefpchasYoung(sqInt annotation, char *mcpc, CogMethod *hasYoungPtr) /* begin rewriteInlineCacheTag:at: */ - longAtput(pcRelativeAddressAt(((AbstractInstruction *) backEnd), (((usqInt)mcpc)) - 8), mappedCacheTag); + longAtput(pcRelativeAddressAt(backEnd, (((usqInt)mcpc)) - 8), mappedCacheTag); } if ((hasYoungPtr != 0) && (isYoung(mappedCacheTag))) { @@ -15332,7 +15332,7 @@ rewriteCPICCaseAttagobjReftarget(sqInt followingAddress, sqInt newTag, sqInt new /* rewite the tag via the first ldr */ /* begin storeLiteral32:beforeFollowingAddress: */ - storeLiteralbeforeFollowingAddress(((AbstractInstruction *) backEnd), newTag, classTagPC); + storeLiteralbeforeFollowingAddress(backEnd, newTag, classTagPC); /* write the jump address for the new target address */ rewriteConditionalJumpLongAttarget(backEnd, followingAddress, newTarget); @@ -21965,7 +21965,7 @@ getLiteralCountOfplusOneinBytesintoscratch(sqInt methodReg, sqInt plusOne, sqInt c.f. getInlineCacheClassTagFrom:into: & inlineCacheTagForClass: */ /* CogObjectRepresentationFor32BitSpur>>#inlineCacheTagForInstance: */ -static NoDbgRegParms sqInt +static NoDbgRegParms usqInt inlineCacheTagForInstance(sqInt oop) { return (isImmediate(oop) @@ -22016,7 +22016,7 @@ markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqI codeModified = 1; # endif - self_in_CogOutOfLineLiteralsARMCompiler = ((AbstractInstruction *) (backEnd)); + self_in_CogOutOfLineLiteralsARMCompiler = backEnd; /* begin rewriteInlineCacheTag:at: */ longAtput(pcRelativeAddressAt(self_in_CogOutOfLineLiteralsARMCompiler, address - 8), objOop); @@ -22177,7 +22177,7 @@ checkValidOopReference(sqInt anOop) static void compileInvokeCENewHashOf(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *inst; backEnd; diff --git a/src/spur32.sista/cogitIA32.c b/src/spur32.sista/cogitIA32.c index 819e4943f1..cc630e393f 100644 --- a/src/spur32.sista/cogitIA32.c +++ b/src/spur32.sista/cogitIA32.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -10742,7 +10742,7 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pc, addrDelta); + relocateCallBeforeReturnPCby(backEnd, pc, addrDelta); /* write the final desperate jump to cePICMissXArgs */ rewriteJumpLongAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, cPICMissTrampolineFor(numArgs)); @@ -10784,7 +10784,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pc, addrDelta); + relocateCallBeforeReturnPCby(backEnd, pc, addrDelta); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -14713,7 +14713,7 @@ relocateCallsInClosedPIC(CogMethod *cPIC) pcSqInt = (addressOfEndOfCaseinCPIC(2, cPIC)) + (loadLiteralByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pcSqInt, refDelta); + relocateCallBeforeReturnPCby(backEnd, pcSqInt, refDelta); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -14788,7 +14788,7 @@ relocateIfCallOrMethodReferencemcpcdelta(sqInt annotation, char *mcpc, CogMethod } if (annotation == IsAbsPCReference) { /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), ((sqInt)mcpc), refDelta); + relocateCallBeforeReturnPCby(backEnd, ((sqInt)mcpc), refDelta); } return 0; } @@ -14949,7 +14949,7 @@ rewriteCPICCaseAttagobjReftarget(sqInt followingAddress, sqInt newTag, sqInt new /* rewite the tag via the first ldr */ /* begin storeLiteral32:beforeFollowingAddress: */ - storeLiteralbeforeFollowingAddress(((AbstractInstruction *) backEnd), newTag, classTagPC); + storeLiteralbeforeFollowingAddress(backEnd, newTag, classTagPC); /* write the jump address for the new target address */ rewriteConditionalJumpLongAttarget(backEnd, followingAddress, newTarget); @@ -17788,7 +17788,7 @@ genPrimitiveHighBit(void) /* remove excess tag bits from the receiver oop */ - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) { @@ -19687,7 +19687,7 @@ genPrimitiveAtSigned(sqInt signedVersion) static sqInt genPrimitiveIdentityHash(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *jumpImm; AbstractInstruction *jumpNotSet; AbstractInstruction *jumpSI; @@ -19723,7 +19723,7 @@ genPrimitiveIdentityHash(void) } /* begin compileInvokeCENewHashOf */ - self_in_CogIA32Compiler = ((AbstractInstruction *) (backEnd)); + self_in_CogIA32Compiler = backEnd; /* PushR: */ genoperand(PushR, ReceiverResultReg); diff --git a/src/spur64.cog.lowcode/cogit.h b/src/spur64.cog.lowcode/cogit.h index cd73c44afb..737a937986 100644 --- a/src/spur64.cog.lowcode/cogit.h +++ b/src/spur64.cog.lowcode/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) */ diff --git a/src/spur64.cog.lowcode/cogitARMv8.c b/src/spur64.cog.lowcode/cogitARMv8.c index 49d8ebe485..6dcaa02b02 100644 --- a/src/spur64.cog.lowcode/cogitARMv8.c +++ b/src/spur64.cog.lowcode/cogitARMv8.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -9233,7 +9233,7 @@ checkIfValidOopRefAndTargetpccogMethod(sqInt annotation, char *mcpc, CogMethod * /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -9376,7 +9376,7 @@ checkIfValidOopRefpccogMethod(sqInt annotation, char *mcpc, CogMethod *cogMethod } /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); selectorOrCacheTag = long32At(pc); if ((entryPoint > methodZoneBase) && ((offset != cmNoCheckEntryOffset) @@ -9817,7 +9817,7 @@ cogExtendPICCaseNMethodtagisMNUCase(CogMethod *cPIC, sqInt caseNMethod, sqInt ca jumpTargetAddr = address - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); /* and update the header flag for the number of cases */ ((((CogMethod *) ((((usqInt)cPIC)) + codeToDataDelta)))->cPICNumCases = ((cPIC->cPICNumCases)) + 1); @@ -11531,14 +11531,14 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - assert((instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 4))) - || (instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 8)))); + assert((instructionIsADR(backEnd, instructionAt(backEnd, pc - 4))) + || (instructionIsADR(backEnd, instructionAt(backEnd, pc - 8)))); /* write the final desperate jump to cePICMissXArgs */ callTargetAddress = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteImm26JumpBeforetarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); + rewriteImm26JumpBeforetarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); return 0; } @@ -11575,19 +11575,19 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, callTargetAddress = (((sqInt)cPIC)) + (sizeof(CogMethod)); /* begin rewriteJumpLongAt:target: */ - rewriteImm26JumpBeforetarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + firstCPICCaseOffset, callTargetAddress); + rewriteImm26JumpBeforetarget(backEnd, (((sqInt)cPIC)) + firstCPICCaseOffset, callTargetAddress); storeLiteralbeforeFollowingAddress(backEnd, operand, ((((sqInt)cPIC)) + firstCPICCaseOffset) - (jumpLongByteSize(backEnd))); /* rewrite the final desperate jump to cePICMissXArgs */ callTargetAddress = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteImm26JumpBeforetarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); + rewriteImm26JumpBeforetarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - assert((instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 4))) - || (instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 8)))); + assert((instructionIsADR(backEnd, instructionAt(backEnd, pc - 4))) + || (instructionIsADR(backEnd, instructionAt(backEnd, pc - 8)))); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -11597,7 +11597,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = target; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11669,7 +11669,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11686,7 +11686,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -14194,12 +14194,12 @@ initializeCodeZoneFromupTo(sqInt startAddress, sqInt endAddress) /* begin detectFeaturesOnMacOS */ # else # if __linux__ - detectFeaturesOnLinux(((AbstractInstruction *) backEnd)); + detectFeaturesOnLinux(backEnd); # else - detectFeaturesOnRawMachine(((AbstractInstruction *) backEnd)); + detectFeaturesOnRawMachine(backEnd); # endif -# endif // __APPLE__ +# endif /* begin maybeGenerateCacheFlush */ @@ -15625,7 +15625,7 @@ markLiteralsAndUnlinkIfUnmarkedSendpcmethod(sqInt annotation, char *mcpc, CogMet if (annotation >= IsSendCall) { /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -15714,7 +15714,7 @@ markLiteralspcmethod(sqInt annotation, char *mcpc, CogMethod *cogMethod) if (annotation >= IsSendCall) { /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -16582,8 +16582,8 @@ relocateCallsInClosedPIC(CogMethod *cPIC) pcSqInt = (addressOfEndOfCaseinCPIC(2, cPIC)) + (loadPICLiteralByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - assert((instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pcSqInt - 4))) - || (instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pcSqInt - 8)))); + assert((instructionIsADR(backEnd, instructionAt(backEnd, pcSqInt - 4))) + || (instructionIsADR(backEnd, instructionAt(backEnd, pcSqInt - 8)))); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -16716,7 +16716,7 @@ remapIfObjectRefpchasYoung(sqInt annotation, char *mcpc, CogMethod *hasYoungPtr) if (annotation >= IsSendCall) { /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -26130,7 +26130,7 @@ checkValidOopReference(sqInt anOop) static void compileInvokeCENewHashOf(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *inst; backEnd; diff --git a/src/spur64.cog.lowcode/cogitX64SysV.c b/src/spur64.cog.lowcode/cogitX64SysV.c index 69aa8c2cd3..2f4b02915d 100644 --- a/src/spur64.cog.lowcode/cogitX64SysV.c +++ b/src/spur64.cog.lowcode/cogitX64SysV.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -5975,10 +5975,10 @@ compileCallFornumArgsargargargargfloatResultRegregsToSave(void *aRoutine, sqInt regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -5992,7 +5992,7 @@ l1:; /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ assert(numArgs <= 4); if (numArgs > 0) { if (regOrConst0 < NoReg) { @@ -6085,10 +6085,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -6102,7 +6102,7 @@ l1:; /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ assert(numArgs <= 4); if (numArgs > 0) { if (regOrConst0 < NoReg) { @@ -6193,10 +6193,10 @@ compileCallFornumArgsfloatArgfloatArgfloatArgfloatArgresultRegregsToSave(void *a regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -6210,7 +6210,7 @@ l1:; /* begin genMarshallNArgs:floatArg:floatArg:floatArg:floatArg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (!numArgs) { goto l2; } @@ -6770,15 +6770,15 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* write the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); return 0; } @@ -6813,21 +6813,21 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = (((sqInt)cPIC)) + (sizeof(CogMethod)); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); storeLiteralbeforeFollowingAddress(backEnd, operand, ((((sqInt)cPIC)) + firstCPICCaseOffset) - (jumpLongByteSize(backEnd))); /* rewrite the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -8584,7 +8584,7 @@ static void /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -8665,7 +8665,7 @@ genReturnToInterpreterTrampoline(void) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -11076,9 +11076,9 @@ relocateCallsInClosedPIC(CogMethod *cPIC) /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pcSqInt - 6)) == 141) - && (((byteAt(pcSqInt - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pcSqInt - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pcSqInt - 8)) == 141) - && (((byteAt(pcSqInt - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pcSqInt - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -14289,7 +14289,7 @@ genPrimitiveHighBit(void) /* begin ArithmeticShiftRightCq:R: */ genoperandoperand(ArithmeticShiftRightCqR, quickConstant, TempReg); - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) { @@ -16581,7 +16581,7 @@ genPrimitiveFloatNotEqual(void) static sqInt genPrimitiveIdentityHash(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *jumpImm; AbstractInstruction *jumpNotCharacter; AbstractInstruction *jumpNotSet; @@ -16636,15 +16636,14 @@ genPrimitiveIdentityHash(void) } /* begin compileInvokeCENewHashOf */ - self_in_CogX64Compiler = ((AbstractInstruction *) (backEnd)); + self_in_CogX64Compiler = backEnd; - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ReceiverResultReg, CArg0Reg); CallFullRTregistersToBeSavedMask(((usqInt)ceNewHashOf), (1U << VarBaseReg)); cascade0 = backEnd; - self_in_CogX64Compiler = ((AbstractInstruction *) cascade0); /* begin genRemoveNArgsFromStack: */ genWriteCResultIntoReg(cascade0, ReceiverResultReg); @@ -27244,8 +27243,8 @@ genPushRegisterArgsForNumArgsscratchReg(AbstractInstruction *self_in_CogX64Compi /* This is a no-op on x64 SysV since the ABI passes up to 6 args in registers and trampolines currently observe a limit of 4. - But the WIN64 ABI always reserve shadow space for saving up to 4 parameter - registers (even if less than 4 args). + But the WIN64 ABI always reserves shadow space for saving up to 4 + parameter registers (even if less than 4 args). */ /* CogX64Compiler>>#genRemoveNArgsFromStack: */ @@ -28175,7 +28174,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #genSubstituteReturnAddress: #PushCw: #gen:literal: #checkLiteral:forInstruction: */ genoperand(PushCw, (((flags & PrimCallCollectsProfileSamples) != 0) @@ -28192,7 +28191,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #CallFullRT: #CallFull: #gen:literal: #checkLiteral:forInstruction: */ genoperand(CallFull, ((sqInt)primitiveRoutine)); @@ -28360,7 +28359,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* If the primitive is in the interpreter then its address won't change relative to the code zone over time, whereas if it is in a plugin its address could change if the module is un/re/over/loaded. @@ -28468,7 +28467,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (is32BitSignedImmediate(backEnd, maximumDistanceFromCodeZone(((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)))) { /* begin CallRT: */ abstractInstruction = genoperand(Call, ((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)); @@ -29840,7 +29839,7 @@ genPrimReturnEnterCogCodeEnilopmart(sqInt profiling) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (regOrConst0 < NoReg) { /* #MoveCq:R: #gen:quickConstant:operand: #checkQuickConstant:forInstruction: */ genoperandoperand(MoveCqR, -2 - regOrConst0, CArg0Reg); @@ -30192,7 +30191,7 @@ genTakeProfileSample(void) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ClassReg, CArg0Reg); diff --git a/src/spur64.cog.lowcode/cogitX64WIN64.c b/src/spur64.cog.lowcode/cogitX64WIN64.c index 8ef6383a90..c6641d076f 100644 --- a/src/spur64.cog.lowcode/cogitX64WIN64.c +++ b/src/spur64.cog.lowcode/cogitX64WIN64.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -1109,7 +1109,7 @@ static NoDbgRegParms sqInt genSaveRegs(AbstractInstruction *self_in_CogX64Compil static NoDbgRegParms AbstractInstruction * genSubstituteReturnAddress(AbstractInstruction *self_in_CogX64Compiler, sqInt retpc); static NoDbgRegParms AbstractInstruction * genSwapRRScratch(AbstractInstruction *self_in_CogX64Compiler, sqInt regA, sqInt regB, sqInt regTmp); static NoDbgRegParms sqInt hasVarBaseRegister(AbstractInstruction *self_in_CogX64Compiler); -static NoDbgRegParms int instructionSizeAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc); +static NoDbgRegParms sqInt instructionSizeAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc); static NoDbgRegParms int is32BitSignedImmediate(AbstractInstruction *self_in_CogX64Compiler, sqInt a64BitUnsignedOperand); static NoDbgRegParms int isCallPrecedingReturnPC(AbstractInstruction *self_in_CogX64Compiler, sqInt mcpc); static NoDbgRegParms sqInt isJumpAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc); @@ -5975,10 +5975,10 @@ compileCallFornumArgsargargargargfloatResultRegregsToSave(void *aRoutine, sqInt regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -5996,7 +5996,7 @@ l1:; /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ assert(numArgs <= 4); if (numArgs > 0) { if (regOrConst0 < NoReg) { @@ -6092,10 +6092,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -6113,7 +6113,7 @@ l1:; /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ assert(numArgs <= 4); if (numArgs > 0) { if (regOrConst0 < NoReg) { @@ -6207,10 +6207,10 @@ compileCallFornumArgsfloatArgfloatArgfloatArgfloatArgresultRegregsToSave(void *a regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -6228,7 +6228,7 @@ l1:; /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (!numArgs) { goto l2; } @@ -6791,15 +6791,15 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* write the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); return 0; } @@ -6834,21 +6834,21 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = (((sqInt)cPIC)) + (sizeof(CogMethod)); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); storeLiteralbeforeFollowingAddress(backEnd, operand, ((((sqInt)cPIC)) + firstCPICCaseOffset) - (jumpLongByteSize(backEnd))); /* rewrite the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -8609,7 +8609,7 @@ static void /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -8694,7 +8694,7 @@ genReturnToInterpreterTrampoline(void) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -11105,9 +11105,9 @@ relocateCallsInClosedPIC(CogMethod *cPIC) /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pcSqInt - 6)) == 141) - && (((byteAt(pcSqInt - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pcSqInt - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pcSqInt - 8)) == 141) - && (((byteAt(pcSqInt - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pcSqInt - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -14318,7 +14318,7 @@ genPrimitiveHighBit(void) /* begin ArithmeticShiftRightCq:R: */ genoperandoperand(ArithmeticShiftRightCqR, quickConstant, TempReg); - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) { @@ -16610,7 +16610,7 @@ genPrimitiveFloatNotEqual(void) static sqInt genPrimitiveIdentityHash(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *jumpImm; AbstractInstruction *jumpNotCharacter; AbstractInstruction *jumpNotSet; @@ -16665,16 +16665,15 @@ genPrimitiveIdentityHash(void) } /* begin compileInvokeCENewHashOf */ - self_in_CogX64Compiler = ((AbstractInstruction *) (backEnd)); + self_in_CogX64Compiler = backEnd; genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ReceiverResultReg, CArg0Reg); CallFullRTregistersToBeSavedMask(((usqInt)ceNewHashOf), (1U << VarBaseReg)); cascade0 = backEnd; - self_in_CogX64Compiler = ((AbstractInstruction *) cascade0); /* begin genRemoveNArgsFromStack: */ /* AddCq:R: */ @@ -27278,8 +27277,8 @@ genPushRegisterArgsForNumArgsscratchReg(AbstractInstruction *self_in_CogX64Compi /* This is a no-op on x64 SysV since the ABI passes up to 6 args in registers and trampolines currently observe a limit of 4. - But the WIN64 ABI always reserve shadow space for saving up to 4 parameter - registers (even if less than 4 args). + But the WIN64 ABI always reserves shadow space for saving up to 4 + parameter registers (even if less than 4 args). */ /* CogX64Compiler>>#genRemoveNArgsFromStack: */ @@ -27365,7 +27364,7 @@ hasVarBaseRegister(AbstractInstruction *self_in_CogX64Compiler) occur within a larger method. This is very far from a full decode. */ /* CogX64Compiler>>#instructionSizeAt: */ -static NoDbgRegParms int +static NoDbgRegParms sqInt instructionSizeAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc) { sqInt op; @@ -27558,7 +27557,7 @@ jumpTargetPCAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc) { sqInt byte; sqInt offset; - int size; + sqInt size; size = instructionSizeAt(self_in_CogX64Compiler, pc); if (size == 2) { @@ -28216,7 +28215,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #genSubstituteReturnAddress: #PushCw: #gen:literal: #checkLiteral:forInstruction: */ genoperand(PushCw, (((flags & PrimCallCollectsProfileSamples) != 0) @@ -28237,7 +28236,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #CallFullRT: #CallFull: #gen:literal: #checkLiteral:forInstruction: */ genoperand(CallFull, ((sqInt)primitiveRoutine)); @@ -28413,7 +28412,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* If the primitive is in the interpreter then its address won't change relative to the code zone over time, whereas if it is in a plugin its address could change if the module is un/re/over/loaded. @@ -28529,7 +28528,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (is32BitSignedImmediate(backEnd, maximumDistanceFromCodeZone(((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)))) { /* begin CallRT: */ abstractInstruction = genoperand(Call, ((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)); @@ -29905,7 +29904,7 @@ genPrimReturnEnterCogCodeEnilopmart(sqInt profiling) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (regOrConst0 < NoReg) { /* #MoveCq:R: #gen:quickConstant:operand: #checkQuickConstant:forInstruction: */ genoperandoperand(MoveCqR, -2 - regOrConst0, CArg0Reg); @@ -30265,7 +30264,7 @@ genTakeProfileSample(void) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ClassReg, CArg0Reg); diff --git a/src/spur64.cog/cogit.h b/src/spur64.cog/cogit.h index 26b9764c83..e1a2ffac96 100644 --- a/src/spur64.cog/cogit.h +++ b/src/spur64.cog/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) */ diff --git a/src/spur64.cog/cogitARMv8.c b/src/spur64.cog/cogitARMv8.c index c05ddd610a..92a5be3cd0 100644 --- a/src/spur64.cog/cogitARMv8.c +++ b/src/spur64.cog/cogitARMv8.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -9061,7 +9061,7 @@ checkIfValidOopRefAndTargetpccogMethod(sqInt annotation, char *mcpc, CogMethod * /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -9204,7 +9204,7 @@ checkIfValidOopRefpccogMethod(sqInt annotation, char *mcpc, CogMethod *cogMethod } /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); selectorOrCacheTag = long32At(pc); if ((entryPoint > methodZoneBase) && ((offset != cmNoCheckEntryOffset) @@ -9645,7 +9645,7 @@ cogExtendPICCaseNMethodtagisMNUCase(CogMethod *cPIC, sqInt caseNMethod, sqInt ca jumpTargetAddr = address - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); /* and update the header flag for the number of cases */ ((((CogMethod *) ((((usqInt)cPIC)) + codeToDataDelta)))->cPICNumCases = ((cPIC->cPICNumCases)) + 1); @@ -11258,14 +11258,14 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - assert((instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 4))) - || (instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 8)))); + assert((instructionIsADR(backEnd, instructionAt(backEnd, pc - 4))) + || (instructionIsADR(backEnd, instructionAt(backEnd, pc - 8)))); /* write the final desperate jump to cePICMissXArgs */ callTargetAddress = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteImm26JumpBeforetarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); + rewriteImm26JumpBeforetarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); return 0; } @@ -11302,19 +11302,19 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, callTargetAddress = (((sqInt)cPIC)) + (sizeof(CogMethod)); /* begin rewriteJumpLongAt:target: */ - rewriteImm26JumpBeforetarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + firstCPICCaseOffset, callTargetAddress); + rewriteImm26JumpBeforetarget(backEnd, (((sqInt)cPIC)) + firstCPICCaseOffset, callTargetAddress); storeLiteralbeforeFollowingAddress(backEnd, operand, ((((sqInt)cPIC)) + firstCPICCaseOffset) - (jumpLongByteSize(backEnd))); /* rewrite the final desperate jump to cePICMissXArgs */ callTargetAddress = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteImm26JumpBeforetarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); + rewriteImm26JumpBeforetarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - assert((instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 4))) - || (instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 8)))); + assert((instructionIsADR(backEnd, instructionAt(backEnd, pc - 4))) + || (instructionIsADR(backEnd, instructionAt(backEnd, pc - 8)))); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -11324,7 +11324,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = target; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11396,7 +11396,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11413,7 +11413,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -13810,12 +13810,12 @@ initializeCodeZoneFromupTo(sqInt startAddress, sqInt endAddress) /* begin detectFeaturesOnMacOS */ # else # if __linux__ - detectFeaturesOnLinux(((AbstractInstruction *) backEnd)); + detectFeaturesOnLinux(backEnd); # else - detectFeaturesOnRawMachine(((AbstractInstruction *) backEnd)); + detectFeaturesOnRawMachine(backEnd); # endif -# endif // __APPLE__ +# endif /* begin maybeGenerateCacheFlush */ @@ -15209,7 +15209,7 @@ markLiteralsAndUnlinkIfUnmarkedSendpcmethod(sqInt annotation, char *mcpc, CogMet if (annotation >= IsSendCall) { /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -15298,7 +15298,7 @@ markLiteralspcmethod(sqInt annotation, char *mcpc, CogMethod *cogMethod) if (annotation >= IsSendCall) { /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -16166,8 +16166,8 @@ relocateCallsInClosedPIC(CogMethod *cPIC) pcSqInt = (addressOfEndOfCaseinCPIC(2, cPIC)) + (loadPICLiteralByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - assert((instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pcSqInt - 4))) - || (instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pcSqInt - 8)))); + assert((instructionIsADR(backEnd, instructionAt(backEnd, pcSqInt - 4))) + || (instructionIsADR(backEnd, instructionAt(backEnd, pcSqInt - 8)))); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -16299,7 +16299,7 @@ remapIfObjectRefpchasYoung(sqInt annotation, char *mcpc, CogMethod *hasYoungPtr) if (annotation >= IsSendCall) { /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -25281,7 +25281,7 @@ checkValidOopReference(sqInt anOop) static void compileInvokeCENewHashOf(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *inst; backEnd; diff --git a/src/spur64.cog/cogitX64SysV.c b/src/spur64.cog/cogitX64SysV.c index 27ed956848..4161f6a41b 100644 --- a/src/spur64.cog/cogitX64SysV.c +++ b/src/spur64.cog/cogitX64SysV.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -5818,10 +5818,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -5835,7 +5835,7 @@ l1:; /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ assert(numArgs <= 4); if (numArgs > 0) { if (regOrConst0 < NoReg) { @@ -6331,15 +6331,15 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* write the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); return 0; } @@ -6374,21 +6374,21 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = (((sqInt)cPIC)) + (sizeof(CogMethod)); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); storeLiteralbeforeFollowingAddress(backEnd, operand, ((((sqInt)cPIC)) + firstCPICCaseOffset) - (jumpLongByteSize(backEnd))); /* rewrite the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -8109,7 +8109,7 @@ static void /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -8190,7 +8190,7 @@ genReturnToInterpreterTrampoline(void) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -10474,9 +10474,9 @@ relocateCallsInClosedPIC(CogMethod *cPIC) /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pcSqInt - 6)) == 141) - && (((byteAt(pcSqInt - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pcSqInt - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pcSqInt - 8)) == 141) - && (((byteAt(pcSqInt - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pcSqInt - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -13314,7 +13314,7 @@ genPrimitiveHighBit(void) /* begin ArithmeticShiftRightCq:R: */ genoperandoperand(ArithmeticShiftRightCqR, quickConstant, TempReg); - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) { @@ -15566,7 +15566,7 @@ genPrimitiveFloatNotEqual(void) static sqInt genPrimitiveIdentityHash(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *jumpImm; AbstractInstruction *jumpNotCharacter; AbstractInstruction *jumpNotSet; @@ -15621,15 +15621,14 @@ genPrimitiveIdentityHash(void) } /* begin compileInvokeCENewHashOf */ - self_in_CogX64Compiler = ((AbstractInstruction *) (backEnd)); + self_in_CogX64Compiler = backEnd; - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ReceiverResultReg, CArg0Reg); CallFullRTregistersToBeSavedMask(((usqInt)ceNewHashOf), (1U << VarBaseReg)); cascade0 = backEnd; - self_in_CogX64Compiler = ((AbstractInstruction *) cascade0); /* begin genRemoveNArgsFromStack: */ genWriteCResultIntoReg(cascade0, ReceiverResultReg); @@ -25574,8 +25573,8 @@ genPushRegisterArgsForNumArgsscratchReg(AbstractInstruction *self_in_CogX64Compi /* This is a no-op on x64 SysV since the ABI passes up to 6 args in registers and trampolines currently observe a limit of 4. - But the WIN64 ABI always reserve shadow space for saving up to 4 parameter - registers (even if less than 4 args). + But the WIN64 ABI always reserves shadow space for saving up to 4 + parameter registers (even if less than 4 args). */ /* CogX64Compiler>>#genRemoveNArgsFromStack: */ @@ -26494,7 +26493,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #genSubstituteReturnAddress: #PushCw: #gen:literal: #checkLiteral:forInstruction: */ genoperand(PushCw, (((flags & PrimCallCollectsProfileSamples) != 0) @@ -26511,7 +26510,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #CallFullRT: #CallFull: #gen:literal: #checkLiteral:forInstruction: */ genoperand(CallFull, ((sqInt)primitiveRoutine)); @@ -26679,7 +26678,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* If the primitive is in the interpreter then its address won't change relative to the code zone over time, whereas if it is in a plugin its address could change if the module is un/re/over/loaded. @@ -26787,7 +26786,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (is32BitSignedImmediate(backEnd, maximumDistanceFromCodeZone(((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)))) { /* begin CallRT: */ abstractInstruction = genoperand(Call, ((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)); @@ -28131,7 +28130,7 @@ genPrimReturnEnterCogCodeEnilopmart(sqInt profiling) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (regOrConst0 < NoReg) { /* #MoveCq:R: #gen:quickConstant:operand: #checkQuickConstant:forInstruction: */ genoperandoperand(MoveCqR, -2 - regOrConst0, CArg0Reg); @@ -28483,7 +28482,7 @@ genTakeProfileSample(void) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ClassReg, CArg0Reg); diff --git a/src/spur64.cog/cogitX64WIN64.c b/src/spur64.cog/cogitX64WIN64.c index 05386d822c..b7ecd0c2ae 100644 --- a/src/spur64.cog/cogitX64WIN64.c +++ b/src/spur64.cog/cogitX64WIN64.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -5818,10 +5818,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -5839,7 +5839,7 @@ l1:; /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ assert(numArgs <= 4); if (numArgs > 0) { if (regOrConst0 < NoReg) { @@ -6338,15 +6338,15 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* write the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); return 0; } @@ -6381,21 +6381,21 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = (((sqInt)cPIC)) + (sizeof(CogMethod)); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); storeLiteralbeforeFollowingAddress(backEnd, operand, ((((sqInt)cPIC)) + firstCPICCaseOffset) - (jumpLongByteSize(backEnd))); /* rewrite the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -8120,7 +8120,7 @@ static void /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -8205,7 +8205,7 @@ genReturnToInterpreterTrampoline(void) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -10489,9 +10489,9 @@ relocateCallsInClosedPIC(CogMethod *cPIC) /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pcSqInt - 6)) == 141) - && (((byteAt(pcSqInt - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pcSqInt - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pcSqInt - 8)) == 141) - && (((byteAt(pcSqInt - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pcSqInt - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -13329,7 +13329,7 @@ genPrimitiveHighBit(void) /* begin ArithmeticShiftRightCq:R: */ genoperandoperand(ArithmeticShiftRightCqR, quickConstant, TempReg); - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) { @@ -15581,7 +15581,7 @@ genPrimitiveFloatNotEqual(void) static sqInt genPrimitiveIdentityHash(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *jumpImm; AbstractInstruction *jumpNotCharacter; AbstractInstruction *jumpNotSet; @@ -15636,16 +15636,15 @@ genPrimitiveIdentityHash(void) } /* begin compileInvokeCENewHashOf */ - self_in_CogX64Compiler = ((AbstractInstruction *) (backEnd)); + self_in_CogX64Compiler = backEnd; genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ReceiverResultReg, CArg0Reg); CallFullRTregistersToBeSavedMask(((usqInt)ceNewHashOf), (1U << VarBaseReg)); cascade0 = backEnd; - self_in_CogX64Compiler = ((AbstractInstruction *) cascade0); /* begin genRemoveNArgsFromStack: */ /* AddCq:R: */ @@ -25594,8 +25593,8 @@ genPushRegisterArgsForNumArgsscratchReg(AbstractInstruction *self_in_CogX64Compi /* This is a no-op on x64 SysV since the ABI passes up to 6 args in registers and trampolines currently observe a limit of 4. - But the WIN64 ABI always reserve shadow space for saving up to 4 parameter - registers (even if less than 4 args). + But the WIN64 ABI always reserves shadow space for saving up to 4 + parameter registers (even if less than 4 args). */ /* CogX64Compiler>>#genRemoveNArgsFromStack: */ @@ -26521,7 +26520,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #genSubstituteReturnAddress: #PushCw: #gen:literal: #checkLiteral:forInstruction: */ genoperand(PushCw, (((flags & PrimCallCollectsProfileSamples) != 0) @@ -26542,7 +26541,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #CallFullRT: #CallFull: #gen:literal: #checkLiteral:forInstruction: */ genoperand(CallFull, ((sqInt)primitiveRoutine)); @@ -26718,7 +26717,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* If the primitive is in the interpreter then its address won't change relative to the code zone over time, whereas if it is in a plugin its address could change if the module is un/re/over/loaded. @@ -26834,7 +26833,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (is32BitSignedImmediate(backEnd, maximumDistanceFromCodeZone(((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)))) { /* begin CallRT: */ abstractInstruction = genoperand(Call, ((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)); @@ -28182,7 +28181,7 @@ genPrimReturnEnterCogCodeEnilopmart(sqInt profiling) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (regOrConst0 < NoReg) { /* #MoveCq:R: #gen:quickConstant:operand: #checkQuickConstant:forInstruction: */ genoperandoperand(MoveCqR, -2 - regOrConst0, CArg0Reg); @@ -28542,7 +28541,7 @@ genTakeProfileSample(void) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ClassReg, CArg0Reg); diff --git a/src/spur64.sista/cogit.h b/src/spur64.sista/cogit.h index 21ba1d0a8f..ff4a49b82d 100644 --- a/src/spur64.sista/cogit.h +++ b/src/spur64.sista/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) */ diff --git a/src/spur64.sista/cogitARMv8.c b/src/spur64.sista/cogitARMv8.c index 1bb7a4e121..c5b7f27ad9 100644 --- a/src/spur64.sista/cogitARMv8.c +++ b/src/spur64.sista/cogitARMv8.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -9207,7 +9207,7 @@ checkIfValidOopRefAndTargetpccogMethod(sqInt annotation, char *mcpc, CogMethod * /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -9350,7 +9350,7 @@ checkIfValidOopRefpccogMethod(sqInt annotation, char *mcpc, CogMethod *cogMethod } /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); selectorOrCacheTag = long32At(pc); if ((entryPoint > methodZoneBase) && ((offset != cmNoCheckEntryOffset) @@ -9791,7 +9791,7 @@ cogExtendPICCaseNMethodtagisMNUCase(CogMethod *cPIC, sqInt caseNMethod, sqInt ca jumpTargetAddr = address - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); /* and update the header flag for the number of cases */ ((((CogMethod *) ((((usqInt)cPIC)) + codeToDataDelta)))->cPICNumCases = ((cPIC->cPICNumCases)) + 1); @@ -11463,14 +11463,14 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - assert((instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 4))) - || (instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 8)))); + assert((instructionIsADR(backEnd, instructionAt(backEnd, pc - 4))) + || (instructionIsADR(backEnd, instructionAt(backEnd, pc - 8)))); /* write the final desperate jump to cePICMissXArgs */ callTargetAddress = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteImm26JumpBeforetarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); + rewriteImm26JumpBeforetarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); return 0; } @@ -11507,19 +11507,19 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, callTargetAddress = (((sqInt)cPIC)) + (sizeof(CogMethod)); /* begin rewriteJumpLongAt:target: */ - rewriteImm26JumpBeforetarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + firstCPICCaseOffset, callTargetAddress); + rewriteImm26JumpBeforetarget(backEnd, (((sqInt)cPIC)) + firstCPICCaseOffset, callTargetAddress); storeLiteralbeforeFollowingAddress(backEnd, operand, ((((sqInt)cPIC)) + firstCPICCaseOffset) - (jumpLongByteSize(backEnd))); /* rewrite the final desperate jump to cePICMissXArgs */ callTargetAddress = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteImm26JumpBeforetarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); + rewriteImm26JumpBeforetarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, callTargetAddress); pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - assert((instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 4))) - || (instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pc - 8)))); + assert((instructionIsADR(backEnd, instructionAt(backEnd, pc - 4))) + || (instructionIsADR(backEnd, instructionAt(backEnd, pc - 8)))); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -11529,7 +11529,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = target; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11601,7 +11601,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -11618,7 +11618,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteImm19JumpBeforetarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteImm19JumpBeforetarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -15157,7 +15157,7 @@ markLiteralsAndUnlinkIfUnmarkedSendpcmethod(sqInt annotation, char *mcpc, CogMet if (annotation >= IsSendCall) { /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -15246,7 +15246,7 @@ markLiteralspcmethod(sqInt annotation, char *mcpc, CogMethod *cogMethod) if (annotation >= IsSendCall) { /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -16167,8 +16167,8 @@ relocateCallsInClosedPIC(CogMethod *cPIC) pcSqInt = (addressOfEndOfCaseinCPIC(2, cPIC)) + (loadPICLiteralByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - assert((instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pcSqInt - 4))) - || (instructionIsADR(((AbstractInstruction *) backEnd), instructionAt(((AbstractInstruction *) backEnd), pcSqInt - 8)))); + assert((instructionIsADR(backEnd, instructionAt(backEnd, pcSqInt - 4))) + || (instructionIsADR(backEnd, instructionAt(backEnd, pcSqInt - 8)))); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -16301,7 +16301,7 @@ remapIfObjectRefpchasYoung(sqInt annotation, char *mcpc, CogMethod *hasYoungPtr) if (annotation >= IsSendCall) { /* begin entryCacheTagAndCouldBeObjectAt:annotation:into: */ /* begin inlineCacheTagAt: */ - pc = pcRelativeAddressAt(((AbstractInstruction *) backEnd), ((usqInt)((((sqInt)mcpc)) - 8))); + pc = pcRelativeAddressAt(backEnd, ((usqInt)((((sqInt)mcpc)) - 8))); cacheTag1 = long32At(pc); entryPointSqInt = callTargetFromReturnAddress(backEnd, ((sqInt)mcpc)); @@ -25595,7 +25595,7 @@ checkValidOopReference(sqInt anOop) static void compileInvokeCENewHashOf(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *inst; backEnd; @@ -38720,12 +38720,12 @@ initializeCodeZoneFromupTo(sqInt startAddress, sqInt endAddress) /* begin detectFeaturesOnMacOS */ # else # if __linux__ - detectFeaturesOnLinux(((AbstractInstruction *) backEnd)); + detectFeaturesOnLinux(backEnd); # else - detectFeaturesOnRawMachine(((AbstractInstruction *) backEnd)); + detectFeaturesOnRawMachine(backEnd); # endif -# endif // __APPLE__ +# endif /* begin maybeGenerateCacheFlush */ diff --git a/src/spur64.sista/cogitX64SysV.c b/src/spur64.sista/cogitX64SysV.c index dc085aade6..8945e05913 100644 --- a/src/spur64.sista/cogitX64SysV.c +++ b/src/spur64.sista/cogitX64SysV.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -1044,7 +1044,7 @@ static NoDbgRegParms sqInt genSaveRegs(AbstractInstruction *self_in_CogX64Compil static NoDbgRegParms AbstractInstruction * genSubstituteReturnAddress(AbstractInstruction *self_in_CogX64Compiler, sqInt retpc); static NoDbgRegParms AbstractInstruction * genSwapRRScratch(AbstractInstruction *self_in_CogX64Compiler, sqInt regA, sqInt regB, sqInt regTmp); static NoDbgRegParms sqInt hasVarBaseRegister(AbstractInstruction *self_in_CogX64Compiler); -static NoDbgRegParms int instructionSizeAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc); +static NoDbgRegParms sqInt instructionSizeAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc); static NoDbgRegParms int is32BitSignedImmediate(AbstractInstruction *self_in_CogX64Compiler, sqInt a64BitUnsignedOperand); static NoDbgRegParms int isCallPrecedingReturnPC(AbstractInstruction *self_in_CogX64Compiler, sqInt mcpc); static NoDbgRegParms sqInt isJumpAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc); @@ -6014,10 +6014,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -6031,7 +6031,7 @@ l1:; /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ assert(numArgs <= 4); if (numArgs > 0) { if (regOrConst0 < NoReg) { @@ -6527,15 +6527,15 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* write the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); return 0; } @@ -6570,21 +6570,21 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = (((sqInt)cPIC)) + (sizeof(CogMethod)); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); storeLiteralbeforeFollowingAddress(backEnd, operand, ((((sqInt)cPIC)) + firstCPICCaseOffset) - (jumpLongByteSize(backEnd))); /* rewrite the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -8264,7 +8264,7 @@ static void /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -8345,7 +8345,7 @@ genReturnToInterpreterTrampoline(void) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -10624,9 +10624,9 @@ relocateCallsInClosedPIC(CogMethod *cPIC) /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pcSqInt - 6)) == 141) - && (((byteAt(pcSqInt - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pcSqInt - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pcSqInt - 8)) == 141) - && (((byteAt(pcSqInt - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pcSqInt - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -13529,7 +13529,7 @@ genPrimitiveHighBit(void) /* begin ArithmeticShiftRightCq:R: */ genoperandoperand(ArithmeticShiftRightCqR, quickConstant, TempReg); - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) { @@ -15900,7 +15900,7 @@ genPrimitiveFloatNotEqual(void) static sqInt genPrimitiveIdentityHash(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *jumpImm; AbstractInstruction *jumpNotCharacter; AbstractInstruction *jumpNotSet; @@ -15955,15 +15955,14 @@ genPrimitiveIdentityHash(void) } /* begin compileInvokeCENewHashOf */ - self_in_CogX64Compiler = ((AbstractInstruction *) (backEnd)); + self_in_CogX64Compiler = backEnd; - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ReceiverResultReg, CArg0Reg); CallFullRTregistersToBeSavedMask(((usqInt)ceNewHashOf), (1U << VarBaseReg)); cascade0 = backEnd; - self_in_CogX64Compiler = ((AbstractInstruction *) cascade0); /* begin genRemoveNArgsFromStack: */ genWriteCResultIntoReg(cascade0, ReceiverResultReg); @@ -26659,8 +26658,8 @@ genPushRegisterArgsForNumArgsscratchReg(AbstractInstruction *self_in_CogX64Compi /* This is a no-op on x64 SysV since the ABI passes up to 6 args in registers and trampolines currently observe a limit of 4. - But the WIN64 ABI always reserve shadow space for saving up to 4 parameter - registers (even if less than 4 args). + But the WIN64 ABI always reserves shadow space for saving up to 4 + parameter registers (even if less than 4 args). */ /* CogX64Compiler>>#genRemoveNArgsFromStack: */ @@ -26743,7 +26742,7 @@ hasVarBaseRegister(AbstractInstruction *self_in_CogX64Compiler) occur within a larger method. This is very far from a full decode. */ /* CogX64Compiler>>#instructionSizeAt: */ -static NoDbgRegParms int +static NoDbgRegParms sqInt instructionSizeAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc) { sqInt op; @@ -26936,7 +26935,7 @@ jumpTargetPCAt(AbstractInstruction *self_in_CogX64Compiler, sqInt pc) { sqInt byte; sqInt offset; - int size; + sqInt size; size = instructionSizeAt(self_in_CogX64Compiler, pc); if (size == 2) { @@ -27579,7 +27578,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #genSubstituteReturnAddress: #PushCw: #gen:literal: #checkLiteral:forInstruction: */ genoperand(PushCw, (((flags & PrimCallCollectsProfileSamples) != 0) @@ -27596,7 +27595,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #CallFullRT: #CallFull: #gen:literal: #checkLiteral:forInstruction: */ genoperand(CallFull, ((sqInt)primitiveRoutine)); @@ -27764,7 +27763,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* If the primitive is in the interpreter then its address won't change relative to the code zone over time, whereas if it is in a plugin its address could change if the module is un/re/over/loaded. @@ -27872,7 +27871,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (is32BitSignedImmediate(backEnd, maximumDistanceFromCodeZone(((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)))) { /* begin CallRT: */ abstractInstruction = genoperand(Call, ((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)); @@ -29192,7 +29191,7 @@ genPrimReturnEnterCogCodeEnilopmart(sqInt profiling) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (regOrConst0 < NoReg) { /* #MoveCq:R: #gen:quickConstant:operand: #checkQuickConstant:forInstruction: */ genoperandoperand(MoveCqR, -2 - regOrConst0, CArg0Reg); @@ -29544,7 +29543,7 @@ genTakeProfileSample(void) /* begin genMarshallNArgs:arg:arg:arg:arg: */ - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ClassReg, CArg0Reg); diff --git a/src/spur64.sista/cogitX64WIN64.c b/src/spur64.sista/cogitX64WIN64.c index b3b7d6ec70..a49e2689b5 100644 --- a/src/spur64.sista/cogitX64WIN64.c +++ b/src/spur64.sista/cogitX64WIN64.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "SistaCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -6014,10 +6014,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -6035,7 +6035,7 @@ l1:; /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ assert(numArgs <= 4); if (numArgs > 0) { if (regOrConst0 < NoReg) { @@ -6534,15 +6534,15 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* write the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); return 0; } @@ -6577,21 +6577,21 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = (((sqInt)cPIC)) + (sizeof(CogMethod)); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + firstCPICCaseOffset, jumpTargetAddr); storeLiteralbeforeFollowingAddress(backEnd, operand, ((((sqInt)cPIC)) + firstCPICCaseOffset) - (jumpLongByteSize(backEnd))); /* rewrite the final desperate jump to cePICMissXArgs */ jumpTargetAddr = cPICMissTrampolineFor(numArgs); /* begin rewriteJumpLongAt:target: */ - rewriteCallAttarget(((AbstractInstruction *) backEnd), (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); + rewriteCallAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, jumpTargetAddr); pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pc - 6)) == 141) - && (((byteAt(pc - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pc - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pc - 8)) == 141) - && (((byteAt(pc - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pc - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -8275,7 +8275,7 @@ static void /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -8360,7 +8360,7 @@ genReturnToInterpreterTrampoline(void) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #MoveAw:R: #gen:literal:operand: #checkLiteral:forInstruction: */ genoperandoperand(MoveAwR, cReturnAddressAddress(), ABIResultReg); @@ -10639,9 +10639,9 @@ relocateCallsInClosedPIC(CogMethod *cPIC) /* begin relocateMethodReferenceBeforeAddress:by: */ assert((((byteAt(pcSqInt - 6)) == 141) - && (((byteAt(pcSqInt - 5)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7)))) + && (((byteAt(pcSqInt - 5)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7)))) || (((byteAt(pcSqInt - 8)) == 141) - && (((byteAt(pcSqInt - 7)) | (modRMRO(((AbstractInstruction *) backEnd), 0, 0, 7))) == (modRMRO(((AbstractInstruction *) backEnd), ModRegInd, 5, 7))))); + && (((byteAt(pcSqInt - 7)) | (modRMRO(backEnd, 0, 0, 7))) == (modRMRO(backEnd, ModRegInd, 5, 7))))); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -13544,7 +13544,7 @@ genPrimitiveHighBit(void) /* begin ArithmeticShiftRightCq:R: */ genoperandoperand(ArithmeticShiftRightCqR, quickConstant, TempReg); - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) { @@ -15915,7 +15915,7 @@ genPrimitiveFloatNotEqual(void) static sqInt genPrimitiveIdentityHash(void) { - sqInt cascade0; + AbstractInstruction *cascade0; AbstractInstruction *jumpImm; AbstractInstruction *jumpNotCharacter; AbstractInstruction *jumpNotSet; @@ -15970,16 +15970,15 @@ genPrimitiveIdentityHash(void) } /* begin compileInvokeCENewHashOf */ - self_in_CogX64Compiler = ((AbstractInstruction *) (backEnd)); + self_in_CogX64Compiler = backEnd; genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ReceiverResultReg, CArg0Reg); CallFullRTregistersToBeSavedMask(((usqInt)ceNewHashOf), (1U << VarBaseReg)); cascade0 = backEnd; - self_in_CogX64Compiler = ((AbstractInstruction *) cascade0); /* begin genRemoveNArgsFromStack: */ /* AddCq:R: */ @@ -26679,8 +26678,8 @@ genPushRegisterArgsForNumArgsscratchReg(AbstractInstruction *self_in_CogX64Compi /* This is a no-op on x64 SysV since the ABI passes up to 6 args in registers and trampolines currently observe a limit of 4. - But the WIN64 ABI always reserve shadow space for saving up to 4 parameter - registers (even if less than 4 args). + But the WIN64 ABI always reserves shadow space for saving up to 4 + parameter registers (even if less than 4 args). */ /* CogX64Compiler>>#genRemoveNArgsFromStack: */ @@ -27606,7 +27605,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #genSubstituteReturnAddress: #PushCw: #gen:literal: #checkLiteral:forInstruction: */ genoperand(PushCw, (((flags & PrimCallCollectsProfileSamples) != 0) @@ -27627,7 +27626,7 @@ compileInterpreterPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* #CallFullRT: #CallFull: #gen:literal: #checkLiteral:forInstruction: */ genoperand(CallFull, ((sqInt)primitiveRoutine)); @@ -27803,7 +27802,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* If the primitive is in the interpreter then its address won't change relative to the code zone over time, whereas if it is in a plugin its address could change if the module is un/re/over/loaded. @@ -27919,7 +27918,7 @@ compileOnStackExternalPrimitiveflags(void (*primitiveRoutine)(void), sqInt flags /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (is32BitSignedImmediate(backEnd, maximumDistanceFromCodeZone(((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)))) { /* begin CallRT: */ abstractInstruction = genoperand(Call, ((usqIntptr_t)checkForAndFollowForwardedPrimitiveState)); @@ -29243,7 +29242,7 @@ genPrimReturnEnterCogCodeEnilopmart(sqInt profiling) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ if (regOrConst0 < NoReg) { /* #MoveCq:R: #gen:quickConstant:operand: #checkQuickConstant:forInstruction: */ genoperandoperand(MoveCqR, -2 - regOrConst0, CArg0Reg); @@ -29603,7 +29602,7 @@ genTakeProfileSample(void) /* checkQuickConstant:forInstruction: */ genoperandoperand(SubCqR, 32, RSP); - /* WIN64 ABI allways reserve shadow space on the stack for callee to save up to 4 register parameters */ + /* WIN64 ABI always reserves shadow space on the stack for callee to save up to 4 register parameters */ /* MoveR:R: */ genoperandoperand(MoveRR, ClassReg, CArg0Reg); diff --git a/src/v3.cog/cogit.h b/src/v3.cog/cogit.h index 8507916a0f..3c4f060794 100644 --- a/src/v3.cog/cogit.h +++ b/src/v3.cog/cogit.h @@ -1,5 +1,5 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) */ diff --git a/src/v3.cog/cogitARMv5.c b/src/v3.cog/cogitARMv5.c index db866656d7..d7c66e5bbe 100644 --- a/src/v3.cog/cogitARMv5.c +++ b/src/v3.cog/cogitARMv5.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -8778,7 +8778,7 @@ cogExtendPICCaseNMethodtagisMNUCase(CogMethod *cPIC, sqInt caseNMethod, sqInt ca jumpTargetAddr = address - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); /* and update the header flag for the number of cases */ ((((CogMethod *) ((((usqInt)cPIC)) + codeToDataDelta)))->cPICNumCases = ((cPIC->cPICNumCases)) + 1); @@ -9692,10 +9692,10 @@ compileCallFornumArgsargargargargresultRegregsToSave(void *aRoutine, sqInt numAr regMaskCopy = ((regMaskCopy) >> 1); } if ((numRegsPushed == 0) - && ((numIntRegArgs(((AbstractInstruction *) backEnd))) >= numArgs)) { + && ((numIntRegArgs(backEnd)) >= numArgs)) { goto l1; } - wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd)))) < 0) ? 0 : (numArgs - (numIntRegArgs(((AbstractInstruction *) backEnd))))))) % (cStackAlignment / BytesPerWord); + wordsPushedModAlignment = (numRegsPushed + ((((numArgs - (numIntRegArgs(backEnd))) < 0) ? 0 : (numArgs - (numIntRegArgs(backEnd)))))) % (cStackAlignment / BytesPerWord); if (wordsPushedModAlignment) { delta = (cStackAlignment / BytesPerWord) - wordsPushedModAlignment; @@ -10159,7 +10159,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, jumpTargetAddr = target; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -10231,7 +10231,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -10248,7 +10248,7 @@ cPICCompactAndIsNowEmpty(CogMethod *cPIC) jumpTargetAddr = pc - cPICCaseSize; /* begin rewriteCPICJumpAt:target: */ - rewriteTransferAttarget(((AbstractInstruction *) backEnd), addressFollowingJump, jumpTargetAddr); + rewriteTransferAttarget(backEnd, addressFollowingJump, jumpTargetAddr); return 0; } @@ -14109,7 +14109,7 @@ remapIfObjectRefpchasYoung(sqInt annotation, char *mcpc, CogMethod *hasYoungPtr) /* begin rewriteInlineCacheTag:at: */ - longAtput(pcRelativeAddressAt(((AbstractInstruction *) backEnd), (((usqInt)mcpc)) - 8), mappedCacheTag); + longAtput(pcRelativeAddressAt(backEnd, (((usqInt)mcpc)) - 8), mappedCacheTag); } if ((hasYoungPtr != 0) && (isYoung(mappedCacheTag))) { @@ -14191,7 +14191,7 @@ rewriteCPICCaseAttagobjReftarget(sqInt followingAddress, sqInt newTag, sqInt new /* rewite the tag via the first ldr */ /* begin storeLiteral32:beforeFollowingAddress: */ - storeLiteralbeforeFollowingAddress(((AbstractInstruction *) backEnd), newTag, classTagPC); + storeLiteralbeforeFollowingAddress(backEnd, newTag, classTagPC); /* write the jump address for the new target address */ rewriteConditionalJumpLongAttarget(backEnd, followingAddress, newTarget); diff --git a/src/v3.cog/cogitIA32.c b/src/v3.cog/cogitIA32.c index f58c94dd32..b2645dbce3 100644 --- a/src/v3.cog/cogitIA32.c +++ b/src/v3.cog/cogitIA32.c @@ -1,10 +1,10 @@ /* Automatically generated by - CCodeGenerator VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + CCodeGenerator VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 (* Compiler-eem.512) from - StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b + StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 */ -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3494 uuid: c7100ca0-4813-448e-805a-e19823c5991b " __DATE__ ; +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3497 uuid: 0026bd79-6c6f-4506-8a6e-7c4b53a05d53 " __DATE__ ; char *__cogitBuildInfo = __buildInfo; @@ -500,7 +500,7 @@ static NoDbgRegParms AbstractInstruction * genSwapRRScratch(AbstractInstruction static NoDbgRegParms int hasSSE2Instructions(AbstractInstruction *self_in_CogIA32Compiler); static NoDbgRegParms int hasSSEInstructions(AbstractInstruction *self_in_CogIA32Compiler); static NoDbgRegParms sqInt inlineCacheTagAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt callSiteReturnAddress); -static NoDbgRegParms sqInt instructionSizeAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc); +static NoDbgRegParms int instructionSizeAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc); static NoDbgRegParms int isCallPrecedingReturnPC(AbstractInstruction *self_in_CogIA32Compiler, sqInt mcpc); static NoDbgRegParms sqInt isJumpAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc); static NoDbgRegParms sqInt isPCDependent(AbstractInstruction *self_in_CogIA32Compiler); @@ -6506,7 +6506,7 @@ inlineCacheTagAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt callSiteRet It only has to cope with the instructions generated in a block dispatch. */ /* CogIA32Compiler>>#instructionSizeAt: */ -static NoDbgRegParms sqInt +static NoDbgRegParms int instructionSizeAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc) { sqInt op; @@ -6678,7 +6678,7 @@ jumpTargetPCAt(AbstractInstruction *self_in_CogIA32Compiler, sqInt pc) { sqInt byte; sqInt offset; - sqInt size; + int size; size = instructionSizeAt(self_in_CogIA32Compiler, pc); if (size == 2) { @@ -9831,7 +9831,7 @@ configureCPICCase0Case1MethodtagisMNUCasenumArgsdelta(CogMethod *cPIC, CogMethod pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pc, addrDelta); + relocateCallBeforeReturnPCby(backEnd, pc, addrDelta); /* write the final desperate jump to cePICMissXArgs */ rewriteJumpLongAttarget(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, cPICMissTrampolineFor(numArgs)); @@ -9873,7 +9873,7 @@ configureMNUCPICmethodOperandnumArgsdelta(CogMethod *cPIC, sqInt methodOperand, pc = ((((sqInt)cPIC)) + cPICEndOfCodeOffset) - (jumpLongByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pc, addrDelta); + relocateCallBeforeReturnPCby(backEnd, pc, addrDelta); /* finally, rewrite the jump 3 instr before firstCPICCaseOffset to jump to the end of case 2, missing the actual case */ target = addressOfEndOfCaseinCPIC(2, cPIC); @@ -13484,7 +13484,7 @@ relocateCallsInClosedPIC(CogMethod *cPIC) pcSqInt = (addressOfEndOfCaseinCPIC(2, cPIC)) + (loadLiteralByteSize(backEnd)); /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), pcSqInt, refDelta); + relocateCallBeforeReturnPCby(backEnd, pcSqInt, refDelta); relocateJumpLongBeforeFollowingAddressby(backEnd, (((sqInt)cPIC)) + cPICEndOfCodeOffset, -callDelta); } @@ -13546,7 +13546,7 @@ relocateIfCallOrMethodReferencemcpcdelta(sqInt annotation, char *mcpc, CogMethod } if (annotation == IsAbsPCReference) { /* begin relocateMethodReferenceBeforeAddress:by: */ - relocateCallBeforeReturnPCby(((AbstractInstruction *) backEnd), ((sqInt)mcpc), refDelta); + relocateCallBeforeReturnPCby(backEnd, ((sqInt)mcpc), refDelta); } return 0; } @@ -13695,7 +13695,7 @@ rewriteCPICCaseAttagobjReftarget(sqInt followingAddress, sqInt newTag, sqInt new /* rewite the tag via the first ldr */ /* begin storeLiteral32:beforeFollowingAddress: */ - storeLiteralbeforeFollowingAddress(((AbstractInstruction *) backEnd), newTag, classTagPC); + storeLiteralbeforeFollowingAddress(backEnd, newTag, classTagPC); /* write the jump address for the new target address */ rewriteConditionalJumpLongAttarget(backEnd, followingAddress, newTarget); @@ -16210,7 +16210,7 @@ genPrimitiveHighBit(void) /* remove excess tag bits from the receiver oop */ - self_in_CogAbstractInstruction = ((AbstractInstruction *) (backEnd)); + self_in_CogAbstractInstruction = backEnd; /* begin genHighBitIn:ofSmallIntegerOopWithSingleTagBit: */ if ((((cpuidWord1(self_in_CogAbstractInstruction)) & (32)) != 0)) {