VM Maker: VMMaker.oscog-eem.2184.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

VM Maker: VMMaker.oscog-eem.2184.mcz

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

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

Name: VMMaker.oscog-eem.2184
Author: eem
Time: 25 March 2017, 12:43:46.696507 pm
UUID: aa9725c6-233f-4e84-9a79-79af2f5465d3
Ancestors: VMMaker.oscog-eem.2183

Answer MiscPrimitivePlugin's translated primitives based on what merhods are available.  Using PharoVM (either a compile-time or a simulation-time variable) is the wrong thing to do.

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

Item was changed:
  ----- Method: MiscPrimitivePlugin class>>translatedPrimitives (in category 'translation') -----
  translatedPrimitives
  "an assorted list of various primitives"
+ (ByteString compiledMethodAt: #findSubstringViaPrimitive:in:startingAt:matchTable: ifAbsent: []) ifNotNil:
+ [^#("Pharo uses findSubstringViaPrimitive:in:startingAt:matchTable:"
+ (Bitmap compress:toByteArray:)
+ (Bitmap decompress:fromByteArray:at:)
+ (Bitmap encodeBytesOf:in:at:)
+ (Bitmap encodeInt:in:at:)
+ (ByteString compare:with:collated:)
+ (ByteString translate:from:to:table:)
+ (ByteString findFirstInString:inSet:startingAt:)
+ (ByteString indexOfAscii:inString:startingAt:)
+ (String findSubstringViaPrimitive:in:startingAt:matchTable:)
+ (ByteArray hashBytes:startingWith:)
+ (SampledSound convert8bitSignedFrom:to16Bit:))].
- PharoVM ifTrue: [ ^ self translatedPrimitivesForPharo ].
  ^#(
  (Bitmap compress:toByteArray:)
  (Bitmap decompress:fromByteArray:at:)
  (Bitmap encodeBytesOf:in:at:)
  (Bitmap encodeInt:in:at:)
  (ByteString compare:with:collated:)
  (ByteString translate:from:to:table:)
  (ByteString findFirstInString:inSet:startingAt:)
  (ByteString indexOfAscii:inString:startingAt:)
  (ByteString findSubstring:in:startingAt:matchTable:)
  (ByteArray hashBytes:startingWith:)
  (SampledSound convert8bitSignedFrom:to16Bit:)
  )
 
  "| tps |
  'This opens a list browser on all translated primitives in the image'.
  tps := (SystemNavigation default allImplementorsOf: #translatedPrimitives)
  inject: Set new
  into: [:tp :mr|
  tp addAll: (mr actualClass theNonMetaClass translatedPrimitives collect:
  [:pair|
  MethodReference
  class: (((Smalltalk at: pair first) canUnderstand: pair last)
  ifTrue: [Smalltalk at: pair first]
  ifFalse: [(Smalltalk at: pair first) class])
  selector: pair last]);
  yourself].
  SystemNavigation default browseMessageList: tps asArray sort name: 'Translated Primitives' "!

Item was removed:
- ----- Method: MiscPrimitivePlugin class>>translatedPrimitivesForPharo (in category 'translation') -----
- translatedPrimitivesForPharo
- ^#(
- (Bitmap compress:toByteArray:)
- (Bitmap decompress:fromByteArray:at:)
- (Bitmap encodeBytesOf:in:at:)
- (Bitmap encodeInt:in:at:)
- (ByteString compare:with:collated:)
- (ByteString translate:from:to:table:)
- (ByteString findFirstInString:inSet:startingAt:)
- (ByteString indexOfAscii:inString:startingAt:)
- (String findSubstringViaPrimitive:in:startingAt:matchTable:)
- (ByteArray hashBytes:startingWith:)
- (SampledSound convert8bitSignedFrom:to16Bit:)
- )!