Commit Graph

408 Commits

Author SHA1 Message Date
5f7ea08a43 Splitting NameExpression into three, Known,Local,Argument
The decision which to use can be made higher up, in ruby, and so it
should.
2017-01-16 09:33:49 +02:00
680fc7ecce minor fixes 2017-01-15 14:44:11 +02:00
bd78a2d555 renames Typed to Vm 2017-01-14 19:28:44 +02:00
9d36d72ee5 load arg type directly into the object
Was going through the method, but the type is just as constant and
saves 2 instructions 4 every call
2017-01-04 21:34:51 +02:00
f2c4e542ac rename to to array function to to_arr 2017-01-04 21:32:09 +02:00
1647b746ea starting to rename to rubyx 2017-01-02 00:29:20 +02:00
0397d4064d fix all positioned uses as helper (not included anymore) 2017-01-01 21:52:55 +02:00
cd474f66f6 stop including positioned 2017-01-01 21:52:35 +02:00
fafcd15ce8 make positioned a helper module 2017-01-01 21:52:00 +02:00
86dafccb04 stop including padding
use it as a helper module
2016-12-31 20:08:33 +02:00
dccd097fef remove collecting from the machine
use as stand alone module
2016-12-31 19:54:18 +02:00
113b349af5 unlinking the objects collection from the machine
passing it around instead
2016-12-31 18:46:17 +02:00
a2ece04b6d a little more minimal elf tests 2016-12-31 15:08:32 +02:00
838aba470d move fix_types in order of usage 2016-12-31 14:54:34 +02:00
853a531578 Move add_object to collector
more changes to come
2016-12-31 14:54:15 +02:00
d6c503ecf4 inlined indexed into list
which was the only one using it.
A whole lot simpler, considering it will have to be bootstrapped someday
2016-12-30 21:00:18 +02:00
83b6628f1a whitespace and code style 2016-12-30 19:17:15 +02:00
a82c9e8fb1 minor whitespace and renaming 2016-12-30 18:39:49 +02:00
f0350601a7 Move the space instance to the parfait module
A better fit, maybe even a pattern for singletons
2016-12-30 14:10:49 +02:00
a00f6be3ba remove the space instance from register machine
bad design, probably from the booting
2016-12-30 14:04:59 +02:00
ef872edd7a rename instance_methods to just methods 2016-12-30 13:33:07 +02:00
8aae8f7425 disabling failing test for now
have to add more test and code climate will show where
2016-12-29 21:24:11 +02:00
4b5c590afe rework the boot process
Using a BootSpace mock to use more of the ruby new as before
Still some allocating and mucking about, but less
2016-12-29 18:53:24 +02:00
b5f04ec718 mostly renames from the type change
also making setters as explicit set_xx methods
2016-12-29 18:45:32 +02:00
80237e5033 rename position accessor
for future
2016-12-28 21:40:06 +02:00
c60949fe24 small refactor on arg loading 2016-12-28 21:10:14 +02:00
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
9cf56b3aa6 use factory functions consistently to create instructions 2016-12-28 19:01:58 +02:00
4cf732d395 use transfer factory 2016-12-28 18:37:15 +02:00
57c038f13b use load_constant factory method 2016-12-28 18:31:29 +02:00
7d29a85187 remove legacy :int type 2016-12-28 18:25:14 +02:00
a3585870b9 remove unused code 2016-12-28 18:17:52 +02:00
4412eda105 small refactor and rename 2016-12-28 18:16:39 +02:00
184f129107 dead comment removal 2016-12-28 18:10:33 +02:00
25ae6e3d26 remove next_list from NamedList
Was legacy from the days of (linked) Frames
Now only messages are linked
2016-12-28 18:08:07 +02:00
4940bc41a3 keep positions globally, not in the object
hopefully cleaner switch after bootstrapping
2016-12-28 12:51:18 +02:00
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
3c3dedadd1 remove indexed_length from NamedList 2016-12-27 20:34:47 +02:00
aaa94f0743 small fixes 2016-12-27 20:34:11 +02:00
a5946cb644 same renames for bytes (set/get_byte) 2016-12-25 18:11:58 +02:00
f648bf7bd5 rename also get_slot, to slot_to_reg
makes source and target clear
2016-12-25 18:05:39 +02:00
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
c3c52d36b8 seperate args from message (just like frame) 2016-12-21 22:35:36 +02:00
ed12108425 rename locals from type to role in message 2016-12-21 19:01:42 +02:00
93ba5543b3 more renaming of frame 2016-12-21 18:51:22 +02:00
0040baae28 rename frame to named_list to be shared soon 2016-12-21 18:45:18 +02:00
aa5f48e3c6 remove instance_names from class again
and use types names instead. For now assuming Object class
2016-12-19 14:20:47 +02:00
e77298f4b1 Give the class a list of ivars
Which is redundant with the type’s names, so let’s see
2016-12-18 20:04:40 +02:00
756cb52a98 renames compiler to method_compiler 2016-12-18 14:15:19 +02:00
e10fc3eedd some reek assited coding on assembler 2016-12-16 15:41:26 +02:00