[Vm-dev] VM Maker: VMMaker.oscog-eem.3139.mcz
commits at source.squeak.org
commits at source.squeak.org
Sat Jan 15 05:51:36 UTC 2022
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.3139.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.3139
Author: eem
Time: 14 January 2022, 9:51:18.52117 pm
UUID: 6f3e6215-11f9-48ff-aaf4-defb29288db8
Ancestors: VMMaker.oscog-eem.3138
In-image compilation: initialize the CoInterpreter well enough (in setUpForUseByFacade:) to not be misled into thinking profiling is in effect.
=============== Diff against VMMaker.oscog-eem.3138 ===============
Item was changed:
----- Method: CoInterpreter>>setUpForUseByFacade: (in category 'debug support') -----
setUpForUseByFacade: aCurrentImageCoInterpreterFacade
"Set up variables with default values so that other initializations work.
numStackPages needs to be initialized so that interpreterAllocationReserveBytes
can be computed."
<doNotGenerate>
+ numStackPages := 0.
+ method := newMethod := profileSemaphore := profileProcess := profileMethod := objectMemory nilObject!
- numStackPages := 0!
Item was added:
+ ----- Method: CurrentImageCoInterpreterFacade>>coInterpreter (in category 'accessing') -----
+ coInterpreter
+ ^coInterpreter!
Item was changed:
----- Method: CurrentImageCoInterpreterFacade>>cogit: (in category 'initialize-release') -----
cogit: aCogit
cogit := aCogit.
cogit objectMemory ifNil:
[cogit instVarNamed: 'objectMemory' put: objectMemory].
coInterpreter cogit: aCogit.
(objectMemory respondsTo: #cogit:) ifTrue:
[objectMemory cogit: aCogit].
(objectMemory respondsTo: #coInterpreter:) ifTrue:
[objectMemory coInterpreter: coInterpreter].
coInterpreter setUpForUseByFacade: self.
+ objectMemory setUpForUseByFacade: self!
- objectMemory setUpForUseByFacade: self.
- self initializeObjectMap!
Item was changed:
----- Method: CurrentImageCoInterpreterFacade>>initialize (in category 'initialize-release') -----
initialize
objectMemory := self class objectMemoryClass simulatorClass new.
objectMemory allocateMemoryOfSize: 4*1024*1024.
memory := objectMemory memory.
objectMemory
initializeFreeSpaceForFacadeFrom: self startOfMemory
to: self variablesBase.
coInterpreter := CoInterpreter new.
coInterpreter
instVarNamed: 'objectMemory'
put: (false ifTrue: [objectMemory] ifFalse: [self]);
instVarNamed: 'primitiveTable'
put: (CArrayAccessor on: CoInterpreter primitiveTable copy).
+ variables := Dictionary new.
+ self initializeObjectMap!
- variables := Dictionary new!
Item was removed:
- ----- Method: CurrentImageCoInterpreterFacade>>primitivePropertyFlags: (in category 'accessing') -----
- primitivePropertyFlags: primIndex
- ^coInterpreter primitivePropertyFlags: primIndex!
Item was changed:
----- Method: CurrentImageCoInterpreterFacade>>splObj: (in category 'accessing') -----
splObj: splObjIndex
^splObjIndex caseOf: {
[ClassArray] -> [self oopForObject: Array].
+ [ClassByteArray] -> [self oopForObject: ByteArray].
[ClassCharacter] -> [self oopForObject: Character].
[ClassLargeNegativeInteger] -> [self oopForObject: LargeNegativeInteger].
+ [ClassLargePositiveInteger] -> [self oopForObject: LargePositiveInteger].
- [ClassLargePositiveInteger] -> [self oopForObject: LargePositiveInteger].
[ClassSmallInteger] -> [self oopForObject: SmallInteger].
[CompactClasses] -> [self oopForObject: Smalltalk compactClassesArray].
+ [LowcodeContextMark] -> [self oopForObject: (Smalltalk globals at: #LowcodeNativeContext ifPresent: [:cls | cls signalingObject ]) ]
- [LowcodeContextMark] -> [self oopForObject: (Smalltalk globals at: #LowcodeNativeContext ifPresent: [:cls | cls signalingObject ]) ]
}!
More information about the Vm-dev
mailing list