[Vm-dev] VM Maker: VMMaker.oscog-mt.3285.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Dec 30 16:38:55 UTC 2022


Marcel Taeumel uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-mt.3285.mcz

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

Name: VMMaker.oscog-mt.3285
Author: mt
Time: 30 December 2022, 5:38:46.225292 pm
UUID: a32030a9-258c-fb43-b556-5950b2f34c9e
Ancestors: VMMaker.oscog-eem.3284

Fix typo in #long64At:put: to use correct primitive.

Some clean-up in *VMMaker-accessing helper methods in ByteArray.

In the long term, client code should switch to *FFI-Kernel-accessing. #int32At:(put:), #int64At:(put:), ...

=============== Diff against VMMaker.oscog-eem.3284 ===============

Item was changed:
  ----- Method: ByteArray>>long32At: (in category '*VMMaker-accessing') -----
  long32At: byteIndex
+ 	"Answer a 32-bit integer in platform native order starting at the given byte offset."
- 	"Store a 32bit signed integer starting at the given byte offset"
  	<primitive: #primitiveSignedInt32At module: #SqueakFFIPrims error: ec>
  	^self integerAt: byteIndex size: 4 signed: true!

Item was added:
+ ----- Method: ByteArray>>long32At:put: (in category '*VMMaker-accessing') -----
+ long32At: byteIndex put: aValue
+ 	"Store a 32bit signed integer starting at the given byte offset"
+ 	<primitive: #primitiveSignedInt32AtPut module: #SqueakFFIPrims error: ec>
+ 	^self integerAt: byteIndex put: aValue size: 4 signed: true!

Item was changed:
  ----- Method: ByteArray>>long64At: (in category '*VMMaker-accessing') -----
+ long64At: byteIndex
+ 	"Answer a 64-bit integer in platform native order starting at the given byte offset."
- long64At: index
- 	"Answer a 64-bit integer in platform native order."
  	<primitive: #primitiveSignedInt64At module: #SqueakFFIPrims error: ec>
+ 	^self integerAt: byteIndex size: 8 signed: true!
- 	^self integerAt: index size: 8 signed: true!

Item was changed:
  ----- Method: ByteArray>>long64At:put: (in category '*VMMaker-accessing') -----
  long64At: index put: value
+ 	"Store a 64-bit integer in platform native order starting at the given byte offset."
+ 	<primitive: #primitiveSignedInt64AtPut module: #SqueakFFIPrims error: ec>
- 	"I store 64-bit integers in platform native order."
- 	<primitive: #primitiveSignedInt648At module: #SqueakFFIPrims error: ec>
  	^self integerAt: index put: value size: 8 signed: true!

Item was changed:
  ----- Method: ByteArray>>longAt: (in category '*VMMaker-accessing') -----
  longAt: byteIndex
+ 	"Answer a 32-bit integer in platform native order starting at the given byte offset."
- 	"Store a 32-bit signed integer starting at the given byte offset"
  	<primitive: #primitiveSignedInt32At module: #SqueakFFIPrims error: ec>
  	^self integerAt: byteIndex size: 4 signed: true!

Item was changed:
  ----- Method: ByteArray>>longAt:put: (in category '*VMMaker-accessing') -----
  longAt: byteIndex put: aValue
  	"Store a 32bit signed integer starting at the given byte offset"
+ 	<primitive: #primitiveSignedInt32AtPut module: #SqueakFFIPrims error: ec>
  	^self integerAt: byteIndex put: aValue size: 4 signed: true!

Item was changed:
  ----- Method: ByteArray>>unsignedLong64At: (in category '*VMMaker-accessing') -----
  unsignedLong64At: byteOffset
+ 	"Answer a 64-bit unsigned integer in platform native order starting at the given byte offset."
- 	"Answer a 64-bit integer in platform native order."
  	<primitive: #primitiveUnsignedInt64At module: #SqueakFFIPrims error: ec>
  	^self integerAt: byteOffset size: 8 signed: false!

Item was changed:
  ----- Method: ByteArray>>unsignedLong64At:put: (in category '*VMMaker-accessing') -----
  unsignedLong64At: byteOffset put: value
+ 	"Store a 64-bit unsigned integer in platform native order starting at the given byte offset."
+ 	<primitive: #primitiveUnsignedInt64AtPut module: #SqueakFFIPrims error: ec>
- 	"I store 64-bit integers in Smalltalk (little-endian) order."
  	^self integerAt: byteOffset put: value size: 8 signed: false!



More information about the Vm-dev mailing list