[Vm-dev] VM Maker: VMMaker.oscog-tpr.1278.mcz

commits at source.squeak.org commits at source.squeak.org
Mon May 4 17:26:26 UTC 2015


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

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

Name: VMMaker.oscog-tpr.1278
Author: tpr
Time: 4 May 2015, 10:24:57.661 am
UUID: d4f57d4d-5a8f-4cfa-8f0c-fd7dd187e3fa
Ancestors: VMMaker.oscog-tpr.1277

Converting #bitAt: 24 to bitshiftery with 24 just isn't going to work, dummy. It needs to be shift by 23.

Coming soon- changes to  memMxr:reg:base:u:b:l:imm: - hold onto your cat!

=============== Diff against VMMaker.oscog-tpr.1277 ===============

Item was changed:
  ----- Method: CogARMCompiler>>extractOffsetFromBL: (in category 'testing') -----
  extractOffsetFromBL: instr
  	"we are told this is a BL <offset> instruction, so work out the offset it encodes"
  	<inline: true>
  	| relativeJump |
  	relativeJump := instr bitAnd: 16r00FFFFFF.
+ 	relativeJump := ((relativeJump bitAnd: 1<<23) >> 23) = 1
- 	relativeJump := ((relativeJump bitAnd: 1<<24) >> 24) = 1
  						ifTrue: [((relativeJump bitOr: 16r3F000000) << 2) signedIntFromLong]
  						ifFalse: [relativeJump << 2].
  	^relativeJump!



More information about the Vm-dev mailing list