Torsten Ruger
fb414cecd6
use helper
2016-12-31 14:54:53 +02:00
Torsten Ruger
b9073d0c88
redid the type hashing
...
account for the class the type is for
by adding it to the hash code, so even the ivars are identical the
types are not
2016-12-31 14:51:06 +02:00
Torsten Ruger
0fa7f54bcc
found and fixed hashing bug
2016-12-31 14:04:04 +02:00
Torsten Ruger
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
Torsten Ruger
7f06e00ccd
making types private in space
...
turned out to be unnecessary, but still better
2016-12-30 20:47:28 +02:00
Torsten Ruger
ef66a87527
fixed silly dictionary bug
...
also finally duplicating keys and values and not handing them out
2016-12-30 20:46:18 +02:00
Torsten Ruger
a7935db107
cleaner way to generate argument types
...
possibly more correct
2016-12-30 19:17:59 +02:00
Torsten Ruger
83b6628f1a
whitespace and code style
2016-12-30 19:17:15 +02:00
Torsten Ruger
db798d1a4a
no default arg on init
...
also making sure the type is in the hash
but also that the order of type does not matter
2016-12-30 18:41:36 +02:00
Torsten Ruger
a82c9e8fb1
minor whitespace and renaming
2016-12-30 18:39:49 +02:00
Torsten Ruger
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
Torsten Ruger
a00f6be3ba
remove the space instance from register machine
...
bad design, probably from the booting
2016-12-30 14:04:59 +02:00
Torsten Ruger
ef872edd7a
rename instance_methods to just methods
2016-12-30 13:33:07 +02:00
Torsten Ruger
e69d9a492e
mostly moving to ruby instance variables
2016-12-29 18:51:24 +02:00
Torsten Ruger
25f44949e4
removing the fake memory form object
...
just in word and list now
2016-12-29 18:49:03 +02:00
Torsten Ruger
6214040888
changing to ruby instance variables
...
from the fake memory
2016-12-29 18:47:45 +02:00
Torsten Ruger
b5f04ec718
mostly renames from the type change
...
also making setters as explicit set_xx methods
2016-12-29 18:45:32 +02:00
Torsten Ruger
f4b3c645e5
rework type with separate arrays for names and types
...
Means no more indexed
also using ruby instances
small rename for names
2016-12-29 18:42:38 +02:00
Torsten Ruger
4c3007e6c0
removing meta class (for now)
2016-12-29 18:39:59 +02:00
Torsten Ruger
80237e5033
rename position accessor
...
for future
2016-12-28 21:40:06 +02:00
Torsten Ruger
c60949fe24
small refactor on arg loading
2016-12-28 21:10:14 +02:00
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
af31774074
implement assignment type check
2016-12-28 19:20:16 +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
4412eda105
small refactor and rename
2016-12-28 18:16:39 +02:00
Torsten Ruger
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
Torsten Ruger
8867b13240
yep, opal != OPAL
...
engine has to be in small letters it seems
OPAL came from the original commit in 2013, but alas
2016-12-28 14:35:07 +02:00
Torsten Ruger
9226de4502
testing to_s
2016-12-28 14:11:05 +02:00
Torsten Ruger
266764be06
testing to_s on Code
2016-12-28 13:59:02 +02:00
Torsten Ruger
a8f3d5a634
had to fix the string hash for opal
2016-12-28 13:53:57 +02:00
Torsten Ruger
4940bc41a3
keep positions globally, not in the object
...
hopefully cleaner switch after bootstrapping
2016-12-28 12:51:18 +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
f1cfd3c379
change calling convention
...
Message carries arrays for arguments and locals
This means an extra load for any access
Also fix silly bug: using the wrong method (the one we’re in, not the
one we’re calling)
2016-12-27 20:37:53 +02:00
Torsten Ruger
aaa94f0743
small fixes
2016-12-27 20:34:11 +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
1b8d6149dd
adding to_s to code for debugging
2016-12-23 21:31:31 +02:00
Torsten Ruger
6c9bd7e476
remove unused code
...
also just came through opal
2016-12-22 21:16:56 +02:00
Torsten Ruger
3b888b203d
crude rework of the hashing to work in opal
2016-12-22 21:16:36 +02:00
Torsten Ruger
2adec3226c
opal gods require explicit requires
2016-12-22 21:15:20 +02:00
Torsten Ruger
c3c52d36b8
seperate args from message (just like frame)
2016-12-21 22:35:36 +02:00
Torsten Ruger
ed12108425
rename locals from type to role in message
2016-12-21 19:01:42 +02:00
Torsten Ruger
0e99ff33ae
use frame type rather than the indexed construct
2016-12-21 18:59:07 +02:00
Torsten Ruger
93ba5543b3
more renaming of frame
2016-12-21 18:51:22 +02:00
Torsten Ruger
0040baae28
rename frame to named_list to be shared soon
2016-12-21 18:45:18 +02:00
Torsten Ruger
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
Torsten Ruger
af9fed863f
small rename
2016-12-19 14:16:10 +02:00
Torsten Ruger
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