[Vm-dev] VM Maker: Cog-tpr.243.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Mar 18 00:43:30 UTC 2015


tim Rowledge uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-tpr.243.mcz

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

Name: Cog-tpr.243
Author: tpr
Time: 17 March 2015, 5:43:18.956 pm
UUID: 0868bce1-898f-445d-bcb7-05abd95ac84c
Ancestors: Cog-eem.242

Add access to eflags etc for GdbARMAlien

=============== Diff against Cog-eem.242 ===============

Item was added:
+ ----- Method: GdbARMAlien>>cflag: (in category 'accessing') -----
+ cflag: unsignedInteger
+ "The ARM cpsr flags are kept as individual fields in the Alien structure. The address here is the 1-based byte offset into the ARMul_State structure"
+ 	^self unsignedLongAt: 573 put: unsignedInteger!

Item was added:
+ ----- Method: GdbARMAlien>>eflags: (in category 'accessing') -----
+ eflags: anUnsignedInteger
+ 	"set the processor flags from the integer"
+ 	self nflag: (anUnsignedInteger >> 5 bitOr: 1).
+ 	self zflag: (anUnsignedInteger >> 4 bitOr: 1).
+ 	self cflag: (anUnsignedInteger >> 3 bitOr: 1).
+ 	self vflag: (anUnsignedInteger >> 2 bitOr: 1).
+ 	self ifflags: (anUnsignedInteger bitOr: 3)!

Item was added:
+ ----- Method: GdbARMAlien>>ifflags: (in category 'accessing') -----
+ ifflags: unsignedInteger
+ "The ARM cpsr flags are kept as individual fields in the Alien structure. The address here is the 1-based byte offset into the ARMul_State structure"
+ 	^self unsignedLongAt: 581 put: unsignedInteger!

Item was added:
+ ----- Method: GdbARMAlien>>nflag: (in category 'accessing') -----
+ nflag: unsignedInteger
+ "The ARM cpsr flags are kept as individual fields in the Alien structure. The address here is the 1-based byte offset into the ARMul_State structure"
+ 	^self unsignedLongAt: 565 put: unsignedInteger!

Item was changed:
  ----- Method: GdbARMAlien>>registerStateSetters (in category 'accessing-abstract') -----
  registerStateSetters
  "a list of register setting messages used to initialise or reset registers"
+ 	^#(	r0: r1: r2: r3: r4: r5: r6: r7: r8: r9: r10: fp: r12: sp: lr: pc: eflags:)!
- 	^#(	r0: r1: r2: r3: r4: r5: r6: r7: r8: r9: r10: fp: r12: sp: lr: pc:)!

Item was added:
+ ----- Method: GdbARMAlien>>setRegisterState: (in category 'accessing-abstract') -----
+ setRegisterState: aRegisterStateArray
+ 	"N.B. keep in sync with voidRegisterState"
+ 
+ 	self r0:  (aRegisterStateArray at: 1).
+ 	self r1: (aRegisterStateArray at: 2).
+ 	self r2: (aRegisterStateArray at: 3).
+ 	self r3: (aRegisterStateArray at: 4).
+ 	self r4: (aRegisterStateArray at: 5).
+ 	self r5: (aRegisterStateArray at: 6).
+ 	self r6: (aRegisterStateArray at: 7).
+ 	self r7: (aRegisterStateArray at: 8).
+ 	self r8: (aRegisterStateArray at: 9).
+ 	self r9: (aRegisterStateArray at: 10).
+ 	self r10: (aRegisterStateArray at: 11).
+ 	self fp: (aRegisterStateArray at: 12).
+ 	self r12: (aRegisterStateArray at: 13).
+ 	self sp: (aRegisterStateArray at: 14).
+ 	self lr: (aRegisterStateArray at: 15).
+ 	self pc: (aRegisterStateArray at: 16).
+ 	self eflags:  (aRegisterStateArray at: 17).!

Item was added:
+ ----- Method: GdbARMAlien>>sflag: (in category 'accessing') -----
+ sflag: unsignedInteger
+ "The ARM cpsr flags are kept as individual fields in the Alien structure. The address here is the 1-based byte offset into the ARMul_State structure"
+ 	^self unsignedLongAt: 585 put: unsignedInteger!

Item was added:
+ ----- Method: GdbARMAlien>>tflag: (in category 'accessing') -----
+ tflag: unsignedInteger
+ "The ARM cpsr flags are kept as individual fields in the Alien structure. The address here is the 1-based byte offset into the ARMul_State structure"
+ "This would be the Thumb flag if we have it -which depends rather oddly on the compiletime flags used to build the ARMulator. Sigh"
+ 	^self unsignedLongAt: 589 put: unsignedInteger!

Item was added:
+ ----- Method: GdbARMAlien>>vflag: (in category 'accessing') -----
+ vflag: unsignedInteger
+ "The ARM cpsr flags are kept as individual fields in the Alien structure. The address here is the 1-based byte offset into the ARMul_State structure"
+ 	^self unsignedLongAt: 577 put: unsignedInteger!

Item was added:
+ ----- Method: GdbARMAlien>>voidRegisterState (in category 'accessing-abstract') -----
+ voidRegisterState
+ 	"N.B. keep in sync with setRegisterState:"
+ 	self setRegisterState: (Array new: 17 withAll: 0)!

Item was added:
+ ----- Method: GdbARMAlien>>zflag: (in category 'accessing') -----
+ zflag: unsignedInteger
+ "The ARM cpsr flags are kept as individual fields in the Alien structure. The address here is the 1-based byte offset into the ARMul_State structure"
+ 	^self unsignedLongAt: 569 put: unsignedInteger!



More information about the Vm-dev mailing list