[Vm-dev] VM Maker: VMMaker.oscog-eem.3167.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Feb 23 02:01:00 UTC 2022
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3167.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3167
Author: eem
Time: 22 February 2022, 6:00:47.332049 pm
UUID: ab240217-a8b0-4942-9951-c2164bcb3479
Ancestors: VMMaker.oscog-eem.3166
StackToRegisterMappingCogit: Fix assert failures on first pass of embedded block compilations.
In-image compilation: Fix a slip in debugStackPointersFor:
=============== Diff against VMMaker.oscog-eem.3166 ===============
Item was changed:
----- Method: CurrentImageCoInterpreterFacade>>debugStackPointersFor: (in category 'accessing') -----
debugStackPointersFor: anOop
^CArrayAccessor on:
((StackDepthFinder on: (objectMap keyAtValue: anOop))
+ encoderClass: (coInterpreter encoderClassForHeader: (objectMemory integerObjectOf: (objectMap keyAtValue: anOop) header));
- encoderClass: (coInterpreter encoderClassForHeader: (objectMap keyAtValue: anOop) header);
stackPointers)!
Item was changed:
----- Method: StackToRegisterMappingCogit>>assertCorrectSimStackPtr (in category 'compile abstract instructions') -----
assertCorrectSimStackPtr
<inline: true>
"Would like to assert simply simSpillBase > methodOrBlockNumTemps but can't because
of the initialNils hack for nested blocks in SqueakV3PlusClosures"
self assert: (simSpillBase >= methodOrBlockNumTemps
or: [self maybeCompilingFirstPassOfBlockWithInitialPushNil and: [simSpillBase > methodOrBlockNumArgs]]).
(needsFrame and: [simSpillBase > 0]) ifTrue:
+ [self assert: ((self simStackAt: simSpillBase - 1) spilled == true or: [self maybeCompilingFirstPassOfBlockWithInitialPushNil and: [simSpillBase > methodOrBlockNumArgs]]).
- [self assert: (self simStackAt: simSpillBase - 1) spilled == true.
self assert: (simSpillBase > simStackPtr or: [(self simStackAt: simSpillBase) spilled == false])].
self cCode: '' inSmalltalk:
[deadCode ifFalse:
[self assert: simStackPtr + (needsFrame ifTrue: [0] ifFalse: [1])
= (self debugStackPointerFor: bytecodePC)]].!
More information about the Vm-dev
mailing list