David T. Lewis uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker-dtl.404.mcz==================== Summary ====================
Name: VMMaker-dtl.404
Author: dtl
Time: 3 November 2019, 5:20:00.154 pm
UUID: 8587b64d-bc36-4509-bdab-6020c22d9593
Ancestors: VMMaker-dtl.403
VMMaker 4.16.8
Correct a long-standing issue in VM parameter reporting for values specified as milliseconds in the interface, but measured as microseconds internally. Adhere to the documented interface and answer the values in units of milliseconds, using Float values to supply higher precision when available from the VM. For example, a duration measured as 123456 microseconds is reported as a VM parameter value of 123.456 milliseconds. The change affects VM parameters 8, 10, 36, and 38.
=============== Diff against VMMaker-dtl.403 ===============
Item was changed:
----- Method: ContextInterpreter>>primitiveVMParameter (in category 'system control primitives') -----
(excessive size, no diff calculated)
Item was added:
+ ----- Method: Interpreter>>floatOrIntegerObjectOfLong:dividedBy: (in category 'object format') -----
+ floatOrIntegerObjectOfLong: numerator dividedBy: denominator
+ "Answer numerator divided by denominator as an Integer if possible, or
+ as aFloat if the result is a fractional value. The numerator (a sqLong) and
+ the denominator are both integer values, not object pointers."
+
+ | floatValue intValue |
+ <var: #numerator type: 'sqLong'>
+ <var: #floatValue type: 'double '>
+ <var: #intValue type: 'sqLong '>
+ floatValue := numerator.
+ floatValue := floatValue / denominator.
+ intValue := numerator / denominator.
+ [ intValue == floatValue ]
+ ifTrue: [^objectMemory positive64BitIntegerFor: intValue]
+ ifFalse: [^self floatObjectOf: floatValue].
+
+
+ !
Item was changed:
----- Method: VMMaker class>>versionString (in category 'version testing') -----
versionString
"VMMaker versionString"
+ ^'4.16.8'!
- ^'4.16.7'!