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

commits at source.squeak.org commits at source.squeak.org
Tue Dec 10 03:34:54 UTC 2019


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

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

Name: Cog-eem.373
Author: eem
Time: 9 December 2019, 7:34:52.780952 pm
UUID: ed643698-337f-486e-992d-13db69bcbbad
Ancestors: Cog-eem.372

Move flushICacheFrom:to: up to te abstract superclass.
Fix a slip in GdbARMAlien>>instructionIsB:.
Implement some necessary initialization for GdbARMv8Alien.

=============== Diff against Cog-eem.372 ===============

Item was removed:
- ----- Method: BochsIA32Alien>>flushICacheFrom:to: (in category 'execution') -----
- flushICacheFrom: startAddress "<Integer>" to: endAddress "<Integer>"
- 	self primitiveFlushICacheFrom: startAddress To: endAddress!

Item was removed:
- ----- Method: BochsX64Alien>>flushICacheFrom:to: (in category 'execution') -----
- flushICacheFrom: startAddress "<Integer>" to: endAddress "<Integer>"
- 	self primitiveFlushICacheFrom: startAddress To: endAddress!

Item was added:
+ ----- Method: CogProcessorAlien>>flushICacheFrom:to: (in category 'execution') -----
+ flushICacheFrom: startAddress "<Integer>" to: endAddress "<Integer>"
+ 	self primitiveFlushICacheFrom: startAddress To: endAddress!

Item was removed:
- ----- Method: GdbARMAlien>>flushICacheFrom:to: (in category 'execution') -----
- flushICacheFrom: startAddress "<Integer>" to: endAddress "<Integer>"
- 	self primitiveFlushICacheFrom: startAddress To: endAddress!

Item was changed:
  ----- Method: GdbARMAlien>>instructionIsB: (in category 'testing') -----
  instructionIsB: instr
  "is this a B <offset> instruction?"
  	"first test for non-NV condition code; some important instructions use it"
  	^(instr bitShift: -28) < 16rF
  	"See ARM DDI0406A p. A8-44"
+ 	 and: [((instr bitShift: -24) bitAnd: 16rF) = 16rA]!
- 	 and: [(instr bitShift: -24) bitAnd: 16rF = 16rA]!

Item was added:
+ ----- Method: GdbARMv8Alien>>cResultRegister (in category 'accessing-abstract') -----
+ cResultRegister
+ 	^self r0!

Item was added:
+ ----- Method: GdbARMv8Alien>>cResultRegister: (in category 'accessing-abstract') -----
+ cResultRegister: aValue
+ 	self r0: aValue!

Item was added:
+ ----- Method: GdbARMv8Alien>>initializeStackFor: (in category 'processor setup') -----
+ initializeStackFor: aCogit
+ 	"Different cpus need different stack alignment etc, so handle the details here.
+ 	 See e.g. https://github.com/ARM-software/software-standards/blob/master/abi/aapcs64/aapcs64.rst#the-stack"
+ 	aCogit setStackAlignment: 16 expectedSPOffset: 0 expectedFPOffset: 0.
+ 	PostBuildStackDelta := 0!

Item was added:
+ ----- Method: GdbARMv8Alien>>setFramePointer:stackPointer: (in category 'accessing-abstract') -----
+ setFramePointer: framePointer stackPointer: stackPointer
+ 	"Initialize the processor's frame and stack pointers"
+ 	self fp: framePointer.
+ 	self sp: stackPointer!



More information about the Vm-dev mailing list