bring the blocks down to mom level

reusing message_setup, but adding yield specific instructions
This commit is contained in:
Torsten Ruger
2018-07-24 11:35:49 +03:00
parent d80ef4bf4e
commit f5c284b3a0
10 changed files with 131 additions and 36 deletions

View File

@ -55,6 +55,7 @@ module Risc
name = :word if name == :name
name = :message if name == :next_message
name = :message if name == :caller
name = :named_list if name == :arguments
sym = name.to_s.camelise.to_sym
clazz = Parfait.object_space.get_class_by_name(sym)
raise "Not implemented/found object #{name}:#{sym}" unless clazz

View File

@ -44,6 +44,14 @@ module Risc
attr_reader :register
end
# A Dynamic yield is very much like a DynamicJump, especially in it's idea
#
# The implentation differes slightly, as we use a chache entry in the DynamicJump
# but a block in the DynamicYield.
# Using means that we assume the register to be ready loaded with a Block
class DynamicYield < DynamicJump
end
class IsZero < Branch
end