remove IsSame branch from risc
mixing up levels, IsSame is Mom at risc this is a minus and Zero check fix all tests
This commit is contained in:
@ -19,10 +19,13 @@ module Mom
|
||||
left = @condition.to_register(compiler,self)
|
||||
false_load = SlotDefinition.new( FalseConstant.new , [] ).to_register(compiler,self)
|
||||
left << false_load
|
||||
left << Risc::IsSame.new(self , left.register , false_load.register , false_label)
|
||||
left << Risc.op( self , :- , left.register , false_load.register)
|
||||
left << Risc::IsNotZero.new( self, false_label)
|
||||
nil_load = SlotDefinition.new( NilConstant.new , [] ).to_register(compiler,self)
|
||||
left << nil_load
|
||||
left << Risc::IsSame.new(self , left.register , nil_load.register , false_label)
|
||||
left << Risc.op( self , :- , left.register , nil_load.register)
|
||||
left << Risc::IsNotZero.new( self, false_label)
|
||||
|
||||
left
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user