David T. Lewis uploaded a new version of VMMaker to project VM Maker: http://source.squeak.org/VMMaker/VMMaker.oscog-dtl.286.mcz
==================== Summary ====================
Name: VMMaker.oscog-dtl.286 Author: dtl Time: 4 May 2013, 11:29:25.237 am UUID: 8be237d9-7812-4792-9723-90f9cff0c2e9 Ancestors: VMMaker.oscog-eem.285
Replace broken primitiveUtcWithOffset with a version that works.
=============== Diff against VMMaker.oscog-eem.285 ===============
Item was changed: ----- Method: InterpreterPrimitives>>primitiveUtcWithOffset (in category 'system control primitives') ----- primitiveUtcWithOffset "Answer an array with UTC microseconds since the Posix epoch and the current seconds offset from GMT in the local time zone. This is a named (not numbered) primitive in the null module (ie the VM)" + | epochDelta offset resultArray utcMicroseconds | - | offset resultArray |
<export: true> + <var: #epochDelta declareC: 'static usqLong epochDelta= 2177452800000000ULL'> + <var: #utcMicroseconds type: #usqLong> + <var: #offset type: #sqLong> + utcMicroseconds := self ioUTCMicroseconds. + offset := self ioLocalMicroseconds - utcMicroseconds. + offset := offset / 1000000. + objectMemory pushRemappableOop: (objectMemory integerObjectOf: offset). + objectMemory pushRemappableOop: (self positive64BitIntegerFor: utcMicroseconds - epochDelta). - <var: #clock type: 'sqLong'> - offset := self ioUTCMicroseconds - self ioLocalMicroseconds. - objectMemory pushRemappableOop: (self positive64BitIntegerFor: self ioUTCMicroseconds). resultArray := objectMemory instantiateClass: objectMemory classArray indexableSize: 2. self stObject: resultArray at: 1 put: objectMemory popRemappableOop. + self stObject: resultArray at: 2 put: objectMemory popRemappableOop. - self stObject: resultArray at: 2 put: (objectMemory integerObjectOf: offset). self pop: 1 thenPush: resultArray !
vm-dev@lists.squeakfoundation.org