|
1 | 1 | /* Automatically generated by |
2 | | - CCodeGenerator VMMaker.oscog-eem.3658 uuid: fe32aec6-a1d5-4e6a-814c-287d3f6467ab |
3 | | - (Cog-eem.501, Compiler-eem.520) |
| 2 | + CCodeGenerator VMMaker.oscog-eem.3660 uuid: e11b031c-e0f4-4561-a732-0fe07bb0183c |
| 3 | + (Cog-eem.502, Compiler-eem.520) |
4 | 4 | from |
5 | | - StackToRegisterMappingCogit VMMaker.oscog-eem.3658 uuid: fe32aec6-a1d5-4e6a-814c-287d3f6467ab |
| 5 | + StackToRegisterMappingCogit VMMaker.oscog-eem.3660 uuid: e11b031c-e0f4-4561-a732-0fe07bb0183c |
6 | 6 | */ |
7 | | -static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3658 uuid: fe32aec6-a1d5-4e6a-814c-287d3f6467ab " __DATE__ ; |
| 7 | +static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.3660 uuid: e11b031c-e0f4-4561-a732-0fe07bb0183c " __DATE__ ; |
8 | 8 | char *__cogitBuildInfo = __buildInfo; |
9 | 9 |
|
10 | 10 |
|
@@ -864,7 +864,6 @@ static NoDbgRegParms AbstractInstruction * gSubRRR(sqInt subReg, sqInt fromReg, |
864 | 864 | static sqInt scanForCleanBlocks(void); |
865 | 865 | extern void setSelectorOfto(CogMethod *cogMethod, sqInt aSelectorOop); |
866 | 866 | static NoDbgRegParms sqInt spanForCleanBlockStartingAt(sqInt startPC); |
867 | | -static NoDbgRegParms usqInt stackCheckOffsetOfBlockAtisMcpc(sqInt blockEntryMcpc, sqInt mcpc); |
868 | 867 | #if VMInvestigations |
869 | 868 | static NoDbgRegParms sqInt storeCogMethodDataImportspcpointer(sqInt annotation, char *mcpc, usqInt **importsPtrPtr); |
870 | 869 | #endif /* VMInvestigations */ |
@@ -909,7 +908,6 @@ static void followForwardedLiteralsInOpenPICList(void); |
909 | 908 | static NoDbgRegParms void freeMethod(CogMethod *cogMethod); |
910 | 909 | static void freeOlderMethodsForCompaction(void); |
911 | 910 | extern sqInt kosherYoungReferrers(void); |
912 | | -static NoDbgRegParms sqInt mcpcisAtStackCheckOfBlockMethodIn(sqInt mcpc, CogMethod *cogMethod); |
913 | 911 | extern CogMethod * methodFor(void *address); |
914 | 912 | #if VMInvestigations |
915 | 913 | extern sqInt methodsCompiledToMachineCodeInto(sqInt arrayObj); |
@@ -1023,7 +1021,7 @@ static sqInt genPrimitiveStringAtPut(void); |
1023 | 1021 | static NoDbgRegParms sqInt genRemoveSmallIntegerTagsInScratchReg(sqInt scratchReg); |
1024 | 1022 | static NoDbgRegParms sqInt genShiftAwaySmallIntegerTagsInScratchReg(sqInt scratchReg); |
1025 | 1023 | static NoDbgRegParms sqInt getLiteralCountOfplusOneinBytesintoscratch(sqInt methodReg, sqInt plusOne, sqInt inBytes, sqInt litCountReg, sqInt scratchReg); |
1026 | | -static NoDbgRegParms sqInt inlineCacheTagForInstance(sqInt oop); |
| 1024 | +static NoDbgRegParms usqInt inlineCacheTagForInstance(sqInt oop); |
1027 | 1025 | static NoDbgRegParms AbstractInstruction * jumpNotSmallIntegerUnsignedValueInRegister(sqInt reg); |
1028 | 1026 | static NoDbgRegParms sqInt markAndTraceCacheTagLiteralinatpc(sqInt literal, CogMethod *cogMethodOrNil, usqInt address); |
1029 | 1027 | static sqInt numSmallIntegerBits(void); |
@@ -7944,9 +7942,10 @@ zoneCallsAreRelative(AbstractInstruction *self_in_CogARMCompiler) |
7944 | 7942 | static NoDbgRegParms CogMethod * |
7945 | 7943 | cmHomeMethod(CogBlockMethod *self_in_CogBlockMethod) |
7946 | 7944 | { |
7947 | | - return ((self_in_CogBlockMethod->cpicHasMNUCaseOrCMIsFullBlock) |
| 7945 | + return (((self_in_CogBlockMethod->cmType)) >= CMMethod |
7948 | 7946 | ? ((CogMethod *) self_in_CogBlockMethod) |
7949 | | - : ((CogMethod *) ((((usqInt)self_in_CogBlockMethod)) - ((self_in_CogBlockMethod->homeOffset))))); |
| 7947 | + : (assert(CMBlock == (self_in_CogBlockMethod->cmType)), |
| 7948 | + ((CogMethod *) ((((usqInt)self_in_CogBlockMethod)) - ((self_in_CogBlockMethod->homeOffset)))))); |
7950 | 7949 | } |
7951 | 7950 |
|
7952 | 7951 | /* CogBlockMethod>>#isCMBlock */ |
@@ -8567,7 +8566,7 @@ callCogCodePopReceiverAndClassRegs(void) |
8567 | 8566 | static NoDbgRegParms sqInt |
8568 | 8567 | ceCPICMissreceiver(CogMethod *cPIC, sqInt receiver) |
8569 | 8568 | { |
8570 | | - sqInt cacheTag; |
| 8569 | + usqInt cacheTag; |
8571 | 8570 | int errorSelectorOrNil; |
8572 | 8571 | sqInt methodOrSelectorIndex; |
8573 | 8572 | sqInt newTargetMethodOrNil; |
@@ -8702,7 +8701,7 @@ ceMalloc(size_t size) |
8702 | 8701 | static NoDbgRegParms sqInt |
8703 | 8702 | ceSICMiss(sqInt receiver) |
8704 | 8703 | { |
8705 | | - sqInt cacheTag; |
| 8704 | + usqInt cacheTag; |
8706 | 8705 | sqInt entryPoint; |
8707 | 8706 | int errorSelectorOrNil; |
8708 | 8707 | sqInt extent; |
@@ -14390,7 +14389,7 @@ void |
14390 | 14389 | linkSendAtintooffsetreceiver(sqInt callSiteReturnAddress, CogMethod *sendingMethod, CogMethod *targetMethod, sqInt theEntryOffset, sqInt receiver) |
14391 | 14390 | { |
14392 | 14391 | sqInt extent; |
14393 | | - sqInt inlineCacheTag; |
| 14392 | + usqInt inlineCacheTag; |
14394 | 14393 |
|
14395 | 14394 | assert((theEntryOffset == cmEntryOffset) |
14396 | 14395 | || (theEntryOffset == cmNoCheckEntryOffset)); |
@@ -16466,19 +16465,6 @@ spanForCleanBlockStartingAt(sqInt startPC) |
16466 | 16465 | return 0; |
16467 | 16466 | } |
16468 | 16467 |
|
16469 | | - /* Cogit>>#stackCheckOffsetOfBlockAt:isMcpc: */ |
16470 | | -static NoDbgRegParms usqInt |
16471 | | -stackCheckOffsetOfBlockAtisMcpc(sqInt blockEntryMcpc, sqInt mcpc) |
16472 | | -{ |
16473 | | - CogBlockMethod *cogBlockMethod; |
16474 | | - |
16475 | | - cogBlockMethod = ((CogBlockMethod *) (blockEntryMcpc - (sizeof(CogBlockMethod)))); |
16476 | | - if (((((sqInt)cogBlockMethod)) + ((cogBlockMethod->stackCheckOffset))) == mcpc) { |
16477 | | - return ((usqInt)cogBlockMethod); |
16478 | | - } |
16479 | | - return 0; |
16480 | | -} |
16481 | | - |
16482 | 16468 |
|
16483 | 16469 | /* Set up things conveniently for stringForEntryPoint:existingImports:limit: */ |
16484 | 16470 |
|
@@ -17850,16 +17836,6 @@ cogMethodContaining(usqInt mcpc) |
17850 | 17836 | prevMethod = cogMethod; |
17851 | 17837 | cogMethod = ((CogMethod *) (roundUpToMethodAlignment(backEnd, (((usqInt)cogMethod)) + ((cogMethod->blockSize))))); |
17852 | 17838 | } |
17853 | | - |
17854 | | - /* Since mcpc is actually instructionPointer we expect that it is either at the stack check |
17855 | | - (normal code zone reclamation invoked through checkForEventsMayContextSwitch:) |
17856 | | - or is in a primitive, immediately following the call of the C primitive routine. */ |
17857 | | - assert((prevMethod) |
17858 | | - && ((mcpc == ((((usqInt)prevMethod)) + ((prevMethod->stackCheckOffset)))) |
17859 | | - || ((mcpcisAtStackCheckOfBlockMethodIn(mcpc, prevMethod)) |
17860 | | - || (((primitiveIndexOfMethodheader((prevMethod->methodObject), (prevMethod->methodHeader))) > 0) |
17861 | | - || ((isCallPrecedingReturnPC(backEnd, mcpc)) |
17862 | | - && ((callTargetFromReturnAddress(backEnd, mcpc)) == (ceCheckForInterruptTrampoline))))))); |
17863 | 17839 | return prevMethod; |
17864 | 17840 | } |
17865 | 17841 |
|
@@ -18104,19 +18080,6 @@ kosherYoungReferrers(void) |
18104 | 18080 | return 1; |
18105 | 18081 | } |
18106 | 18082 |
|
18107 | | - |
18108 | | -/* For assert checking... */ |
18109 | | - |
18110 | | - /* CogMethodZone>>#mcpc:isAtStackCheckOfBlockMethodIn: */ |
18111 | | -static NoDbgRegParms sqInt |
18112 | | -mcpcisAtStackCheckOfBlockMethodIn(sqInt mcpc, CogMethod *cogMethod) |
18113 | | -{ |
18114 | | - if (!((cogMethod->blockEntryOffset))) { |
18115 | | - return 0; |
18116 | | - } |
18117 | | - return (blockDispatchTargetsForperformarg(cogMethod, stackCheckOffsetOfBlockAtisMcpc, mcpc)) != 0; |
18118 | | -} |
18119 | | - |
18120 | 18083 | /* CogMethodZone>>#methodFor: */ |
18121 | 18084 | CogMethod * |
18122 | 18085 | methodFor(void *address) |
@@ -23428,7 +23391,7 @@ getLiteralCountOfplusOneinBytesintoscratch(sqInt methodReg, sqInt plusOne, sqInt |
23428 | 23391 | c.f. getInlineCacheClassTagFrom:into: & inlineCacheTagForClass: */ |
23429 | 23392 |
|
23430 | 23393 | /* CogObjectRepresentationFor32BitSpur>>#inlineCacheTagForInstance: */ |
23431 | | -static NoDbgRegParms sqInt |
| 23394 | +static NoDbgRegParms usqInt |
23432 | 23395 | inlineCacheTagForInstance(sqInt oop) |
23433 | 23396 | { |
23434 | 23397 | return (isImmediate(oop) |
|
0 commit comments