Torsten Ruger
e551732f18
tighter integration with factory methods for adding code
...
define methods to collapse the code Register.
in add_code Register.factory_method
most instructions done, except op and branch that are rare
2016-12-28 20:37:54 +02:00
Torsten Ruger
9cf56b3aa6
use factory functions consistently to create instructions
2016-12-28 19:01:58 +02:00
Torsten Ruger
4cf732d395
use transfer factory
2016-12-28 18:37:15 +02:00
Torsten Ruger
57c038f13b
use load_constant factory method
2016-12-28 18:31:29 +02:00
Torsten Ruger
903fc3e4cf
much ripples from changing the calling convention
...
See previous commit
Now args and locals are arrays in the Message
2016-12-27 20:39:39 +02:00
Torsten Ruger
f648bf7bd5
rename also get_slot, to slot_to_reg
...
makes source and target clear
2016-12-25 18:05:39 +02:00
Torsten Ruger
35adf9a5e6
rename set_slot
...
set_slot was clear about the target, but not the source.
Better with reg_to_slot (and soon it’s inverse slot_to_reg)
2016-12-25 18:02:39 +02:00
Torsten Ruger
b3a9d8b1bc
register and boot consequences of typed method
2016-12-14 13:23:46 +02:00
Torsten Ruger
5ddc96718b
slight call logic modification
...
simplification, new model is such that the upon start the method:
has a message in r0, works on it and returns to the return address.
Everything else is up to the caller
2015-11-07 21:59:39 +02:00
Torsten Ruger
ab2c73f42c
right name for return label makes interpreter work
2015-11-04 20:22:28 +02:00
Torsten Ruger
bc414fd3e8
function call now saves the return address before calling
...
that means SaveReturn is obsolete (breaks loads of tests)
first step towards multi - return which obviously can not have the
callee save return address.
In fact this would make FunctionCall redundant too, as it is really
just a branch
2015-11-03 11:20:49 +02:00
Torsten Ruger
7e24f63327
polish sources
2015-10-29 22:31:28 +02:00
Torsten Ruger
e6743c7216
(string) source knockoffs
2015-10-28 21:39:59 +02:00
Torsten Ruger
d767caf479
remove MethodCall and thus all virtual instructions
2015-10-18 19:27:46 +03:00
Torsten Ruger
36f635f7c1
adding sources to register instructions
2015-07-27 12:13:39 +03:00
Torsten Ruger
b0c78479ff
clearer to_s s
2015-07-25 09:30:58 +03:00
Torsten Ruger
139b0174d8
to_s for reg instructions
2015-07-24 13:23:56 +03:00
Torsten Ruger
a083c03b1d
move function call instruction to register level and the pass to arm
2014-10-03 14:32:54 +03:00