Torsten Ruger
979660f282
move parfait into register
...
register layer uses parfait models to generate object space
so parfait should be part of register (not above it)
2015-11-18 12:04:25 +02:00
Torsten Ruger
40d81681b5
move parfait adapter into parfait ruby
...
in the future parfait will be coded in some and translated back into
ruby to “adapt”
until then, all ruby code is the adapter
2015-11-18 11:55:29 +02:00
Torsten Ruger
cea60f202a
small label changes
2015-11-15 00:35:43 +02:00
Torsten Ruger
278eccbed5
derive binary code form word
...
long ago hacked the binary code to use integers (thus forsaking correct
arm binaries)
Finally fix by deriving from Word which now has correct binary access
Dumped binary.name in the process, that is available from the method
2015-11-14 15:04:04 +02:00
Torsten Ruger
1e7935bf85
implement byte access for some word
...
wouldn’t have been possible without the ruby version
2015-11-11 20:36:07 +02:00
Torsten Ruger
d870553a1f
make ruby word byte size
...
was hacked as int
interestingly zero change to tests
2015-11-11 19:11:08 +02:00
Torsten Ruger
a20f1570ee
temporary word hack to make it look liked indexed
2015-11-09 23:28:40 +02:00
Torsten Ruger
5d80c38c87
correct register types
2015-11-09 23:28:10 +02:00
Torsten Ruger
b2de1c6d79
minor fixes
2015-11-08 23:58:54 +02:00
Torsten Ruger
502cfa357d
implement and test field access
2015-11-08 13:39:13 +02:00
Torsten Ruger
3e4dcd35c7
better no method no super handling
...
also revealed bug in booting
2015-11-08 00:54:24 +02:00
Torsten Ruger
2315ad6920
minor cleaning
2015-11-07 21:55:04 +02:00
Torsten Ruger
1d07c1fb95
fix super class with name mixup
2015-11-07 19:37:38 +02:00
Torsten Ruger
37928b8591
rename internal get/set functions
...
mainly because the salaam parser chokes on internal…
2015-11-07 17:40:59 +02:00
Torsten Ruger
46e1a112ab
metaclass moves down to object
2015-11-07 00:12:17 +02:00
Torsten Ruger
204200b92a
metaclass is back
...
this time with a real purpose and implementation as the intermediary
As the interface to the layout and for replacing an edited layout
2015-11-07 00:11:56 +02:00
Torsten Ruger
ff759bf0c1
increase message size
...
message size is somewhat like stack size,
but 1-1 related to how deep it can be, now 50 calls
2015-11-05 12:12:15 +02:00
Torsten Ruger
428faad25f
opal fix for indexes
2015-11-04 16:11:25 +02:00
Torsten Ruger
5bddbfbb62
rename word_length to padded length
...
with word_length i was never sure if it was the padded version or not
2015-11-04 10:33:10 +02:00
Torsten Ruger
6882f39645
fixing lengths
2015-11-03 16:21:50 +02:00
Torsten Ruger
7d7b7ca995
adding types to layout
...
so we can test assignment
2015-10-29 12:45:29 +02:00
Torsten Ruger
c426f4a6d5
some of the sources methods belonged to method really
2015-10-28 21:38:52 +02:00
Torsten Ruger
79cf59c4e2
still finding index errors
2015-10-27 18:45:56 +02:00
Torsten Ruger
444ad75e1e
some message tests, all ok
2015-10-27 18:08:40 +02:00
Torsten Ruger
50029711ff
make frame and message indexed
...
also auto generate a replacement for previous offset class method (dry)
2015-10-27 16:04:36 +02:00
Torsten Ruger
fdc7f8b39c
small opal fix
...
the return didn’t work
but couldn’t reproduce in opal try
2015-10-27 12:44:53 +02:00
Torsten Ruger
abaa56fbba
add create_method for layout too
...
as for class, same signature
some more test for behavior
2015-10-26 17:24:28 +02:00
Torsten Ruger
a0944266c5
hack weird instantiation bug
...
self.instance_methods is not always set. tried but didn’t find why
any instantiating to circumvent
2015-10-26 17:23:02 +02:00
Torsten Ruger
624699f8ed
minor
2015-10-26 15:14:38 +02:00
Torsten Ruger
55dd5f74fc
fixed layout inspect bug
2015-10-26 15:07:59 +02:00
Torsten Ruger
885aa765d6
still fixing index bugs
...
the indexed_length got written wrong
which is why the layout methods didn’t work
Now all indexes are 1 based, even fake men, where we just ignore 0
2015-10-26 14:33:36 +02:00
Torsten Ruger
9f4952b5ac
create behavior module
...
behavior handles instance methods (add/remove/find)
and shall be included in layout later too
2015-10-26 13:27:56 +02:00
Torsten Ruger
dc58dbe2fe
little clean
2015-10-26 13:02:08 +02:00
Torsten Ruger
4cadfc9ea9
shortening some methods, removing object prefix
2015-10-26 12:58:38 +02:00
Torsten Ruger
d2c670b31a
fixing offset bug
...
found by tests that overwrite the attribute
2015-10-26 12:57:54 +02:00
Torsten Ruger
1a236aa50e
make binary code indexed (not derive from word)
...
still some work to be done there, as we should really have a byte buffer
2015-10-26 12:24:47 +02:00
Torsten Ruger
96f43dcfda
also giving word it's length
...
still hacked as char per word, but should be easy enough to fix when…
2015-10-26 12:23:52 +02:00
Torsten Ruger
979ebb7612
fixing indexed stuff
...
layout returns layout as first name (offsets indexes)
object internal length is gone into layouts functionality
2015-10-26 12:22:32 +02:00
Torsten Ruger
bb3d211c04
layout moves to 0
...
no more type word, only layout
2015-10-25 20:44:30 +02:00
Torsten Ruger
df62b75c6f
adding an instance for the length of lists
2015-10-25 20:44:03 +02:00
Torsten Ruger
92fe12a0d1
move methods back to the module
...
easier to read and debug
2015-10-25 19:32:36 +02:00
Torsten Ruger
60098257e9
use include so we can test with is_a
...
using the well documented included/extend trick
2015-10-25 19:16:12 +02:00
Torsten Ruger
3318b5026c
externalizing list functionality
...
redefining it with define_method and adding it dynamically to the list
gotta love ruby for it
2015-10-25 18:40:17 +02:00
Torsten Ruger
b7d0ee8f99
wit metaclass and class functions
...
needs to go back to arrays first
2015-10-25 15:40:12 +02:00
Torsten Ruger
0d001ec0fc
rename super_clsas to super_class_name
...
as it should have been
2015-10-25 15:32:38 +02:00
Torsten Ruger
7de2f913a0
more class tests
2015-10-25 13:19:18 +02:00
Torsten Ruger
12e31f28c2
fix and test class definition
2015-10-25 12:31:35 +02:00
Torsten Ruger
f1f56f0d4e
remove parfait module
...
which was only there because ruby has it
the concept is flawed and should be split into namespace and aspect
2015-10-23 15:20:02 +03:00
Torsten Ruger
897e11ce80
store three versions of the code in method
...
source, instructions and binary
2015-10-23 14:41:47 +03:00
Torsten Ruger
e0c5bc4c11
rename phisol to soml
2015-10-23 14:22:55 +03:00
Torsten Ruger
dcbd3c7091
fold last of the virtual into register
2015-10-22 18:16:29 +03:00
Torsten Ruger
3895ac624c
fix offsets, debugging revealed them to be 1 off
2015-10-22 11:48:03 +03:00
Torsten Ruger
ede0fe5f16
fix indexing when accessing locals or args
...
Was missing the offset of object variables
2015-10-22 11:02:46 +03:00
Torsten Ruger
4ce4775902
fix layout
...
amazing at this stage, but yet another index error
the strange (and wonderful) thing is that changing the return
of the one function just shifts the variables and everything else
stays intact. Thus are the wonders of object orientation
2015-10-17 10:03:39 +03:00
Torsten Ruger
3e79e5cf8e
fix code duplication
2015-10-16 19:18:37 +03:00
Torsten Ruger
dc3920580b
bit more cleaning of testing
2015-10-16 18:34:54 +03:00
Torsten Ruger
3d83f203ca
fixing and testing operators
2015-10-15 09:32:47 +03:00
Torsten Ruger
1141ed9c99
type now means class name
...
update reader (with new type definition)
remove type class (now symbol)
update all types to class name symbols
2015-10-14 16:16:03 +03:00
Torsten Ruger
80d58ee03c
fixed simple layout offset bug in layout
2015-10-13 14:46:07 +03:00
Torsten Ruger
e669489419
went over the various readmes
2015-10-07 11:32:48 +03:00
Torsten Ruger
f4a4ccb98e
several larger changes came together, bit of cleaning too
...
- all code must be in functions (which must be in classes).
— changes a fair few tests
— also changes api, as method is not recursive, not passed around
- all state in instance vars in compiler (no accessors)
- class is another such variable, surely more coming
all green again
2015-10-06 00:27:13 +03:00
Torsten Ruger
259b0afa96
improve tests
2015-09-27 20:28:34 +03:00
Torsten Ruger
252c0ccdca
finish typing variables
2015-09-27 16:06:48 +03:00
Torsten Ruger
26c6db17b1
better inspect
2015-09-27 16:06:11 +03:00
Torsten Ruger
18935366fe
introducing class variable and typed arguments
2015-09-27 14:30:41 +03:00
Torsten Ruger
94c08f7129
small clean
2015-09-27 14:07:02 +03:00
Torsten Ruger
dba94827ec
remove tmp variables
...
sadly without having to touch tests
2015-09-27 14:00:24 +03:00
Torsten Ruger
c039f3d6e6
fix the string warning raises
2015-08-17 02:37:07 +03:00
Torsten Ruger
5d838056fa
small rename and new test for layout
2015-08-08 18:08:47 +03:00
Torsten Ruger
4afd7f78ca
fix the plus method that sneaked into arm
2015-08-06 18:55:08 +03:00
Torsten Ruger
2c6ca7b4f2
small checks
2015-08-06 18:27:25 +03:00
Torsten Ruger
8ab9a417aa
minors
2015-07-30 19:18:41 +03:00
Torsten Ruger
3fb08acf3f
better tests to find sneaky module bug
2015-07-28 16:19:10 +03:00
Torsten Ruger
2f409ea4e1
more dead code goes
2015-07-21 20:24:31 +03:00
Torsten Ruger
074f3af174
uncomment dead code
...
it’s dead, unfair to say it’s untested.
percentage wise i mean
2015-07-21 19:57:38 +03:00
Torsten Ruger
2d0424a370
turned out to be a rewrite of boot process
...
and also attribute handling and fake_memory
luckily there are tests and all is green again
2015-07-21 15:40:25 +03:00
Torsten Ruger
f8cb33ec5e
test ivar name list
2015-07-20 13:20:43 +03:00
Torsten Ruger
2c1c38716b
move from new_object to normal new
2015-07-20 13:01:15 +03:00
Torsten Ruger
0a09477dc6
fix and test compiling classes
2015-07-19 10:36:06 +03:00
Torsten Ruger
ae7350bd57
redefining a methods is not an error
...
and happens in tests
2015-07-19 10:35:45 +03:00
Torsten Ruger
f5136b6b68
minor formatting
2015-07-18 11:52:30 +03:00
Torsten Ruger
60d09ab057
fix for opal
...
in opal string and symbol is the same.
2015-07-17 11:40:40 +03:00
Torsten Ruger
b61c73acdd
renamed info to MethodSource
2015-07-03 20:13:03 +03:00
Torsten Ruger
69781fb505
remoe sys call message
...
and rely on linux to restore all registers
save message in r8
2015-07-02 13:48:32 +03:00
Torsten Ruger
9a6c5d9ea8
wordlnegth is not +1 for string as no trailing 0
2015-07-02 13:47:46 +03:00
Torsten Ruger
caa4ae1cf0
new tests for space
...
finds the bug in message creation!
2015-07-02 11:09:23 +03:00
Torsten Ruger
9ca5ddf7c0
fix all tests
...
some had to be disabled
since stability is coming back more test are coming too
2015-07-02 10:26:48 +03:00
Torsten Ruger
11997ef354
had to revert name method change
...
method is not known when message is created
2015-07-02 09:48:41 +03:00
Torsten Ruger
135fcaa8fa
static message chain
...
Rewrote Message + frame, only static linked list needed, not dynamic
frames either
2015-07-01 19:27:18 +03:00
Torsten Ruger
7e9b940890
add init_message to space
...
so kernel::__init can use that and the first next_message does not need
to be reused
2015-06-30 09:52:17 +03:00
Torsten Ruger
06b5d24729
fixing require order
...
so Register stuff is defined when builtin is loaded
2015-06-29 10:53:27 +03:00
Torsten Ruger
8674c322c4
correctly linking frames and messages
2015-06-28 22:02:07 +03:00
Torsten Ruger
32e1903884
finished init routine
...
and better implemented sys calls
2015-06-25 16:31:09 +03:00
Torsten Ruger
cedc6e1b61
Fix parfait bug for word_length
2015-06-24 16:08:06 +03:00
Torsten Ruger
59188105ba
finish syscall
...
works, even had to fix parfait bug to see
2015-06-24 16:07:27 +03:00
Torsten Ruger
2aba926f1f
start on reworking sys calls
2015-06-22 22:48:42 +03:00
Torsten Ruger
7551a16b6e
pretty names for references
2015-06-19 19:50:53 +03:00
Torsten Ruger
87143091ca
moved sod write method to module
2015-06-19 12:29:41 +03:00
Torsten Ruger
0122585b3b
fixed, nay, hacked list problem
...
lists were in object space but not liked due to
equality returning true
2015-06-08 11:52:56 +02:00
Torsten Ruger
575d19cb02
assembling layout
2015-06-07 10:06:08 +02:00