Commit Graph

392 Commits

Author SHA1 Message Date
87eee0b66e add object method missing as sys exit
functions get added twice and thus removed once
remove restriction for now
2018-04-02 16:49:30 +03:00
fb29fb6431 linked list of methods instead of list of methods
api changes slightly, especially for each, but mostly sama sama
2018-04-02 16:36:43 +03:00
5c89884df9 fix binary code mixup
mixed get_word with get_internal_word
2018-04-01 12:13:14 +03:00
15d2b585e6 fix integer and data object get/set word
instance variables first, then raw data
keep value reader for now
2018-04-01 11:56:04 +03:00
4725b81270 get those integers crated and used 2018-03-31 20:21:27 +03:00
5b92b6b785 get plus (+) working
alas, new integer is not created yet
2018-03-31 19:37:24 +03:00
696886cc94 remove Data2 in favour of Data4
as we write a Marker, type and marker make up 2
so data2 is just the type, not useful
2018-03-31 19:12:06 +03:00
a5189570c6 fix remaining constant issues
all but integer creation
and integer builtins off course
2018-03-31 13:58:08 +03:00
cb9f6973d9 fix true false and nil constant
going from mom to parfait
basics in place, more ripples to fix
2018-03-31 13:47:02 +03:00
9e9b5c7f37 move to parfait integers in risc layer
loading constants means loading parfait objects
objects have to me collected in machine
integer ok, string/true/false/nil next
2018-03-31 13:25:59 +03:00
e012f16d7f fix positioning and the assembly works 2018-03-29 18:03:21 +03:00
00be522419 each word for binary 2018-03-29 17:38:59 +03:00
85ddf53429 create methods with binaries and extend them later
Binary is new jump target for function call
2018-03-28 12:49:17 +03:00
294f4d988f automatically create binary once cpu instructions are there 2018-03-26 19:42:15 +03:00
3fcb4b74c7 fix binary code set_char bug 2018-03-26 19:41:30 +03:00
e61ef93943 cleanup 2018-03-26 19:17:30 +03:00
a9d5e144ca get/set word for binary code 2018-03-26 18:14:52 +03:00
1e21177b35 just keep binary code payload at 13 for now
there is an extra in there at the last of the last, but ok
2018-03-26 14:37:55 +03:00
60617ca632 some binary code tests 2018-03-26 14:04:13 +03:00
3090ccffea keep risc and cpu instructions separate in method
that overwriting was a bit of thorn
2018-03-25 19:33:50 +03:00
a50368c3aa assembler will need redoing somewhat
with own data objects, we can assemble into them first
then write
may also store cpu instructions
2018-03-25 18:23:00 +03:00
82ab8ac4d3 add data objects
marker class (may change) to be able to check access
2018-03-25 18:22:02 +03:00
2c137e8c97 div10 test for interpreter 2018-03-24 12:21:46 +02:00
b4a18bc59b mostly brackets and formatting 2018-03-23 18:55:23 +02:00
34903829ca fix interpreter test harness and start testing
interpreter on debug for now
2018-03-22 18:54:40 +02:00
769fd71a3d fix redefining typed methods
as happens for predefined Space.main
2018-03-22 21:06:22 +05:30
99ced4369a adding Tue False and Nil Class to Parfait
and boot
2018-03-19 21:18:56 +05:30
af94d40cab passing frame (locals) into method creation
so typed_method have correct frame information and
can resolve slots correctly (next step)
2018-03-18 22:09:27 +05:30
e7b878a353 mostly finish index resolve in slot_definition
alas, it reveals error, types may not be set correctly
2018-03-18 10:51:46 +05:30
642f16b73a adding cache entry to parfait 2018-03-17 19:03:39 +05:30
0a9997f549 final rename remnant, green again 2018-03-14 20:29:51 +05:30
559a797100 rename locals to frame 2018-03-14 20:24:47 +05:30
2aa7d37a83 rename locals to frame
includes temps and tradition
2018-03-14 17:39:04 +05:30
b297650b78 adds a mom version of basic values 2018-03-13 12:30:51 +05:30
f7aac1d1a4 polish docs
and a bit of code style
2018-03-11 16:11:15 +05:30
bc5906fb83 moving vool_method to parfait 2017-12-10 20:47:26 +02:00
47683817ee implements resolve_method on parfait type
with associated changes to class
adds note about the not being the final version
2017-04-25 09:06:49 +03:00
0d43987005 start to compile send
still very hacked version of simple call, but a start
2017-04-15 20:58:39 +03:00
21b436c476 update parfait message according to boot
most of the attributes are not used at compile time ,
so they did not get updated. But the compiler uses the attribute
names (which are correct as they are set in boot), so it’s nice
to actually see them in ruby too.
2017-04-14 11:13:47 +03:00
aa79e41d1c rename register to risc
seems to fit the layer much better as we really have a very reduced
instruction set
2017-01-19 09:02:29 +02:00
da5823a1a0 move parfait up one, as per its module structure 2017-01-18 20:09:43 +02:00
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
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
cea60f202a small label changes 2015-11-15 00:35:43 +02:00
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
1e7935bf85 implement byte access for some word
wouldn’t have been possible without the ruby version
2015-11-11 20:36:07 +02:00
d870553a1f make ruby word byte size
was hacked as int
interestingly zero change to tests
2015-11-11 19:11:08 +02:00
a20f1570ee temporary word hack to make it look liked indexed 2015-11-09 23:28:40 +02:00
5d80c38c87 correct register types 2015-11-09 23:28:10 +02:00
b2de1c6d79 minor fixes 2015-11-08 23:58:54 +02:00