[Vm-dev] VM Maker: VMMaker.rsqueak-tfel.2110.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jan 24 14:05:11 UTC 2017


Tim Felgentreff uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.rsqueak-tfel.2110.mcz

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

Name: VMMaker.rsqueak-tfel.2110
Author: tfel
Time: 24 January 2017, 3:04:36.871042 pm
UUID: fd04c72f-5484-b64e-97d4-8b26af67802f
Ancestors: VMMaker.rsqueak-tfel.2109

use word arrays to back CArrayAccessors in BitBlt simulation, so we avoid the overhead of tag-checking

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

Item was changed:
  ----- Method: BitBltSimulator>>halftoneAt: (in category 'memory access') -----
  halftoneAt: idx
  
  	^self
  		cCode: [(halftoneBase + (idx \\ halftoneHeight * 4)) long32At: 0]
+ 		inSmalltalk: [
+ 			halftoneBase isCObjectAccessor
+ 				ifTrue: [
+ 					"avoids an extra copy of the CObject"
+ 					halftoneBase long32At: idx \\ halftoneHeight * 4]
+ 				ifFalse: [super halftoneAt: idx]]!
- 		inSmalltalk: [super halftoneAt: idx]!

Item was changed:
  ----- Method: BitBltSimulator>>initBBOpTable (in category 'simulation') -----
  initBBOpTable
  	opTable := OpTable.
+ 	maskTable := WordArray new: 32.
- 	maskTable := Array new: 32.
  	#(1 2 4 5 8 16 32) do:[:i| maskTable at: i put: (1 << i)-1].
  	self initializeDitherTables.
+ 	warpBitShiftTable := CArrayAccessor on: (WordArray new: 32).!
- 	warpBitShiftTable := CArrayAccessor on: (Array new: 32).!

Item was changed:
  ----- Method: BitBltSimulator>>initializeDitherTables (in category 'simulation') -----
  initializeDitherTables
  	ditherMatrix4x4 := CArrayAccessor on:
+ 		(WordArray newFrom:
  		#(	0	8	2	10
  			12	4	14	6
  			3	11	1	9
+ 			15	7	13	5)).
+ 	ditherThresholds16 := CArrayAccessor on: (WordArray newFrom: #(0 2 4 6 8 10 12 14 16)).
- 			15	7	13	5).
- 	ditherThresholds16 := CArrayAccessor on:#(0 2 4 6 8 10 12 14 16).
  	ditherValues16 := CArrayAccessor on: 
+ 		(WordArray newFrom: #(0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
+ 		15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30)).
+ 	dither8Lookup := CArrayAccessor on: (WordArray new: 4096).!
- 		#(0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
- 		15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30).
- 	dither8Lookup := CArrayAccessor on: (Array new: 4096).!



More information about the Vm-dev mailing list