start using tmp registers at 1
which used to be reserved for the next message
This commit is contained in:
parent
472b1a638a
commit
a306c464b7
@ -72,7 +72,7 @@ module Mom
|
|||||||
case object
|
case object
|
||||||
when :frame
|
when :frame
|
||||||
type = compiler.method.frame
|
type = compiler.method.frame
|
||||||
when :message , :next_message
|
when :message , :next_message , :caller
|
||||||
type = Parfait.object_space.get_class_by_name(:Message).instance_type
|
type = Parfait.object_space.get_class_by_name(:Message).instance_type
|
||||||
when :arguments
|
when :arguments
|
||||||
type = compiler.method.arguments
|
type = compiler.method.arguments
|
||||||
|
@ -45,9 +45,9 @@ module Risc
|
|||||||
end
|
end
|
||||||
|
|
||||||
#helper method to calculate with register symbols
|
#helper method to calculate with register symbols
|
||||||
def next_reg_use type , value = nil
|
def next_reg_use( type , value = nil )
|
||||||
int = @symbol[1,3].to_i
|
int = @symbol[1,3].to_i
|
||||||
raise "No more registers #{self}" if int > 12
|
raise "No more registers #{self}" if int > 8
|
||||||
sym = "r#{int + 1}".to_sym
|
sym = "r#{int + 1}".to_sym
|
||||||
RiscValue.new( sym , type, value)
|
RiscValue.new( sym , type, value)
|
||||||
end
|
end
|
||||||
@ -75,7 +75,7 @@ module Risc
|
|||||||
# The first scratch register. There is a next_reg_use to get a next and next.
|
# The first scratch register. There is a next_reg_use to get a next and next.
|
||||||
# Current thinking is that scratch is schatch between instructions
|
# Current thinking is that scratch is schatch between instructions
|
||||||
def self.tmp_reg( type , value = nil)
|
def self.tmp_reg( type , value = nil)
|
||||||
RiscValue.new :r2 , type , value
|
RiscValue.new :r1 , type , value
|
||||||
end
|
end
|
||||||
|
|
||||||
# The first arg is a class name (possibly lowercase) and the second an instance variable name.
|
# The first arg is a class name (possibly lowercase) and the second an instance variable name.
|
||||||
|
Loading…
Reference in New Issue
Block a user