[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