unifying register comstants

were in several files with different names
many files touched, but just renames
This commit is contained in:
Torsten Ruger
2015-06-27 21:16:46 +03:00
parent 97b4c469f8
commit ef42abe611
10 changed files with 30 additions and 39 deletions

View File

@ -70,7 +70,7 @@ module Virtual
def locals_at l_block
used =[]
# call assigns the return register, but as it is in l_block, it is not asked.
assigned = [ RegisterReference.new(Virtual::RegisterMachine.instance.return_register) ]
assigned = [ Register::RegisterReference.new(Virtual::RegisterMachine.instance.return_register) ]
l_block.reachable.each do |b|
b.uses.each {|u|
(used << u) unless assigned.include?(u)

View File

@ -36,7 +36,7 @@ module Virtual
locals = {}
expression.params.each_with_index do |param , index|
arg = param.name
register = RegisterReference.new(RegisterMachine.instance.receiver_register).next_reg_use(index + 1)
register = Register::RegisterReference.new(RegisterMachine.instance.receiver_register).next_reg_use(index + 1)
arg_value = Integer.new(register)
locals[arg] = arg_value
args << arg_value

View File

@ -23,13 +23,6 @@ module Virtual
class Message
SELF_REG = :r0
MESSAGE_REG = :r1
FRAME_REG = :r2
NEW_MESSAGE_REG = :r3
TMP_REG = :r4
def initialize me , normal , exceptional
@me = me
@next_normal = normal

View File

@ -7,7 +7,7 @@ module Virtual
new_codes = []
# save return register and create a new frame
# lr is link register, ie where arm stores the return address when call is issued
new_codes << Register::SaveReturn.new( Virtual::Slot::MESSAGE_REGISTER , Virtual::RETURN_INDEX )
new_codes << Register::SaveReturn.new( Register::RegisterReference.message_reg , Virtual::RETURN_INDEX )
new_codes << Virtual::NewFrame.new
block.replace(code , new_codes )
end

View File

@ -16,10 +16,6 @@ module Virtual
# Names for the slots avoid indexes
class Slot < Object
MESSAGE_REGISTER = :r0
SELF_REGISTER = :r1
FRAME_REGISTER = :r2
NEW_MESSAGE_REGISTER = :r3
attr_accessor :index , :type , :value