Skip to content

Commit 862bc37

Browse files
committed
CogVM source as per VMMaker.oscog-eem.2885
Fix the regression in db05a53/ VMMaker.oscog-eem.2876. Since pinning is potentially a become operation followForwardingPointersInStackZone: is invoked, and that crashes when stackPage is 0, as is it is when snapshotting. So the fix is to return to not pinning in postGCUpdateDisplayBits if snapshotting. Slang: Fix a regression with inlining isClassOfNonImm:equalTo:compactClassIndex Not quite sure why but an argument assignment for the unused classOop argument was being generated when it shouldn't be. Cogit: save several lines by inlining wrappers around genTrampolineFor:called:numArgs:arg:arg:arg:arg:regsToSave:pushLinkReg:resultReg:appendOpcodes:. N.B. This breaks translation of the SimpleStackBasedCogit but we don't care. It can be simulation only.
1 parent f3947d4 commit 862bc37

Some content is hidden

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

85 files changed

+3861
-19497
lines changed

nsspur64src/vm/cogit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated by
2-
CCodeGenerator VMMaker.oscog-eem.2883 uuid: 178413b2-f5ef-4ea3-b7ee-f820c36333dd
2+
CCodeGenerator VMMaker.oscog-eem.2885 uuid: 23635dc5-2413-4ea8-bc4a-29927206bb3b
33
*/
44

55

nsspur64src/vm/cogitARMv8.c

Lines changed: 40 additions & 182 deletions
Large diffs are not rendered by default.

nsspur64src/vm/cogitX64SysV.c

Lines changed: 33 additions & 758 deletions
Large diffs are not rendered by default.

nsspur64src/vm/cogitX64WIN64.c

Lines changed: 33 additions & 758 deletions
Large diffs are not rendered by default.

nsspur64src/vm/cointerp.c

Lines changed: 104 additions & 144 deletions
Large diffs are not rendered by default.

nsspur64src/vm/cointerp.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated by
2-
CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2880 uuid: 6baaab83-7f09-434a-9db1-affff34cc15a
2+
CCodeGeneratorGlobalStructure VMMaker.oscog-eem.2885 uuid: 23635dc5-2413-4ea8-bc4a-29927206bb3b
33
*/
44

55

@@ -194,7 +194,7 @@ extern sqInt classTableRootObj(void);
194194
extern sqInt classTagForClass(sqInt classObj);
195195
extern sqInt compactClassIndexOf(sqInt objOop);
196196
extern void countMarkedAndUnmarkdObjects(sqInt printFlags);
197-
extern sqInt eeInstantiateClassIndexformatnumSlots(sqInt knownClassIndex, sqInt objFormat, sqInt numSlots);
197+
extern usqInt eeInstantiateClassIndexformatnumSlots(sqInt knownClassIndex, sqInt objFormat, sqInt numSlots);
198198
extern sqInt falseObject(void);
199199
extern sqInt fetchByteofObject(sqInt byteIndex, sqInt objOop);
200200
extern sqInt fetchPointerofObject(sqInt fieldIndex, sqInt objOop);
@@ -255,7 +255,7 @@ extern sqInt minSlotsForShortening(void);
255255
extern sqInt nilObject(void);
256256
extern sqInt nonIndexablePointerFormat(void);
257257
extern sqInt numBytesOf(sqInt objOop);
258-
extern usqInt numPointerSlotsOf(sqInt objOop);
258+
extern sqInt numPointerSlotsOf(sqInt objOop);
259259
extern usqInt numSlotsOf(sqInt objOop);
260260
extern sqInt numStrongSlotsOfWeakling(sqInt objOop);
261261
extern sqInt objectAfter(sqInt objOop);

nsspur64src/vm/gcc3x-cointerp.c

Lines changed: 104 additions & 144 deletions
Large diffs are not rendered by default.

nsspursrc/vm/cogit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* Automatically generated by
2-
CCodeGenerator VMMaker.oscog-eem.2883 uuid: 178413b2-f5ef-4ea3-b7ee-f820c36333dd
2+
CCodeGenerator VMMaker.oscog-eem.2885 uuid: 23635dc5-2413-4ea8-bc4a-29927206bb3b
33
*/
44

55

nsspursrc/vm/cogitARMv5.c

Lines changed: 33 additions & 172 deletions
Large diffs are not rendered by default.

nsspursrc/vm/cogitIA32.c

Lines changed: 33 additions & 750 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)