[Vm-dev] VM Maker: VMMaker.oscog-eem.1100.mcz
commits at source.squeak.org
commits at source.squeak.org
Wed Mar 18 23:23:59 UTC 2015
Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.1100.mcz
==================== Summary ====================
Name: VMMaker.oscog-eem.1100
Author: eem
Time: 18 March 2015, 4:21:41.552 pm
UUID: 7c4e7d35-34c3-4654-a7c2-09b21aceb1d3
Ancestors: VMMaker.oscog-eem.1099
Block disassembly and dispatch support for ARM.
=============== Diff against VMMaker.oscog-eem.1099 ===============
Item was added:
+ ----- Method: CogARMCompiler>>instructionSizeAt: (in category 'disassembly') -----
+ instructionSizeAt: pc
+ "Answer the instruction size at pc.Simple on ARM ;-)"
+ ^4!
Item was added:
+ ----- Method: CogARMCompiler>>isJumpAt: (in category 'testing') -----
+ isJumpAt: pc
+ | instr |
+ instr := objectMemory long32At: pc.
+ ^(self instructionIsB: instr)
+ or: [self instructionIsBX: instr]!
Item was added:
+ ----- Method: CogARMCompiler>>jumpTargetPCAt: (in category 'disassembly') -----
+ jumpTargetPCAt: pc
+ <returnTypeC: #usqInt>
+ | operand word |
+ word := objectMemory long32At: pc.
+ operand := word bitAnd: 16rFFFFFF.
+ (operand anyMask: 16r800000) ifTrue:
+ [operand := operand - 16r1000000].
+ ^operand * 4 + pc + 8 bitAnd: cogit addressSpaceMask!
More information about the Vm-dev
mailing list