[Vm-dev] VM Maker: VMMaker.oscog-eem.662.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Apr 2 22:19:32 UTC 2014
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.662.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.662
Author: eem
Time: 2 April 2014, 3:17:05.32 pm
UUID: 2b89547d-56bd-42fa-a1e9-06ef4f9bd5f6
Ancestors: VMMaker.oscog-eem.661
Fix in-image compilation (at least for ObjectMemory).
=============== Diff against VMMaker.oscog-eem.661 ===============
Item was added:
+ ----- Method: ByteArray>>longAt:put: (in category '*VMMaker-accessing') -----
+ longAt: byteIndex put: aValue
+ ^self signedLongAt: byteIndex put: aValue!
Item was changed:
----- Method: Cogit class>>cog:selector:options: (in category 'in-image compilation') -----
cog: aCompiledMethod selector: aSelector options: optionsDictionaryOrArray
"StackToRegisterMappingCogit cog: (Integer >> #benchFib) selector: #benchFib options: #(COGMTVM false)"
| coInterpreter cogit |
self initializeWithOptions: (self asOptionsDictionary: optionsDictionaryOrArray).
coInterpreter := CurrentImageCoInterpreterFacade forCogit: (cogit := self new).
[cogit
setInterpreter: coInterpreter;
singleStep: true;
+ initializeCodeZoneFrom: 1024 upTo: coInterpreter memory size / 2. "leave space for rump C stack"
- initializeCodeZoneFrom: 1024 upTo: coInterpreter memory size.
cogit methodZone freeStart: (cogit methodZone freeStart roundUpTo: 1024)]
on: Notification
do: [:ex|
(ex messageText beginsWith: 'cannot find receiver for') ifTrue:
[ex resume: coInterpreter].
ex pass].
^{ coInterpreter.
cogit.
cogit cog: (coInterpreter oopForObject: aCompiledMethod) selector: (coInterpreter oopForObject: aSelector) }!
Item was added:
+ ----- Method: CurrentImageCoInterpreterFacade>>baseHeaderSize (in category 'accessing') -----
+ baseHeaderSize
+ ^self subclassResponsibility!
Item was added:
+ ----- Method: CurrentImageCoInterpreterFacade>>isYoungObject: (in category 'accessing') -----
+ isYoungObject: anOop
+ ^false!
Item was changed:
----- Method: CurrentImageCoInterpreterFacade>>rumpCStackAddress (in category 'accessing') -----
rumpCStackAddress
+ ^memory size / 4 * 3 + 1024!
- ^memory size / 2 + 1024!
Item was added:
+ ----- Method: CurrentImageCoInterpreterFacade>>temporaryCountOfMethodHeader: (in category 'accessing') -----
+ temporaryCountOfMethodHeader: header
+ ^(CompiledMethod
+ newMethod: 8
+ header: (header <= SmallInteger maxVal
+ ifTrue: [header]
+ ifFalse: [(header bitAnd: SmallInteger maxVal) + SmallInteger minVal]))
+ numTemps!
Item was added:
+ ----- Method: CurrentImageCoInterpreterFacadeForSpurObjectRepresentation>>baseHeaderSize (in category 'accessing') -----
+ baseHeaderSize
+ ^SpurMemoryManager baseHeaderSize!
Item was added:
+ ----- Method: CurrentImageCoInterpreterFacadeForSqueakV3ObjectRepresentation>>baseHeaderSize (in category 'accessing') -----
+ baseHeaderSize
+ ^ObjectMemory baseHeaderSize!
More information about the Vm-dev
mailing list