[Vm-dev] VM Maker: VMMaker.oscog-dtl.738.mcz

commits at source.squeak.org commits at source.squeak.org
Fri May 30 01:22:05 UTC 2014


David T. Lewis uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-dtl.738.mcz

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

Name: VMMaker.oscog-dtl.738
Author: dtl
Time: 29 May 2014, 9:19:40.39 pm
UUID: 5911e4eb-32e9-4ecb-802a-b9bd422812de
Ancestors: VMMaker.oscog-dtl.737

Remove unnecessary pushRemappableOop in primitiveUtcWithOffset

=============== Diff against VMMaker.oscog-dtl.737 ===============

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 |
  
  	<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).
  	resultArray := objectMemory instantiateClass: objectMemory classArray indexableSize: 2.
  	self storePointer: 0 ofObject: resultArray withValue: objectMemory popRemappableOop.
+ 	self storePointerUnchecked: 1 ofObject: resultArray withValue: (objectMemory integerObjectOf: offset).
- 	self storePointerUnchecked: 1 ofObject: resultArray withValue: objectMemory popRemappableOop.
  	self pop: 1 thenPush: resultArray
  !



More information about the Vm-dev mailing list