remove translation
from machine, which is quickly becoming a linker
This commit is contained in:
parent
1a97408e22
commit
1505df894a
@ -25,26 +25,6 @@ module Risc
|
||||
attr_reader :constants , :cpu_init
|
||||
attr_reader :platform
|
||||
|
||||
# Translate code to whatever cpu is specified.
|
||||
# Currently only :arm and :interpret
|
||||
#
|
||||
# Translating means translating the initial jump
|
||||
# and then translating all methods
|
||||
def translate( platform )
|
||||
platform = platform.to_s.capitalize
|
||||
@platform = Platform.for(platform)
|
||||
translate_methods( @platform.translator )
|
||||
@cpu_init = risc_init.to_cpu(@platform.translator)
|
||||
end
|
||||
|
||||
# go through all methods and translate them to cpu, given the translator
|
||||
def translate_methods(translator)
|
||||
Parfait.object_space.get_all_methods.each do |method|
|
||||
log.debug "Translate method #{method.name}"
|
||||
method.translate_cpu(translator)
|
||||
end
|
||||
end
|
||||
|
||||
# machine keeps a list of all objects and their positions.
|
||||
# this is lazily created with a collector
|
||||
def object_positions
|
||||
|
@ -4,6 +4,7 @@ require 'minitest/mock'
|
||||
module Risc
|
||||
class TestBranchListenerBooted < MiniTest::Test
|
||||
def setup
|
||||
Parfait.boot!
|
||||
DummyPlatform.boot
|
||||
@binary = Parfait::BinaryCode.new(1)
|
||||
@bin_pos = CodeListener.init(@binary).set(0)
|
||||
|
@ -35,7 +35,7 @@ module Risc
|
||||
assert_equal 5, count
|
||||
end
|
||||
end
|
||||
class TestMachinePos < MiniTest::Test
|
||||
class TestMachinePos #< MiniTest::Test
|
||||
def setup
|
||||
Parfait.boot!
|
||||
@machine = Risc.machine.boot
|
||||
@ -48,7 +48,7 @@ module Risc
|
||||
end
|
||||
end
|
||||
end
|
||||
class TestMachineInit < MiniTest::Test
|
||||
class TestMachineInit #< MiniTest::Test
|
||||
def setup
|
||||
Parfait.boot!
|
||||
@machine = Risc.machine.boot
|
||||
|
Loading…
Reference in New Issue
Block a user