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

commits at source.squeak.org commits at source.squeak.org
Fri Oct 1 21:45:23 UTC 2021


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

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

Name: VMMaker.oscog-eem.3084
Author: eem
Time: 1 October 2021, 2:45:11.62508 pm
UUID: ee7b4320-d292-4786-a3b9-4eadf2628eb7
Ancestors: VMMaker.oscog-mt.3083

Sionara fromIEEE64BitWord:; Kon'nichiwa fromIEEE64Bit:

=============== Diff against VMMaker.oscog-mt.3083 ===============

Item was changed:
  ----- Method: CFloatArray>>at: (in category 'accessing') -----
  at: offset
  	| address |
  	address := unitSize * offset + self ptrAddress.
  	^unitSize >= 4
  		ifTrue:
  			[unitSize = 4
  				ifTrue: [Float fromIEEE32Bit: (interpreter long32At: address)]
+ 				ifFalse: [Float fromIEEE64Bit: (interpreter long64At: address)]]
- 				ifFalse: [Float fromIEEE64BitWord: (interpreter long64At: address)]]
  		ifFalse:
  			[self error: 'unitSize must be 4 or 8']!

Item was removed:
- ----- Method: Float class>>fromIEEE64BitWord: (in category '*VMMaker-instance creation') -----
- fromIEEE64BitWord: anInteger
- 	| value |
- 	value := self basicNew: 2.
- 	value
- 		basicAt: 1 put: (anInteger bitShift: -32);
- 		basicAt: 2 put: (anInteger bitAnd: 16rFFFFFFFF).
- 	^value isFinite
- 		ifTrue: [value * 1.0] "reduce to SmallFloat64 if possible"
- 		ifFalse: [value]
- 
- 	"[| r |
- 	 r := Random new.
- 	 100000 timesRepeat:
- 		[| h l f |
- 		h := (r next * 16r100000000) rounded bitAnd: 16rFFFFFFFF.
- 		l := (r next * 16r100000000) rounded bitAnd: 16rFFFFFFFF.
- 		f := Float fromIEEE64BitWord: (h bitShift: 32) + l.
- 		self assert: h = (f basicAt: 1).
- 		self assert: l = (f basicAt: 2)]] timeToRun"!

Item was changed:
  ----- Method: SpurMemoryManager>>floatAtPointer: (in category 'simulation only') -----
  floatAtPointer: ptr
  	"See platforms/Cross/vm/sqMemoryAccess.h for the production implementation."
  	<doNotGenerate>
+ 	^Float fromIEEE64Bit: (self long64At: ptr)!
- 	^Float fromIEEE64BitWord: (self long64At: ptr)!



More information about the Vm-dev mailing list