[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