[Vm-dev] [commit][2925] CogVM source as per VMMaker.oscog-eem.724

commits at squeakvm.org commits at squeakvm.org
Tue May 20 21:28:30 UTC 2014


Revision: 2925
Author:   eliot
Date:     2014-05-20 14:28:29 -0700 (Tue, 20 May 2014)
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.724

Slang/general:
VMBIGENDIAN must *not* be defined during generation.  It should be taken from
platforms/??/vm/sqConfig.h.  This should help fix Doug's issues on PPC.

Spur:
Don't mark on allInstances/allObjects.  Use a class var to
mark the choice so we can turn it back on if desired.

Modified Paths:
--------------
    branches/Cog/nscogsrc/vm/cogit.c
    branches/Cog/nscogsrc/vm/cogit.h
    branches/Cog/nscogsrc/vm/cogmethod.h
    branches/Cog/nscogsrc/vm/cointerp.c
    branches/Cog/nscogsrc/vm/cointerp.h
    branches/Cog/nscogsrc/vm/gcc3x-cointerp.c
    branches/Cog/nscogsrc/vm/interp.h
    branches/Cog/nscogsrc/vm/vmCallback.h
    branches/Cog/nsspursrc/vm/cogit.c
    branches/Cog/nsspursrc/vm/cogit.h
    branches/Cog/nsspursrc/vm/cogmethod.h
    branches/Cog/nsspursrc/vm/cointerp.c
    branches/Cog/nsspursrc/vm/cointerp.h
    branches/Cog/nsspursrc/vm/gcc3x-cointerp.c
    branches/Cog/nsspursrc/vm/interp.h
    branches/Cog/nsspursrc/vm/vmCallback.h
    branches/Cog/nsspurstacksrc/vm/gcc3x-interp.c
    branches/Cog/nsspurstacksrc/vm/interp.c
    branches/Cog/nsspurstacksrc/vm/interp.h
    branches/Cog/nsspurstacksrc/vm/vmCallback.h
    branches/Cog/sistasrc/vm/cogit.c
    branches/Cog/sistasrc/vm/cogit.h
    branches/Cog/sistasrc/vm/cogmethod.h
    branches/Cog/sistasrc/vm/cointerp.c
    branches/Cog/sistasrc/vm/cointerp.h
    branches/Cog/sistasrc/vm/gcc3x-cointerp.c
    branches/Cog/sistasrc/vm/interp.h
    branches/Cog/sistasrc/vm/vmCallback.h
    branches/Cog/spursistasrc/vm/cogit.c
    branches/Cog/spursistasrc/vm/cogit.h
    branches/Cog/spursistasrc/vm/cogmethod.h
    branches/Cog/spursistasrc/vm/cointerp.c
    branches/Cog/spursistasrc/vm/cointerp.h
    branches/Cog/spursistasrc/vm/gcc3x-cointerp.c
    branches/Cog/spursistasrc/vm/interp.h
    branches/Cog/spursistasrc/vm/vmCallback.h
    branches/Cog/spursrc/vm/cogit.c
    branches/Cog/spursrc/vm/cogit.h
    branches/Cog/spursrc/vm/cogmethod.h
    branches/Cog/spursrc/vm/cointerp.c
    branches/Cog/spursrc/vm/cointerp.h
    branches/Cog/spursrc/vm/gcc3x-cointerp.c
    branches/Cog/spursrc/vm/interp.h
    branches/Cog/spursrc/vm/vmCallback.h
    branches/Cog/spurstacksrc/vm/gcc3x-interp.c
    branches/Cog/spurstacksrc/vm/interp.c
    branches/Cog/spurstacksrc/vm/interp.h
    branches/Cog/spurstacksrc/vm/vmCallback.h
    branches/Cog/src/vm/cogit.c
    branches/Cog/src/vm/cogit.h
    branches/Cog/src/vm/cogmethod.h
    branches/Cog/src/vm/cointerp.c
    branches/Cog/src/vm/cointerp.h
    branches/Cog/src/vm/cointerpmt.c
    branches/Cog/src/vm/cointerpmt.h
    branches/Cog/src/vm/gcc3x-cointerp.c
    branches/Cog/src/vm/gcc3x-cointerpmt.c
    branches/Cog/src/vm/interp.h
    branches/Cog/src/vm/vmCallback.h
    branches/Cog/stacksrc/vm/gcc3x-interp.c
    branches/Cog/stacksrc/vm/interp.c
    branches/Cog/stacksrc/vm/interp.h
    branches/Cog/stacksrc/vm/vmCallback.h

Property Changed:
----------------
    branches/Cog/platforms/Cross/vm/sqSCCSVersion.h

Modified: branches/Cog/nscogsrc/vm/cogit.c
===================================================================
--- branches/Cog/nscogsrc/vm/cogit.c	2014-05-20 20:05:16 UTC (rev 2924)
+++ branches/Cog/nscogsrc/vm/cogit.c	2014-05-20 21:28:29 UTC (rev 2925)
@@ -1,9 +1,9 @@
 /* Automatically generated by
-	CCodeGenerator VMMaker.oscog-eem.712 uuid: 2f12e8dd-7da6-4358-9eb4-ba4782b7206d
+	CCodeGenerator VMMaker.oscog-eem.724 uuid: 30e942d9-0d06-42d3-8f9a-893dbdee37c2
    from
-	StackToRegisterMappingCogit VMMaker.oscog-eem.712 uuid: 2f12e8dd-7da6-4358-9eb4-ba4782b7206d
+	StackToRegisterMappingCogit VMMaker.oscog-eem.724 uuid: 30e942d9-0d06-42d3-8f9a-893dbdee37c2
  */
-static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.712 uuid: 2f12e8dd-7da6-4358-9eb4-ba4782b7206d " __DATE__ ;
+static char __buildInfo[] = "StackToRegisterMappingCogit VMMaker.oscog-eem.724 uuid: 30e942d9-0d06-42d3-8f9a-893dbdee37c2 " __DATE__ ;
 char *__cogitBuildInfo = __buildInfo;
 
 
@@ -355,201 +355,211 @@
 
 
 /*** Function Prototypes ***/
-static AbstractInstruction * gAndCqR(sqInt quickConstant, sqInt reg);
-static AbstractInstruction * gArithmeticShiftRightRR(sqInt reg1, sqInt reg2);
+
+
+#if defined(PRODUCTION) && !PRODUCTION && defined(__GNUC__) && !defined(NoDbgRegParms)
+# define NoDbgRegParms __attribute__ ((regparm (0)))
+#endif
+
+#if !defined(NoDbgRegParms)
+# define NoDbgRegParms /*empty*/
+#endif
+
+static AbstractInstruction * gAndCqR(sqInt quickConstant, sqInt reg) NoDbgRegParms;
+static AbstractInstruction * gArithmeticShiftRightRR(sqInt reg1, sqInt reg2) NoDbgRegParms;
 sqInt abortOffset(void);
-static sqInt abstractInstructionfollows(AbstractInstruction *theAbstractInstruction, AbstractInstruction *anAbstractInstruction);
-static sqInt abstractRegisterForConcreteRegister(AbstractInstruction * self_in_abstractRegisterForConcreteRegister, sqInt reg);
-static BlockStart * addBlockStartAtnumArgsnumCopiedspan(sqInt bytecodepc, sqInt numArgs, sqInt numCopied, sqInt span);
+static sqInt abstractInstructionfollows(AbstractInstruction *theAbstractInstruction, AbstractInstruction *anAbstractInstruction) NoDbgRegParms;
+static sqInt abstractRegisterForConcreteRegister(AbstractInstruction * self_in_abstractRegisterForConcreteRegister, sqInt reg) NoDbgRegParms;
+static BlockStart * addBlockStartAtnumArgsnumCopiedspan(sqInt bytecodepc, sqInt numArgs, sqInt numCopied, sqInt span) NoDbgRegParms;
 static void addCleanBlockStarts(void);
 void addCogMethodsToHeapMap(void);
-static AbstractInstruction * addDependent(AbstractInstruction * self_in_addDependent, AbstractInstruction *anInstruction);
-static sqInt addressIsInFixups(AbstractInstruction *address);
-static sqInt addressIsInInstructions(AbstractInstruction *address);
-static sqInt addressOfEndOfCaseinCPIC(sqInt n, CogMethod *cPIC);
-static void addToOpenPICList(CogMethod *anOpenPIC);
-static void addToUnpairedMethodList(CogMethod *aCogMethod);
-static void addToYoungReferrers(CogMethod *cogMethod);
-static sqInt alignUptoRoutineBoundary(sqInt anAddress);
+static AbstractInstruction * addDependent(AbstractInstruction * self_in_addDependent, AbstractInstruction *anInstruction) NoDbgRegParms;
+static sqInt addressIsInFixups(AbstractInstruction *address) NoDbgRegParms;
+static sqInt addressIsInInstructions(AbstractInstruction *address) NoDbgRegParms;
+static sqInt addressOfEndOfCaseinCPIC(sqInt n, CogMethod *cPIC) NoDbgRegParms;
+static void addToOpenPICList(CogMethod *anOpenPIC) NoDbgRegParms;
+static void addToUnpairedMethodList(CogMethod *aCogMethod) NoDbgRegParms;
+static void addToYoungReferrers(CogMethod *cogMethod) NoDbgRegParms;
+static sqInt alignUptoRoutineBoundary(sqInt anAddress) NoDbgRegParms;
 static sqInt allMachineCodeObjectReferencesValid(void);
 static sqInt allMethodsHaveCorrectHeader(void);
-static sqInt allocate(sqInt numBytes);
+static sqInt allocate(sqInt numBytes) NoDbgRegParms;
 static sqInt allYoungObjectsAgeInFullGC(void);
-static AbstractInstruction * annotateAbsolutePCRef(AbstractInstruction *abstractInstruction);
-static void annotateBytecodeIfAnnotated(CogSimStackEntry *aSimStackEntry);
-static AbstractInstruction * annotateBytecode(AbstractInstruction *abstractInstruction);
-static AbstractInstruction * annotateobjRef(AbstractInstruction *abstractInstruction, sqInt anOop);
-static AbstractInstruction * annotatewith(AbstractInstruction *abstractInstruction, sqInt annotationFlag);
-static sqInt anyReferencesToRegisterinTopNItems(sqInt reg, sqInt n);
-static void assertSaneJumpTarget(AbstractInstruction *jumpTarget);
+static AbstractInstruction * annotateAbsolutePCRef(AbstractInstruction *abstractInstruction) NoDbgRegParms;
+static void annotateBytecodeIfAnnotated(CogSimStackEntry *aSimStackEntry) NoDbgRegParms;
+static AbstractInstruction * annotateBytecode(AbstractInstruction *abstractInstruction) NoDbgRegParms;
+static AbstractInstruction * annotateobjRef(AbstractInstruction *abstractInstruction, sqInt anOop) NoDbgRegParms;
+static AbstractInstruction * annotatewith(AbstractInstruction *abstractInstruction, sqInt annotationFlag) NoDbgRegParms;
+static sqInt anyReferencesToRegisterinTopNItems(sqInt reg, sqInt n) NoDbgRegParms;
+static void assertSaneJumpTarget(AbstractInstruction *jumpTarget) NoDbgRegParms;
 static sqInt availableRegisterOrNil(void);
-static sqInt blockCreationBytecodeSizeForHeader(sqInt methodHeader);
-static sqInt blockDispatchTargetsForperformarg(CogMethod *cogMethod, usqInt (*binaryFunction)(sqInt mcpc, sqInt arg), sqInt arg);
+static sqInt blockCreationBytecodeSizeForHeader(sqInt methodHeader) NoDbgRegParms;
+static sqInt blockDispatchTargetsForperformarg(CogMethod *cogMethod, usqInt (*binaryFunction)(sqInt mcpc, sqInt arg), sqInt arg) NoDbgRegParms;
 sqInt bytecodePCForstartBcpcin(sqInt mcpc, sqInt startbcpc, CogBlockMethod *cogMethod);
-static AbstractInstruction * CallNewspeakSend(sqInt callTarget);
-static AbstractInstruction * CallRT(sqInt callTarget);
-static AbstractInstruction * CallRTregistersToBeSavedMask(sqInt callTarget, sqInt registersToBeSaved);
-static AbstractInstruction * CallSend(sqInt callTarget);
-static AbstractInstruction * gCmpCqR(sqInt quickConstant, sqInt reg);
-static AbstractInstruction * gCmpCwR(sqInt wordConstant, sqInt reg);
-static sqInt cacheTagIsMarked(sqInt cacheTag);
-static sqInt callerSavedRegisterMask(AbstractInstruction * self_in_callerSavedRegisterMask);
-static sqInt callInstructionByteSize(AbstractInstruction * self_in_callInstructionByteSize);
+static AbstractInstruction * CallNewspeakSend(sqInt callTarget) NoDbgRegParms;
+static AbstractInstruction * CallRT(sqInt callTarget) NoDbgRegParms;
+static AbstractInstruction * CallRTregistersToBeSavedMask(sqInt callTarget, sqInt registersToBeSaved) NoDbgRegParms;
+static AbstractInstruction * CallSend(sqInt callTarget) NoDbgRegParms;
+static AbstractInstruction * gCmpCqR(sqInt quickConstant, sqInt reg) NoDbgRegParms;
+static AbstractInstruction * gCmpCwR(sqInt wordConstant, sqInt reg) NoDbgRegParms;
+static sqInt cacheTagIsMarked(sqInt cacheTag) NoDbgRegParms;
+static sqInt callerSavedRegisterMask(AbstractInstruction * self_in_callerSavedRegisterMask) NoDbgRegParms;
+static sqInt callInstructionByteSize(AbstractInstruction * self_in_callInstructionByteSize) NoDbgRegParms;
 static sqInt callPrimitiveBytecode(void);
-static sqInt callsAreRelative(AbstractInstruction * self_in_callsAreRelative);
-static sqInt callTargetFromReturnAddress(AbstractInstruction * self_in_callTargetFromReturnAddress, sqInt callSiteReturnAddress);
-static sqInt canDivQuoRem(AbstractInstruction * self_in_canDivQuoRem);
+static sqInt callsAreRelative(AbstractInstruction * self_in_callsAreRelative) NoDbgRegParms;
+static sqInt callTargetFromReturnAddress(AbstractInstruction * self_in_callTargetFromReturnAddress, sqInt callSiteReturnAddress) NoDbgRegParms;
+static sqInt canDivQuoRem(AbstractInstruction * self_in_canDivQuoRem) NoDbgRegParms;
 sqInt canLinkToYoungClasses(void);
-static sqInt canMulRR(AbstractInstruction * self_in_canMulRR);
-static sqInt ceClosureCopyDescriptor(sqInt descriptor);
+static sqInt canMulRR(AbstractInstruction * self_in_canMulRR) NoDbgRegParms;
+static sqInt ceClosureCopyDescriptor(sqInt descriptor) NoDbgRegParms;
 sqInt ceCPICMissreceiver(CogMethod *cPIC, sqInt receiver);
-static sqInt ceImplicitReceiverForreceiverclass(sqInt selector, sqInt receiver, sqInt rcvrClass);
+static sqInt ceImplicitReceiverForreceiverclass(sqInt selector, sqInt receiver, sqInt rcvrClass) NoDbgRegParms;
 sqInt ceSICMiss(sqInt receiver);
 void checkAssertsEnabledInCogit(void);
-static sqInt checkIfValidOopRefAndTargetpccogMethod(sqInt annotation, char *mcpc, sqInt cogMethod);
-static sqInt checkIfValidOopRefpccogMethod(sqInt annotation, char *mcpc, sqInt cogMethod);
+static sqInt checkIfValidOopRefAndTargetpccogMethod(sqInt annotation, char *mcpc, sqInt cogMethod) NoDbgRegParms;
+static sqInt checkIfValidOopRefpccogMethod(sqInt annotation, char *mcpc, sqInt cogMethod) NoDbgRegParms;
 sqInt checkIntegrityOfObjectReferencesInCode(sqInt fullGCFlag);
-static sqInt checkMaybeObjRefAt(sqInt mcpc);
+static sqInt checkMaybeObjRefAt(sqInt mcpc) NoDbgRegParms;
 static void checkPrimitiveTableEnablers(void);
-static sqInt checkValidInlineCacheTag(sqInt cacheTag);
-static sqInt checkValidObjectReferencesInClosedPIC(CogMethod *cPIC);
-static sqInt checkValidObjectReference(sqInt anOop);
-static sqInt checkValidOopReference(sqInt anOop);
+static sqInt checkValidInlineCacheTag(sqInt cacheTag) NoDbgRegParms;
+static sqInt checkValidObjectReferencesInClosedPIC(CogMethod *cPIC) NoDbgRegParms;
+static sqInt checkValidObjectReference(sqInt anOop) NoDbgRegParms;
+static sqInt checkValidOopReference(sqInt anOop) NoDbgRegParms;
 static void clearCogCompiledCode(void);
-static sqInt closedPICRefersToUnmarkedObject(CogMethod *cPIC);
-static CogMethod * cmHomeMethod(CogBlockMethod * self_in_cmHomeMethod);
+static sqInt closedPICRefersToUnmarkedObject(CogMethod *cPIC) NoDbgRegParms;
+static CogMethod * cmHomeMethod(CogBlockMethod * self_in_cmHomeMethod) NoDbgRegParms;
 char * codeEntryFor(char *address);
 char * codeEntryNameFor(char *address);
 sqInt cogCodeBase(void);
 sqInt cogCodeConstituents(void);
-static sqInt cogExtendPICCaseNMethodtagisMNUCase(CogMethod *cPIC, sqInt caseNMethod, sqInt caseNTag, sqInt isMNUCase);
+static sqInt cogExtendPICCaseNMethodtagisMNUCase(CogMethod *cPIC, sqInt caseNMethod, sqInt caseNTag, sqInt isMNUCase) NoDbgRegParms;
 void cogitPostGCAction(sqInt gcMode);
 sqInt cogMethodDoesntLookKosher(CogMethod *cogMethod);
 CogMethod * cogMNUPICSelectormethodOperandnumArgs(sqInt selector, sqInt methodOperand, sqInt numArgs);
-static CogMethod * cogOpenPICSelectornumArgs(sqInt selector, sqInt numArgs);
-static CogMethod * cogPICSelectornumArgsCase0MethodCase1MethodtagisMNUCase(sqInt selector, sqInt numArgs, CogMethod *case0CogMethod, sqInt case1MethodOrNil, sqInt case1Tag, sqInt isMNUCase);
+static CogMethod * cogOpenPICSelectornumArgs(sqInt selector, sqInt numArgs) NoDbgRegParms;
+static CogMethod * cogPICSelectornumArgsCase0MethodCase1MethodtagisMNUCase(sqInt selector, sqInt numArgs, CogMethod *case0CogMethod, sqInt case1MethodOrNil, sqInt case1Tag, sqInt isMNUCase) NoDbgRegParms;
 CogMethod * cogselector(sqInt aMethodObj, sqInt aSelectorOop);
 void compactCogCompiledCode(void);
 static void compactCompiledCode(void);
 static void compileAbort(void);
-static sqInt compileAbstractInstructionsFromthrough(sqInt start, sqInt end);
+static sqInt compileAbstractInstructionsFromthrough(sqInt start, sqInt end) NoDbgRegParms;
 static sqInt compileBlockBodies(void);
 static sqInt compileBlockDispatch(void);
-static sqInt compileBlockDispatchFromto(sqInt lowBlockStartIndex, sqInt highBlockStartIndex);
-static void compileBlockEntry(BlockStart *blockStart);
-static void compileBlockFrameBuild(BlockStart *blockStart);
-static void compileBlockFramelessEntry(BlockStart *blockStart);
+static sqInt compileBlockDispatchFromto(sqInt lowBlockStartIndex, sqInt highBlockStartIndex) NoDbgRegParms;
+static void compileBlockEntry(BlockStart *blockStart) NoDbgRegParms;
+static void compileBlockFrameBuild(BlockStart *blockStart) NoDbgRegParms;
+static void compileBlockFramelessEntry(BlockStart *blockStart) NoDbgRegParms;
 static sqInt compileClosedPICPrototype(void);
-static CogMethod * compileCogMethod(sqInt selector);
+static CogMethod * compileCogMethod(sqInt selector) NoDbgRegParms;
 static AbstractInstruction * compileCPICEntry(void);
-static sqInt compileCPICCase0Case1MethodtagisMNUCasenumArgs(CogMethod *cPIC, CogMethod *case0CogMethod, sqInt case1Method, sqInt case1Tag, sqInt isMNUCase, sqInt numArgs);
+static sqInt compileCPICCase0Case1MethodtagisMNUCasenumArgs(CogMethod *cPIC, CogMethod *case0CogMethod, sqInt case1Method, sqInt case1Tag, sqInt isMNUCase, sqInt numArgs) NoDbgRegParms;
 static sqInt compileEntireMethod(void);
 static void compileEntry(void);
 static sqInt compileFallbackToInterpreterPrimitive(void);
 static sqInt compileFrameBuild(void);
 static void compileGetErrorCode(void);
-static sqInt compileInterpreterPrimitive(void (*primitiveRoutine)(void));
+static sqInt compileInterpreterPrimitive(void (*primitiveRoutine)(void)) NoDbgRegParms;
 static sqInt compileMethodBody(void);
-static sqInt compileMNUCPICmethodOperandnumArgs(CogMethod *cPIC, sqInt methodOperand, sqInt numArgs);
-static void compileOpenPICnumArgs(sqInt selector, sqInt numArgs);
-static sqInt compilePICProlog(sqInt numArgs);
+static sqInt compileMNUCPICmethodOperandnumArgs(CogMethod *cPIC, sqInt methodOperand, sqInt numArgs) NoDbgRegParms;
+static void compileOpenPICnumArgs(sqInt selector, sqInt numArgs) NoDbgRegParms;
+static sqInt compilePICProlog(sqInt numArgs) NoDbgRegParms;
 static sqInt compilePrimitive(void);
-static void compileTrampolineForcallJumpBarnumArgsargargargargsaveRegsresultReg(void *aRoutine, sqInt callJumpBar, sqInt numArgs, sqInt regOrConst0, sqInt regOrConst1, sqInt regOrConst2, sqInt regOrConst3, sqInt saveRegs, sqInt resultRegOrNil);
+static void compileTrampolineForcallJumpBarnumArgsargargargargsaveRegsresultReg(void *aRoutine, sqInt callJumpBar, sqInt numArgs, sqInt regOrConst0, sqInt regOrConst1, sqInt regOrConst2, sqInt regOrConst3, sqInt saveRegs, sqInt resultRegOrNil) NoDbgRegParms;
 static void computeEntryOffsets(void);
-static sqInt computeJumpTargetOffsetPlus(AbstractInstruction * self_in_computeJumpTargetOffsetPlus, sqInt anPCOffset);
-static sqInt computeMaximumSize(AbstractInstruction * self_in_computeMaximumSize);
+static sqInt computeJumpTargetOffsetPlus(AbstractInstruction * self_in_computeJumpTargetOffsetPlus, sqInt anPCOffset) NoDbgRegParms;
+static sqInt computeMaximumSize(AbstractInstruction * self_in_computeMaximumSize) NoDbgRegParms;
 static void computeMaximumSizes(void);
-static sqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize);
-static sqInt concreteDPFPRegister(AbstractInstruction * self_in_concreteDPFPRegister, sqInt registerIndex);
-static sqInt concreteRegister(AbstractInstruction * self_in_concreteRegister, sqInt registerIndex);
-static sqInt concretizeAddCqR(AbstractInstruction * self_in_concretizeAddCqR);
-static sqInt concretizeAddCwR(AbstractInstruction * self_in_concretizeAddCwR);
-static sqInt concretizeAddRR(AbstractInstruction * self_in_concretizeAddRR);
-static AbstractInstruction * concretizeAlignmentNops(AbstractInstruction * self_in_concretizeAlignmentNops);
-static sqInt concretizeAndCqR(AbstractInstruction * self_in_concretizeAndCqR);
-static sqInt concretizeAndCwR(AbstractInstruction * self_in_concretizeAndCwR);
-static sqInt concretizeAndRR(AbstractInstruction * self_in_concretizeAndRR);
-static sqInt concretizeArithmeticShiftRightCqR(AbstractInstruction * self_in_concretizeArithmeticShiftRightCqR);
-static sqInt concretizeArithmeticShiftRightRR(AbstractInstruction * self_in_concretizeArithmeticShiftRightRR);
-static sqInt concretizeAt(AbstractInstruction * self_in_concretizeAt, sqInt actualAddress);
-static sqInt concretizeCall(AbstractInstruction * self_in_concretizeCall);
-static sqInt concretizeCDQ(AbstractInstruction * self_in_concretizeCDQ);
-static sqInt concretizeCMPXCHGAwR(AbstractInstruction * self_in_concretizeCMPXCHGAwR);
-static sqInt concretizeCMPXCHGMwrR(AbstractInstruction * self_in_concretizeCMPXCHGMwrR);
-static sqInt concretizeCmpCqR(AbstractInstruction * self_in_concretizeCmpCqR);
-static sqInt concretizeCmpCwR(AbstractInstruction * self_in_concretizeCmpCwR);
-static sqInt concretizeCmpRdRd(AbstractInstruction * self_in_concretizeCmpRdRd);
-static sqInt concretizeCmpRR(AbstractInstruction * self_in_concretizeCmpRR);
-static sqInt concretizeConditionalJumpLong(AbstractInstruction * self_in_concretizeConditionalJumpLong, sqInt conditionCode);
-static sqInt concretizeConditionalJump(AbstractInstruction * self_in_concretizeConditionalJump, sqInt conditionCode);
-static sqInt concretizeConvertRRd(AbstractInstruction * self_in_concretizeConvertRRd);
-static sqInt concretizeCPUID(AbstractInstruction * self_in_concretizeCPUID);
-static sqInt concretizeFENCE(AbstractInstruction * self_in_concretizeFENCE, sqInt regOpcode);
-static sqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16);
-static sqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32);
-static sqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord);
-static sqInt concretizeIDIVR(AbstractInstruction * self_in_concretizeIDIVR);
-static sqInt concretizeJump(AbstractInstruction * self_in_concretizeJump);
-static sqInt concretizeJumpLong(AbstractInstruction * self_in_concretizeJumpLong);
-static sqInt concretizeJumpR(AbstractInstruction * self_in_concretizeJumpR);
-static sqInt concretizeLabel(AbstractInstruction * self_in_concretizeLabel);
-static sqInt concretizeLOCK(AbstractInstruction * self_in_concretizeLOCK);
-static sqInt concretizeLoadEffectiveAddressMwrR(AbstractInstruction * self_in_concretizeLoadEffectiveAddressMwrR);
-static sqInt concretizeLogicalShiftLeftCqR(AbstractInstruction * self_in_concretizeLogicalShiftLeftCqR);
-static sqInt concretizeLogicalShiftLeftRR(AbstractInstruction * self_in_concretizeLogicalShiftLeftRR);
-static sqInt concretizeLogicalShiftRightCqR(AbstractInstruction * self_in_concretizeLogicalShiftRightCqR);
-static sqInt concretizeMoveAwR(AbstractInstruction * self_in_concretizeMoveAwR);
-static sqInt concretizeMoveCqR(AbstractInstruction * self_in_concretizeMoveCqR);
-static sqInt concretizeMoveCwR(AbstractInstruction * self_in_concretizeMoveCwR);
-static sqInt concretizeMoveM16rR(AbstractInstruction * self_in_concretizeMoveM16rR);
-static sqInt concretizeMoveM64rRd(AbstractInstruction * self_in_concretizeMoveM64rRd);
-static sqInt concretizeMoveMbrR(AbstractInstruction * self_in_concretizeMoveMbrR);
-static sqInt concretizeMoveMwrR(AbstractInstruction * self_in_concretizeMoveMwrR);
-static sqInt concretizeMoveRAw(AbstractInstruction * self_in_concretizeMoveRAw);
-static sqInt concretizeMoveRdM64r(AbstractInstruction * self_in_concretizeMoveRdM64r);
-static sqInt concretizeMoveRMbr(AbstractInstruction * self_in_concretizeMoveRMbr);
-static sqInt concretizeMoveRMwr(AbstractInstruction * self_in_concretizeMoveRMwr);
-static sqInt concretizeMoveRR(AbstractInstruction * self_in_concretizeMoveRR);
-static sqInt concretizeMoveRXbrR(AbstractInstruction * self_in_concretizeMoveRXbrR);
-static sqInt concretizeMoveRXwrR(AbstractInstruction * self_in_concretizeMoveRXwrR);
-static sqInt concretizeMoveXbrRR(AbstractInstruction * self_in_concretizeMoveXbrRR);
-static sqInt concretizeMoveXwrRR(AbstractInstruction * self_in_concretizeMoveXwrRR);
-static sqInt concretizeMulRR(AbstractInstruction * self_in_concretizeMulRR);
-static sqInt concretizeNegateR(AbstractInstruction * self_in_concretizeNegateR);
-static sqInt concretizeNop(AbstractInstruction * self_in_concretizeNop);
-static sqInt concretizeOrCqR(AbstractInstruction * self_in_concretizeOrCqR);
-static sqInt concretizeOrCwR(AbstractInstruction * self_in_concretizeOrCwR);
-static sqInt concretizeOrRR(AbstractInstruction * self_in_concretizeOrRR);
-static sqInt concretizePopR(AbstractInstruction * self_in_concretizePopR);
-static sqInt concretizePrefetchAw(AbstractInstruction * self_in_concretizePrefetchAw);
-static sqInt concretizePushCw(AbstractInstruction * self_in_concretizePushCw);
-static sqInt concretizePushR(AbstractInstruction * self_in_concretizePushR);
-static sqInt concretizeRetN(AbstractInstruction * self_in_concretizeRetN);
-static sqInt concretizeSEE2OpRdRd(AbstractInstruction * self_in_concretizeSEE2OpRdRd, sqInt opCode);
-static sqInt concretizeSqrtRd(AbstractInstruction * self_in_concretizeSqrtRd);
-static sqInt concretizeSubCqR(AbstractInstruction * self_in_concretizeSubCqR);
-static sqInt concretizeSubCwR(AbstractInstruction * self_in_concretizeSubCwR);
-static sqInt concretizeSubRR(AbstractInstruction * self_in_concretizeSubRR);
-static sqInt concretizeXCHGAwR(AbstractInstruction * self_in_concretizeXCHGAwR);
-static sqInt concretizeXCHGMwrR(AbstractInstruction * self_in_concretizeXCHGMwrR);
-static sqInt concretizeXCHGRR(AbstractInstruction * self_in_concretizeXCHGRR);
-static sqInt concretizeXorCwR(AbstractInstruction * self_in_concretizeXorCwR);
-static sqInt concretizeXorRR(AbstractInstruction * self_in_concretizeXorRR);
-static sqInt couldBeObject(sqInt oop);
-static sqInt counterTargetFromFollowingAddress(AbstractInstruction * self_in_counterTargetFromFollowingAddress, sqInt nextInstructionAddress);
-static sqInt cPICHasFreedTargets(CogMethod *cPIC);
-static sqInt cPICMissTrampolineFor(sqInt numArgs);
-static sqInt cPICHasTarget(CogMethod *cPIC, CogMethod *targetMethod);
-static sqInt cResultRegister(AbstractInstruction * self_in_cResultRegister);
-static AbstractInstruction * gDivRRQuoRem(sqInt rDivisor, sqInt rDividend, sqInt rQuotient, sqInt rRemainder);
-static void dispatchConcretize(AbstractInstruction * self_in_dispatchConcretize);
+static sqInt computeShiftRRSize(AbstractInstruction * self_in_computeShiftRRSize) NoDbgRegParms;
+static sqInt concreteDPFPRegister(AbstractInstruction * self_in_concreteDPFPRegister, sqInt registerIndex) NoDbgRegParms;
+static sqInt concreteRegister(AbstractInstruction * self_in_concreteRegister, sqInt registerIndex) NoDbgRegParms;
+static sqInt concretizeAddCqR(AbstractInstruction * self_in_concretizeAddCqR) NoDbgRegParms;
+static sqInt concretizeAddCwR(AbstractInstruction * self_in_concretizeAddCwR) NoDbgRegParms;
+static sqInt concretizeAddRR(AbstractInstruction * self_in_concretizeAddRR) NoDbgRegParms;
+static AbstractInstruction * concretizeAlignmentNops(AbstractInstruction * self_in_concretizeAlignmentNops) NoDbgRegParms;
+static sqInt concretizeAndCqR(AbstractInstruction * self_in_concretizeAndCqR) NoDbgRegParms;
+static sqInt concretizeAndCwR(AbstractInstruction * self_in_concretizeAndCwR) NoDbgRegParms;
+static sqInt concretizeAndRR(AbstractInstruction * self_in_concretizeAndRR) NoDbgRegParms;
+static sqInt concretizeArithmeticShiftRightCqR(AbstractInstruction * self_in_concretizeArithmeticShiftRightCqR) NoDbgRegParms;
+static sqInt concretizeArithmeticShiftRightRR(AbstractInstruction * self_in_concretizeArithmeticShiftRightRR) NoDbgRegParms;
+static sqInt concretizeAt(AbstractInstruction * self_in_concretizeAt, sqInt actualAddress) NoDbgRegParms;
+static sqInt concretizeCall(AbstractInstruction * self_in_concretizeCall) NoDbgRegParms;
+static sqInt concretizeCDQ(AbstractInstruction * self_in_concretizeCDQ) NoDbgRegParms;
+static sqInt concretizeCMPXCHGAwR(AbstractInstruction * self_in_concretizeCMPXCHGAwR) NoDbgRegParms;
+static sqInt concretizeCMPXCHGMwrR(AbstractInstruction * self_in_concretizeCMPXCHGMwrR) NoDbgRegParms;
+static sqInt concretizeCmpCqR(AbstractInstruction * self_in_concretizeCmpCqR) NoDbgRegParms;
+static sqInt concretizeCmpCwR(AbstractInstruction * self_in_concretizeCmpCwR) NoDbgRegParms;
+static sqInt concretizeCmpRdRd(AbstractInstruction * self_in_concretizeCmpRdRd) NoDbgRegParms;
+static sqInt concretizeCmpRR(AbstractInstruction * self_in_concretizeCmpRR) NoDbgRegParms;
+static sqInt concretizeConditionalJumpLong(AbstractInstruction * self_in_concretizeConditionalJumpLong, sqInt conditionCode) NoDbgRegParms;
+static sqInt concretizeConditionalJump(AbstractInstruction * self_in_concretizeConditionalJump, sqInt conditionCode) NoDbgRegParms;
+static sqInt concretizeConvertRRd(AbstractInstruction * self_in_concretizeConvertRRd) NoDbgRegParms;
+static sqInt concretizeCPUID(AbstractInstruction * self_in_concretizeCPUID) NoDbgRegParms;
+static sqInt concretizeFENCE(AbstractInstruction * self_in_concretizeFENCE, sqInt regOpcode) NoDbgRegParms;
+static sqInt concretizeFill16(AbstractInstruction * self_in_concretizeFill16) NoDbgRegParms;
+static sqInt concretizeFill32(AbstractInstruction * self_in_concretizeFill32) NoDbgRegParms;
+static sqInt concretizeFillFromWord(AbstractInstruction * self_in_concretizeFillFromWord) NoDbgRegParms;
+static sqInt concretizeIDIVR(AbstractInstruction * self_in_concretizeIDIVR) NoDbgRegParms;
+static sqInt concretizeJump(AbstractInstruction * self_in_concretizeJump) NoDbgRegParms;
+static sqInt concretizeJumpLong(AbstractInstruction * self_in_concretizeJumpLong) NoDbgRegParms;
+static sqInt concretizeJumpR(AbstractInstruction * self_in_concretizeJumpR) NoDbgRegParms;
+static sqInt concretizeLabel(AbstractInstruction * self_in_concretizeLabel) NoDbgRegParms;
+static sqInt concretizeLOCK(AbstractInstruction * self_in_concretizeLOCK) NoDbgRegParms;
+static sqInt concretizeLoadEffectiveAddressMwrR(AbstractInstruction * self_in_concretizeLoadEffectiveAddressMwrR) NoDbgRegParms;
+static sqInt concretizeLogicalShiftLeftCqR(AbstractInstruction * self_in_concretizeLogicalShiftLeftCqR) NoDbgRegParms;
+static sqInt concretizeLogicalShiftLeftRR(AbstractInstruction * self_in_concretizeLogicalShiftLeftRR) NoDbgRegParms;
+static sqInt concretizeLogicalShiftRightCqR(AbstractInstruction * self_in_concretizeLogicalShiftRightCqR) NoDbgRegParms;
+static sqInt concretizeMoveAwR(AbstractInstruction * self_in_concretizeMoveAwR) NoDbgRegParms;
+static sqInt concretizeMoveCqR(AbstractInstruction * self_in_concretizeMoveCqR) NoDbgRegParms;
+static sqInt concretizeMoveCwR(AbstractInstruction * self_in_concretizeMoveCwR) NoDbgRegParms;
+static sqInt concretizeMoveM16rR(AbstractInstruction * self_in_concretizeMoveM16rR) NoDbgRegParms;
+static sqInt concretizeMoveM64rRd(AbstractInstruction * self_in_concretizeMoveM64rRd) NoDbgRegParms;
+static sqInt concretizeMoveMbrR(AbstractInstruction * self_in_concretizeMoveMbrR) NoDbgRegParms;
+static sqInt concretizeMoveMwrR(AbstractInstruction * self_in_concretizeMoveMwrR) NoDbgRegParms;
+static sqInt concretizeMoveRAw(AbstractInstruction * self_in_concretizeMoveRAw) NoDbgRegParms;
+static sqInt concretizeMoveRdM64r(AbstractInstruction * self_in_concretizeMoveRdM64r) NoDbgRegParms;
+static sqInt concretizeMoveRMbr(AbstractInstruction * self_in_concretizeMoveRMbr) NoDbgRegParms;
+static sqInt concretizeMoveRMwr(AbstractInstruction * self_in_concretizeMoveRMwr) NoDbgRegParms;
+static sqInt concretizeMoveRR(AbstractInstruction * self_in_concretizeMoveRR) NoDbgRegParms;
+static sqInt concretizeMoveRXbrR(AbstractInstruction * self_in_concretizeMoveRXbrR) NoDbgRegParms;
+static sqInt concretizeMoveRXwrR(AbstractInstruction * self_in_concretizeMoveRXwrR) NoDbgRegParms;
+static sqInt concretizeMoveXbrRR(AbstractInstruction * self_in_concretizeMoveXbrRR) NoDbgRegParms;
+static sqInt concretizeMoveXwrRR(AbstractInstruction * self_in_concretizeMoveXwrRR) NoDbgRegParms;
+static sqInt concretizeMulRR(AbstractInstruction * self_in_concretizeMulRR) NoDbgRegParms;
+static sqInt concretizeNegateR(AbstractInstruction * self_in_concretizeNegateR) NoDbgRegParms;
+static sqInt concretizeNop(AbstractInstruction * self_in_concretizeNop) NoDbgRegParms;
+static sqInt concretizeOrCqR(AbstractInstruction * self_in_concretizeOrCqR) NoDbgRegParms;
+static sqInt concretizeOrCwR(AbstractInstruction * self_in_concretizeOrCwR) NoDbgRegParms;
+static sqInt concretizeOrRR(AbstractInstruction * self_in_concretizeOrRR) NoDbgRegParms;
+static sqInt concretizePopR(AbstractInstruction * self_in_concretizePopR) NoDbgRegParms;
+static sqInt concretizePrefetchAw(AbstractInstruction * self_in_concretizePrefetchAw) NoDbgRegParms;
+static sqInt concretizePushCw(AbstractInstruction * self_in_concretizePushCw) NoDbgRegParms;
+static sqInt concretizePushR(AbstractInstruction * self_in_concretizePushR) NoDbgRegParms;
+static sqInt concretizeRetN(AbstractInstruction * self_in_concretizeRetN) NoDbgRegParms;
+static sqInt concretizeSEE2OpRdRd(AbstractInstruction * self_in_concretizeSEE2OpRdRd, sqInt opCode) NoDbgRegParms;
+static sqInt concretizeSqrtRd(AbstractInstruction * self_in_concretizeSqrtRd) NoDbgRegParms;
+static sqInt concretizeSubCqR(AbstractInstruction * self_in_concretizeSubCqR) NoDbgRegParms;
+static sqInt concretizeSubCwR(AbstractInstruction * self_in_concretizeSubCwR) NoDbgRegParms;
+static sqInt concretizeSubRR(AbstractInstruction * self_in_concretizeSubRR) NoDbgRegParms;
+static sqInt concretizeXCHGAwR(AbstractInstruction * self_in_concretizeXCHGAwR) NoDbgRegParms;
+static sqInt concretizeXCHGMwrR(AbstractInstruction * self_in_concretizeXCHGMwrR) NoDbgRegParms;
+static sqInt concretizeXCHGRR(AbstractInstruction * self_in_concretizeXCHGRR) NoDbgRegParms;
+static sqInt concretizeXorCwR(AbstractInstruction * self_in_concretizeXorCwR) NoDbgRegParms;
+static sqInt concretizeXorRR(AbstractInstruction * self_in_concretizeXorRR) NoDbgRegParms;
+static sqInt couldBeObject(sqInt oop) NoDbgRegParms;
+static sqInt counterTargetFromFollowingAddress(AbstractInstruction * self_in_counterTargetFromFollowingAddress, sqInt nextInstructionAddress) NoDbgRegParms;
+static sqInt cPICHasFreedTargets(CogMethod *cPIC) NoDbgRegParms;
+static sqInt cPICMissTrampolineFor(sqInt numArgs) NoDbgRegParms;
+static sqInt cPICHasTarget(CogMethod *cPIC, CogMethod *targetMethod) NoDbgRegParms;
+static sqInt cResultRegister(AbstractInstruction * self_in_cResultRegister) NoDbgRegParms;
+static AbstractInstruction * gDivRRQuoRem(sqInt rDivisor, sqInt rDividend, sqInt rQuotient, sqInt rRemainder) NoDbgRegParms;
+static void dispatchConcretize(AbstractInstruction * self_in_dispatchConcretize) NoDbgRegParms;
 static sqInt doubleExtendedDoAnythingBytecode(void);
 static sqInt duplicateTopBytecode(void);
-static sqInt endPCOf(sqInt aMethod);
-static BytecodeFixup * ensureFixupAt(sqInt targetIndex);
-static BytecodeFixup * ensureNonMergeFixupAt(sqInt targetIndex);
+static sqInt endPCOf(sqInt aMethod) NoDbgRegParms;
+static BytecodeFixup * ensureFixupAt(sqInt targetIndex) NoDbgRegParms;
+static BytecodeFixup * ensureNonMergeFixupAt(sqInt targetIndex) NoDbgRegParms;
 static void ensureReceiverResultRegContainsSelf(void);
-static CogSimStackEntry * ensureSpilledAtfrom(CogSimStackEntry * self_in_ensureSpilledAtfrom, sqInt baseOffset, sqInt baseRegister);
+static CogSimStackEntry * ensureSpilledAtfrom(CogSimStackEntry * self_in_ensureSpilledAtfrom, sqInt baseOffset, sqInt baseRegister) NoDbgRegParms;
 void enterCogCodePopReceiver(void);
 void enterCogCodePopReceiverAndClassRegs(void);
 void enterCogCodePopReceiverArg0Regs(void);
@@ -559,38 +569,38 @@
 static sqInt extendedPushBytecode(void);
 static sqInt extendedStoreAndPopBytecode(void);
 static sqInt extendedStoreBytecode(void);
-static sqInt fillInBlockHeadersAt(sqInt startAddress);
-static CogMethod * fillInCPICHeadersizenumArgsnumCaseshasMNUCaseselector(CogMethod *pic, sqInt size, sqInt numArgs, sqInt numCases, sqInt hasMNUCase, sqInt selector);
-static CogMethod * fillInMethodHeadersizeselector(CogMethod *method, sqInt size, sqInt selector);
-static CogMethod * fillInOPICHeadersizenumArgsselector(CogMethod *pic, sqInt size, sqInt numArgs, sqInt selector);
-static usqInt findBlockMethodWithEntrystartBcpc(sqInt blockEntryMcpc, sqInt startBcpc);
-static sqInt findMapLocationForMcpcinMethod(sqInt targetMcpc, CogMethod *cogMethod);
+static sqInt fillInBlockHeadersAt(sqInt startAddress) NoDbgRegParms;
+static CogMethod * fillInCPICHeadersizenumArgsnumCaseshasMNUCaseselector(CogMethod *pic, sqInt size, sqInt numArgs, sqInt numCases, sqInt hasMNUCase, sqInt selector) NoDbgRegParms;
+static CogMethod * fillInMethodHeadersizeselector(CogMethod *method, sqInt size, sqInt selector) NoDbgRegParms;
+static CogMethod * fillInOPICHeadersizenumArgsselector(CogMethod *pic, sqInt size, sqInt numArgs, sqInt selector) NoDbgRegParms;
+static usqInt findBlockMethodWithEntrystartBcpc(sqInt blockEntryMcpc, sqInt startBcpc) NoDbgRegParms;
+static sqInt findMapLocationForMcpcinMethod(sqInt targetMcpc, CogMethod *cogMethod) NoDbgRegParms;
 CogBlockMethod * findMethodForStartBcpcinHomeMethod(sqInt startbcpc, CogMethod *cogMethod);
-static CogMethod * findPreviouslyCompiledVersionOfwith(sqInt aMethodObj, sqInt aSelectorOop);
-static sqInt findIsBackwardBranchMcpcBcpcMatchingMcpc(BytecodeDescriptor *descriptor, sqInt isBackwardBranch, char *mcpc, sqInt bcpc, void *targetMcpc);
-static sqInt frameOffsetOfTemporary(sqInt index);
-static void freeMethod(CogMethod *cogMethod);
+static CogMethod * findPreviouslyCompiledVersionOfwith(sqInt aMethodObj, sqInt aSelectorOop) NoDbgRegParms;
+static sqInt findIsBackwardBranchMcpcBcpcMatchingMcpc(BytecodeDescriptor *descriptor, sqInt isBackwardBranch, char *mcpc, sqInt bcpc, void *targetMcpc) NoDbgRegParms;
+static sqInt frameOffsetOfTemporary(sqInt index) NoDbgRegParms;
+static void freeMethod(CogMethod *cogMethod) NoDbgRegParms;
 static void freeOlderMethodsForCompaction(void);
 static void freePICsWithFreedTargets(void);
 void freeUnmarkedMachineCode(void);
 static sqInt genActiveContextTrampoline(void);
-static sqInt genAddSmallIntegerTagsTo(sqInt aRegister);
-static sqInt genAlignCStackSavingRegistersnumArgswordAlignment(AbstractInstruction * self_in_genAlignCStackSavingRegistersnumArgswordAlignment, sqInt saveRegs, sqInt numArgs, sqInt alignment);
-static AbstractInstruction * genAllocFloatValueintoscratchRegscratchReg(sqInt dpreg, sqInt resultReg, sqInt scratch1, sqInt scratch2);
+static sqInt genAddSmallIntegerTagsTo(sqInt aRegister) NoDbgRegParms;
+static sqInt genAlignCStackSavingRegistersnumArgswordAlignment(AbstractInstruction * self_in_genAlignCStackSavingRegistersnumArgswordAlignment, sqInt saveRegs, sqInt numArgs, sqInt alignment) NoDbgRegParms;
+static AbstractInstruction * genAllocFloatValueintoscratchRegscratchReg(sqInt dpreg, sqInt resultReg, sqInt scratch1, sqInt scratch2) NoDbgRegParms;
 static sqInt genCheckForInterruptsTrampoline(void);
-static sqInt genConvertIntegerToSmallIntegerInReg(sqInt reg);
-static sqInt genConvertIntegerToSmallIntegerInScratchReg(sqInt scratchReg);
-static sqInt genConvertSmallIntegerToIntegerInReg(sqInt reg);
-static AbstractInstruction * genDivRRQuoRem(AbstractInstruction * self_in_genDivRRQuoRem, sqInt abstractRegDivisor, sqInt abstractRegDividend, sqInt abstractRegQuotient, sqInt abstractRegRemainder);
-static sqInt genDoubleArithmeticpreOpCheck(sqInt arithmeticOperator, AbstractInstruction *(*preOpCheckOrNil)(int rcvrReg, int argReg));
-static sqInt genDoubleComparisoninvert(AbstractInstruction *(*jumpOpcodeGenerator)(void *), sqInt invertComparison);
-static AbstractInstruction * genDoubleFailIfZeroArgRcvrarg(sqInt rcvrReg, sqInt argReg);
+static sqInt genConvertIntegerToSmallIntegerInReg(sqInt reg) NoDbgRegParms;
+static sqInt genConvertIntegerToSmallIntegerInScratchReg(sqInt scratchReg) NoDbgRegParms;
+static sqInt genConvertSmallIntegerToIntegerInReg(sqInt reg) NoDbgRegParms;
+static AbstractInstruction * genDivRRQuoRem(AbstractInstruction * self_in_genDivRRQuoRem, sqInt abstractRegDivisor, sqInt abstractRegDividend, sqInt abstractRegQuotient, sqInt abstractRegRemainder) NoDbgRegParms;
+static sqInt genDoubleArithmeticpreOpCheck(sqInt arithmeticOperator, AbstractInstruction *(*preOpCheckOrNil)(int rcvrReg, int argReg)) NoDbgRegParms;
+static sqInt genDoubleComparisoninvert(AbstractInstruction *(*jumpOpcodeGenerator)(void *), sqInt invertComparison) NoDbgRegParms;
+static AbstractInstruction * genDoubleFailIfZeroArgRcvrarg(sqInt rcvrReg, sqInt argReg) NoDbgRegParms;
 static sqInt genDynamicSuperSendBytecode(void);
-static void (*genEnilopmartForandandcalled(sqInt regArg1, sqInt regArg2, sqInt regArg3, char *trampolineName))(void) ;
-static void (*genEnilopmartForandcalled(sqInt regArg1, sqInt regArg2, char *trampolineName))(void) ;
-static void (*genEnilopmartForcalled(sqInt regArg, char *trampolineName))(void) ;
-static sqInt genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch);
-static void (*genEnterPICEnilopmartNumArgs(sqInt numArgs))(void) ;
+static void (*genEnilopmartForandandcalled(sqInt regArg1, sqInt regArg2, sqInt regArg3, char *trampolineName))(void)  NoDbgRegParms;
+static void (*genEnilopmartForandcalled(sqInt regArg1, sqInt regArg2, char *trampolineName))(void)  NoDbgRegParms;
+static void (*genEnilopmartForcalled(sqInt regArg, char *trampolineName))(void)  NoDbgRegParms;
+static sqInt genEnsureObjInRegNotForwardedscratchReg(sqInt reg, sqInt scratch) NoDbgRegParms;
+static void (*genEnterPICEnilopmartNumArgs(sqInt numArgs))(void)  NoDbgRegParms;
 static sqInt genExtendedSendBytecode(void);
 static sqInt genExtendedSuperBytecode(void);
 static sqInt genExternalizePointersForPrimitiveCall(void);
@@ -613,16 +623,16 @@
 static sqInt genExtStoreLiteralVariableBytecode(void);
 static sqInt genExtStoreReceiverVariableBytecode(void);
 static sqInt genExtUnconditionalJump(void);
-static void generateCaptureCStackPointers(sqInt captureFramePointer);
-static AbstractInstruction * generateCheckFeatures(AbstractInstruction * self_in_generateCheckFeatures);
+static void generateCaptureCStackPointers(sqInt captureFramePointer) NoDbgRegParms;
+static AbstractInstruction * generateCheckFeatures(AbstractInstruction * self_in_generateCheckFeatures) NoDbgRegParms;
 static void generateClosedPICPrototype(void);
-static CogMethod * generateCogMethod(sqInt selector);
+static CogMethod * generateCogMethod(sqInt selector) NoDbgRegParms;
 static void generateEnilopmarts(void);
-static AbstractInstruction * generateICacheFlush(AbstractInstruction * self_in_generateICacheFlush);
-static sqInt generateInstructionsAt(sqInt eventualAbsoluteAddress);
-static AbstractInstruction * generateLowLevelTryLock(AbstractInstruction * self_in_generateLowLevelTryLock, sqInt vmOwnerLockAddress);
-static AbstractInstruction * generateLowLevelUnlock(AbstractInstruction * self_in_generateLowLevelUnlock, sqInt vmOwnerLockAddress);
-static sqInt generateMapAtstart(sqInt addressOrNull, sqInt startAddress);
+static AbstractInstruction * generateICacheFlush(AbstractInstruction * self_in_generateICacheFlush) NoDbgRegParms;
+static sqInt generateInstructionsAt(sqInt eventualAbsoluteAddress) NoDbgRegParms;
+static AbstractInstruction * generateLowLevelTryLock(AbstractInstruction * self_in_generateLowLevelTryLock, sqInt vmOwnerLockAddress) NoDbgRegParms;
+static AbstractInstruction * generateLowLevelUnlock(AbstractInstruction * self_in_generateLowLevelUnlock, sqInt vmOwnerLockAddress) NoDbgRegParms;
+static sqInt generateMapAtstart(sqInt addressOrNull, sqInt startAddress) NoDbgRegParms;
 static void generateMissAbortTrampolines(void);
 static void generateNewspeakRuntime(void);
 static void generateObjectRepresentationTrampolines(void);
@@ -634,48 +644,49 @@
 static void generateTrampolines(void);
 static void generateVMOwnerLockFunctions(void);
 static sqInt genFastPrimFail(void);
-static void genFastPrimTraceUsingand(sqInt r1, sqInt r2);
-static sqInt genFetchIndexRegisterfrominto(sqInt indexReg, sqInt tableObj, sqInt destReg);
-static sqInt genFramelessStorePopReceiverVariable(sqInt popBoolean, sqInt slotIndex);
-static sqInt genGetClassFormatOfNonIntintoscratchReg(sqInt instReg, sqInt destReg, sqInt scratchReg);
-static sqInt genGetClassObjectOfintoscratchReginstRegIsReceiver(sqInt instReg, sqInt destReg, sqInt scratchReg, sqInt instRegIsReceiver);
-static AbstractInstruction * genGetClassTagOfintoscratchReg(sqInt instReg, sqInt destReg, sqInt scratchReg);
-static sqInt genGetCompactClassIndexNonImmOfinto(sqInt instReg, sqInt destReg);
-static sqInt genGetDoubleValueOfinto(sqInt srcReg, sqInt destFPReg);
-static sqInt genGetFixedFieldsOfPointerNonIntintoscratchReg(sqInt instReg, sqInt destReg, sqInt scratchReg);
-static sqInt genGetHashFieldNonImmOfasSmallIntegerInto(sqInt instReg, sqInt destReg);
-static sqInt genGetImplicitReceiverForforPush(sqInt selector, sqInt forPushSendBar);
+static void genFastPrimTraceUsingand(sqInt r1, sqInt r2) NoDbgRegParms;
+static sqInt genFetchIndexRegisterfrominto(sqInt indexReg, sqInt tableObj, sqInt destReg) NoDbgRegParms;
+static sqInt genFramelessStorePopReceiverVariable(sqInt popBoolean, sqInt slotIndex) NoDbgRegParms;
+static sqInt genGetClassFormatOfNonIntintoscratchReg(sqInt instReg, sqInt destReg, sqInt scratchReg) NoDbgRegParms;
+static sqInt genGetClassObjectOfintoscratchReginstRegIsReceiver(sqInt instReg, sqInt destReg, sqInt scratchReg, sqInt instRegIsReceiver) NoDbgRegParms;
+static AbstractInstruction * genGetClassTagOfintoscratchReg(sqInt instReg, sqInt destReg, sqInt scratchReg) NoDbgRegParms;
+static sqInt genGetCompactClassIndexNonImmOfinto(sqInt instReg, sqInt destReg) NoDbgRegParms;
+static sqInt genGetDoubleValueOfinto(sqInt srcReg, sqInt destFPReg) NoDbgRegParms;
+static sqInt genGetFixedFieldsOfPointerNonIntintoscratchReg(sqInt instReg, sqInt destReg, sqInt scratchReg) NoDbgRegParms;
+static sqInt genGetHashFieldNonImmOfasSmallIntegerInto(sqInt instReg, sqInt destReg) NoDbgRegParms;
+static sqInt genGetImplicitReceiverForforPush(sqInt selector, sqInt forPushSendBar) NoDbgRegParms;
 static sqInt genGetLeafCallStackPointer(void);
-static AbstractInstruction * genGetLeafCallStackPointerFunction(AbstractInstruction * self_in_genGetLeafCallStackPointerFunction);
-static sqInt genInnerPICAbortTrampoline(char *name);
-static sqInt genInnerPrimitiveAsCharacterinReg(sqInt retNOffset, sqInt reg);
-static sqInt genInnerPrimitiveAtPut(sqInt retNoffset);
-static sqInt genInnerPrimitiveAt(sqInt retNoffset);
-static sqInt genInnerPrimitiveCharacterValue(sqInt retNOffset);
-static sqInt genInnerPrimitiveIdenticalorNotIf(sqInt retNoffset, sqInt orNot);
-static sqInt genInnerPrimitiveIdentityHash(sqInt retNOffset);
-static sqInt genInnerPrimitiveNewMethod(sqInt retNoffset);
-static sqInt genInnerPrimitiveNewWithArg(sqInt retNoffset);
-static sqInt genInnerPrimitiveNew(sqInt retNoffset);
-static sqInt genInnerPrimitiveSize(sqInt retNoffset);
-static sqInt genInnerPrimitiveStringAtPut(sqInt retNoffset);
-static sqInt genInnerPrimitiveStringAt(sqInt retNOffset);
-static sqInt genJumpBackTo(sqInt targetBytecodePC);
-static AbstractInstruction * genJumpFPEqual(AbstractInstruction * self_in_genJumpFPEqual, void *jumpTarget);
-static AbstractInstruction * genJumpFPGreaterOrEqual(AbstractInstruction * self_in_genJumpFPGreaterOrEqual, void *jumpTarget);
-static AbstractInstruction * genJumpFPGreater(AbstractInstruction * self_in_genJumpFPGreater, void *jumpTarget);
-static AbstractInstruction * genJumpFPLessOrEqual(AbstractInstruction * self_in_genJumpFPLessOrEqual, void *jumpTarget);
-static AbstractInstruction * genJumpFPLess(AbstractInstruction * self_in_genJumpFPLess, void *jumpTarget);
-static AbstractInstruction * genJumpFPNotEqual(AbstractInstruction * self_in_genJumpFPNotEqual, void *jumpTarget);
-static sqInt genJumpIfto(sqInt boolean, sqInt targetBytecodePC);
-static AbstractInstruction * genJumpImmediateInScratchReg(sqInt aRegister);
-static AbstractInstruction * genJumpNotSmallIntegerInScratchReg(sqInt aRegister);
-static AbstractInstruction * genJumpSmallIntegerInScratchReg(sqInt aRegister);
-static sqInt genJumpTo(sqInt targetBytecodePC);
-static sqInt genLoadCStackPointers(void);
+static AbstractInstruction * genGetLeafCallStackPointerFunction(AbstractInstruction * self_in_genGetLeafCallStackPointerFunction) NoDbgRegParms;
+static sqInt genInnerPICAbortTrampoline(char *name) NoDbgRegParms;
+static sqInt genInnerPrimitiveAsCharacterinReg(sqInt retNOffset, sqInt reg) NoDbgRegParms;
+static sqInt genInnerPrimitiveAtPut(sqInt retNoffset) NoDbgRegParms;
+static sqInt genInnerPrimitiveAt(sqInt retNoffset) NoDbgRegParms;
+static sqInt genInnerPrimitiveCharacterValue(sqInt retNOffset) NoDbgRegParms;
+static sqInt genInnerPrimitiveIdenticalorNotIf(sqInt retNoffset, sqInt orNot) NoDbgRegParms;
+static sqInt genInnerPrimitiveIdentityHash(sqInt retNOffset) NoDbgRegParms;
+static sqInt genInnerPrimitiveNewMethod(sqInt retNoffset) NoDbgRegParms;
+static sqInt genInnerPrimitiveNewWithArg(sqInt retNoffset) NoDbgRegParms;
+static sqInt genInnerPrimitiveNew(sqInt retNoffset) NoDbgRegParms;
+static sqInt genInnerPrimitiveSize(sqInt retNoffset) NoDbgRegParms;
+static sqInt genInnerPrimitiveStringAtPut(sqInt retNoffset) NoDbgRegParms;
+static sqInt genInnerPrimitiveStringAt(sqInt retNOffset) NoDbgRegParms;
+static sqInt genJumpBackTo(sqInt targetBytecodePC) NoDbgRegParms;
+static AbstractInstruction * genJumpFPEqual(AbstractInstruction * self_in_genJumpFPEqual, void *jumpTarget) NoDbgRegParms;
+static AbstractInstruction * genJumpFPGreaterOrEqual(AbstractInstruction * self_in_genJumpFPGreaterOrEqual, void *jumpTarget) NoDbgRegParms;
+static AbstractInstruction * genJumpFPGreater(AbstractInstruction * self_in_genJumpFPGreater, void *jumpTarget) NoDbgRegParms;
+static AbstractInstruction * genJumpFPLessOrEqual(AbstractInstruction * self_in_genJumpFPLessOrEqual, void *jumpTarget) NoDbgRegParms;
+static AbstractInstruction * genJumpFPLess(AbstractInstruction * self_in_genJumpFPLess, void *jumpTarget) NoDbgRegParms;
+static AbstractInstruction * genJumpFPNotEqual(AbstractInstruction * self_in_genJumpFPNotEqual, void *jumpTarget) NoDbgRegParms;
+static sqInt genJumpIfto(sqInt boolean, sqInt targetBytecodePC) NoDbgRegParms;
+static AbstractInstruction * genJumpImmediateInScratchReg(sqInt aRegister) NoDbgRegParms;
+static AbstractInstruction * genJumpNotSmallIntegerInScratchReg(sqInt aRegister) NoDbgRegParms;
+static AbstractInstruction * genJumpSmallIntegerInScratchReg(sqInt aRegister) NoDbgRegParms;
+static sqInt genJumpTo(sqInt targetBytecodePC) NoDbgRegParms;
+static sqInt genLoadCStackPointer(AbstractInstruction * self_in_genLoadCStackPointer) NoDbgRegParms;
+static sqInt genLoadCStackPointers(AbstractInstruction * self_in_genLoadCStackPointers) NoDbgRegParms;
 static sqInt genLoadCStackPointersForPrimCall(void);
-static sqInt genLoadSlotsourceRegdestReg(sqInt index, sqInt sourceReg, sqInt destReg);
-static sqInt genLoadStackPointers(void);
+static sqInt genLoadSlotsourceRegdestReg(sqInt index, sqInt sourceReg, sqInt destReg) NoDbgRegParms;
+static sqInt genLoadStackPointers(AbstractInstruction * self_in_genLoadStackPointers) NoDbgRegParms;
 static sqInt genLongJumpIfFalse(void);
 static sqInt genLongJumpIfTrue(void);
 static sqInt genLongPushTemporaryVariableBytecode(void);
@@ -683,17 +694,17 @@
 static sqInt genLongStoreTemporaryVariableBytecode(void);
 static sqInt genLongUnconditionalBackwardJump(void);
 static sqInt genLongUnconditionalForwardJump(void);
-static sqInt genMarshalledSendDynamicSupernumArgs(sqInt selector, sqInt numArgs);
-static sqInt genMarshalledSendSupernumArgs(sqInt selector, sqInt numArgs);
-static sqInt genMarshalledSendnumArgs(sqInt selector, sqInt numArgs);
-static sqInt genMethodAbortTrampolineFor(sqInt numArgs);
-static AbstractInstruction * genMulRR(AbstractInstruction * self_in_genMulRR, sqInt regSource, sqInt regDest);
-static sqInt genMustBeBooleanTrampolineForcalled(sqInt boolean, char *trampolineName);
+static sqInt genMarshalledSendDynamicSupernumArgs(sqInt selector, sqInt numArgs) NoDbgRegParms;
+static sqInt genMarshalledSendSupernumArgs(sqInt selector, sqInt numArgs) NoDbgRegParms;
+static sqInt genMarshalledSendnumArgs(sqInt selector, sqInt numArgs) NoDbgRegParms;
+static sqInt genMethodAbortTrampolineFor(sqInt numArgs) NoDbgRegParms;
+static AbstractInstruction * genMulRR(AbstractInstruction * self_in_genMulRR, sqInt regSource, sqInt regDest) NoDbgRegParms;
+static sqInt genMustBeBooleanTrampolineForcalled(sqInt boolean, char *trampolineName) NoDbgRegParms;
 static sqInt genNonLocalReturnTrampoline(void);
-static sqInt genPassConstasArgument(AbstractInstruction * self_in_genPassConstasArgument, sqInt constant, sqInt zeroRelativeArgIndex);
-static sqInt genPassRegasArgument(AbstractInstruction * self_in_genPassRegasArgument, sqInt abstractRegister, sqInt zeroRelativeArgIndex);
-static sqInt genPICAbortTrampolineFor(sqInt numArgs);
-static sqInt genPICMissTrampolineFor(sqInt numArgs);
+static sqInt genPassConstasArgument(AbstractInstruction * self_in_genPassConstasArgument, sqInt constant, sqInt zeroRelativeArgIndex) NoDbgRegParms;
+static sqInt genPassRegasArgument(AbstractInstruction * self_in_genPassRegasArgument, sqInt abstractRegister, sqInt zeroRelativeArgIndex) NoDbgRegParms;
+static sqInt genPICAbortTrampolineFor(sqInt numArgs) NoDbgRegParms;
+static sqInt genPICMissTrampolineFor(sqInt numArgs) NoDbgRegParms;
 static sqInt genPopStackBytecode(void);
 static sqInt genPrimitiveAdd(void);
 static sqInt genPrimitiveAsCharacter(void);
@@ -739,7 +750,7 @@
 static sqInt genPrimitiveStringAt(void);
 static sqInt genPrimitiveStringAtPut(void);
 static sqInt genPrimitiveSubtract(void);
-static void genPrimReturnEnterCogCodeEnilopmart(sqInt profiling);
+static void genPrimReturnEnterCogCodeEnilopmart(sqInt profiling) NoDbgRegParms;
 static sqInt genPushActiveContextBytecode(void);
 static sqInt genPushClosureCopyCopiedValuesBytecode(void);
 static sqInt genPushConstantFalseBytecode(void);
@@ -748,61 +759,62 @@
 static sqInt genPushConstantTrueBytecode(void);
 static sqInt genPushConstantZeroBytecode(void);
 static sqInt genPushExplicitOuterReceiverBytecode(void);
-static sqInt genPushExplicitOuterReceiver(sqInt level);
+static sqInt genPushExplicitOuterReceiver(sqInt level) NoDbgRegParms;
 static sqInt genPushImplicitReceiverBytecode(void);
 static sqInt genPushLiteralConstantBytecode(void);
-static sqInt genPushLiteralIndex(sqInt literalIndex);
+static sqInt genPushLiteralIndex(sqInt literalIndex) NoDbgRegParms;
 static sqInt genPushLiteralVariable16CasesBytecode(void);
 static sqInt genPushLiteralVariableBytecode(void);
-static sqInt genPushLiteralVariable(sqInt literalIndex);
-static sqInt genPushLiteral(sqInt literal);
-static sqInt genPushMaybeContextReceiverVariable(sqInt slotIndex);

@@ Diff output truncated at 50000 characters. @@


More information about the Vm-dev mailing list