[Vm-dev] VM Maker: VMMaker.oscog-eem.1775.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Apr 7 00:45:56 UTC 2016


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1775.mcz

==================== Summary ====================

Name: VMMaker.oscog-eem.1775
Author: eem
Time: 6 April 2016, 5:43:29.382334 pm
UUID: 643dcc90-05cd-4945-9531-0bb9538805e0
Ancestors: VMMaker.oscog-cb.1774

Simulator:
Set SPURVM correctly on initialization.  Old code would always set it to false.

=============== Diff against VMMaker.oscog-cb.1774 ===============

Item was changed:
  ----- Method: SpurMemoryManager class>>initBytesPerWord: (in category 'class initialization') -----
  initBytesPerWord: wordSize
  
  	BytesPerWord := BytesPerOop := wordSize.
  	"N.B.  This is *not* output when generating the interpreter file.
  	 It is left to the various sqConfig.h files to define correctly."
+ 	VMBIGENDIAN := Smalltalk endianness == #big.
+ 	SPURVM := true!
- 	VMBIGENDIAN := Smalltalk endianness == #big!

Item was changed:
  ----- Method: VMClass class>>initializeMiscConstants (in category 'initialization') -----
  initializeMiscConstants
  	"Falsify the `what type of VM is this?' flags that are defined in the various interp.h files.
  	 Subclass implementations need to include a super initializeMiscConstants"
  
  	| omc |
  	VMBIGENDIAN class. "Mention this for the benefit of CCodeGenerator>>emitCConstantsOn:"
  	SPURVM := STACKVM := COGVM := COGMTVM := false.
  
  	initializationOptions ifNil: [self initializationOptions: Dictionary new].
  	omc := initializationOptions at: #ObjectMemory ifAbsent: nil.
  	(omc isNil and: [self defaultObjectMemoryClass notNil]) ifTrue:
  		[omc := initializationOptions at: #ObjectMemory put: self defaultObjectMemoryClass name].
  	initializationOptions
  		at: #SqueakV3ObjectMemory	"the good ole default"
  			ifAbsentPut: (omc
  					ifNil: [true]
  					ifNotNil: [(Smalltalk at: omc) includesBehavior: ObjectMemory]);
  		at: #SpurObjectMemory		"the new contender"
  			ifAbsentPut: (omc
  					ifNil: [false]
  					ifNotNil: [(Smalltalk at: omc) includesBehavior: SpurMemoryManager]).
  
  	"Use ifAbsentPut: so that they will get copied back to the
  	 VMMaker's options and dead code will likely be eliminated."
  	PharoVM := initializationOptions at: #PharoVM ifAbsentPut: [false].
  	NewspeakVM := initializationOptions at: #NewspeakVM ifAbsentPut: [false].
  	SistaVM := initializationOptions at: #SistaVM ifAbsentPut: [false].
  	"But not these; they're compile-time"
  	MULTIPLEBYTECODESETS := initializationOptions at: #MULTIPLEBYTECODESETS ifAbsent: [false].
  	IMMUTABILITY := initializationOptions at: #IMMUTABILITY ifAbsent: [false].
  
  	"These must be set only if specified, not defaulted, because they are set on the command line or in include files."
  	initializationOptions
  		at: #VMBIGENDIAN	ifPresent: [:value| VMBIGENDIAN := value];
+ 		at: #ObjectMemory	ifPresent: [:value| SPURVM := value beginsWith: 'Spur'];
  		at: #STACKVM		ifPresent: [:value| STACKVM := value];
  		at: #COGVM		ifPresent: [:value| COGVM := initializationOptions at: #COGVM];
  		at: #COGMTVM		ifPresent: [:value| COGMTVM := initializationOptions at: #COGMTVM]!



More information about the Vm-dev mailing list