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

commits at source.squeak.org commits at source.squeak.org
Tue Nov 3 01:53:45 UTC 2015


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

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

Name: Cog-eem.291
Author: eem
Time: 2 November 2015, 9:53:33.474 pm
UUID: 5cab4ae5-87d4-438a-a9ae-9bf4a7394dd9
Ancestors: Cog-eem.290

Add support for failing register-indirect calls on x64

=============== Diff against Cog-eem.290 ===============

Item was changed:
+ ----- Method: BochsX64Alien>>handleGroup5FailureAt:in:rex: (in category 'error handling') -----
- ----- Method: BochsX64Alien>>handleGroup5FailureAt:in:rex: (in category 'as yet unclassified') -----
  handleGroup5FailureAt: pc "<Integer>" in: memoryArray "<Bitmap|ByteArray>" rex: rexByteOrNil "<Integer|nil>"
  	"Convert an execution primitive failure for a group 5 instruction into the relevant ProcessorSimulationTrap signal."
  	| modrmByte getter |
  	self assert: rexByteOrNil isNil.
  	modrmByte := memoryArray byteAt: pc + 2.
  	(modrmByte >> 3 bitAnd: 7)
  		caseOf: {
  			[2 "Call Ev"]	->	[getter := self registerStateGetters at: (modrmByte bitAnd: 7) + 1.
  							^(ProcessorSimulationTrap
  									pc: pc
  									nextpc: pc + 2
  									address: (self perform: getter)
  									type: #call)
  								signal] }!



More information about the Vm-dev mailing list