[Vm-dev] VM Maker: Cog-eem.284.mcz

commits at source.squeak.org commits at source.squeak.org
Sun Sep 27 01:26:14 UTC 2015


Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.284.mcz

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

Name: Cog-eem.284
Author: eem
Time: 26 September 2015, 6:25:30.463 pm
UUID: c88cf7d5-4889-41e2-925b-7d96ccbec674
Ancestors: Cog-eem.283

Initial assembly decoration for x64.

=============== Diff against Cog-eem.283 ===============

Item was added:
+ ----- Method: BochsX64Alien>>decorateDisassembly:for: (in category 'disassembly') -----
+ decorateDisassembly: anInstructionString for: aSymbolManager "<Cogit>"
+ 	| string i1 i2 v |
+ 	string := anInstructionString.
+ 	(i1 := string indexOfSubCollection: '%ds:0x') > 0 ifTrue:
+ 		[i2 := i1 + 6.
+ 		 ['0123456789abcdef' includes: (string at: i2)] whileTrue: [i2 := i2 + 1].
+ 		 string := string
+ 					copyReplaceFrom: i1 + 4
+ 					to: i2 - 1
+ 					with: (aSymbolManager lookupCHexString: (string copyFrom: i1 + 4 to: i2 - 1))].
+ 	(i1 := string indexOfSubCollection: '%ss:0x') > 0 ifTrue:
+ 		[i2 := i1 + 6.
+ 		 ['0123456789abcdef' includes: (string at: i2)] whileTrue: [i2 := i2 + 1].
+ 		 ((string at: i2) = $(
+ 		 and: [(string at: i2 + 1) = $%]) ifTrue:
+ 			[v := Integer readFrom: (ReadStream on: string from: i1 + 6 to: i2 - 1) base: 16.
+ 			string := string
+ 						copyReplaceFrom: i1
+ 						to: i2 - 1
+ 						with: ((v bitAnd: (1 bitShift: 31) - 1) - (v bitAnd: (1 bitShift: 31))) printString]].
+ 	(i1 := string indexOfSubCollection: '$0x') > 0 ifTrue:
+ 		[i2 := i1 + 3.
+ 		 ['0123456789abcdef' includes: (string at: i2)] whileTrue: [i2 := i2 + 1].
+ 		 string := string
+ 					copyReplaceFrom: i1 + 1
+ 					to: i2 - 1
+ 					with: (aSymbolManager lookupCHexString: (string copyFrom: i1 + 1 to: i2 - 1))].
+ 	((i1 := string indexOf: $() > 1
+ 	 and: [(string at: i1 + 1) isDigit
+ 	 and: [i1 < (i2 := string indexOf: $))]]) ifTrue:
+ 		[string := string
+ 					copyReplaceFrom: i1 + 1
+ 					to: i2 - 1
+ 					with: (aSymbolManager lookupCHexString: (string copyFrom: i1 + 1 to: i2 - 1))].
+ 	^string!



More information about the Vm-dev mailing list