fix dynamic resolution

was loading self, when it needs to load receiver
some more test (up to the resolve) start working
This commit is contained in:
Torsten Ruger
2018-04-03 12:55:28 +03:00
parent c304ad67c6
commit 17b52d4e80
3 changed files with 20 additions and 13 deletions

View File

@ -149,7 +149,6 @@ module Risc
else
value = object.get_internal_word( index )
end
#value = value.object_id unless value.is_a? Fixnum
set_register( @instruction.register , value )
true
end

View File

@ -119,7 +119,7 @@ module Vool
end
def build_method_cache_update(in_method)
receiver = SymbolConstant.new(@name)
resolve = SendStatement.new(:resolve_method , receiver , [SelfExpression.new])
resolve = SendStatement.new(:resolve_method , receiver , [@receiver])
move_method = Mom::SlotLoad.new([dynamic_call.cache_entry, :cached_method] , [:message , :return_value])
resolve.to_mom(in_method) << move_method
end