Commit Graph

148 Commits

Author SHA1 Message Date
606c7bf906 remove booted flag
just boot if needed
2018-06-29 11:36:14 +03:00
4ab6d62acf small arm fixes etc 2018-06-06 00:53:41 +03:00
8d953a619f propagate instruction positions
still overlapping onto binaries, but a start
2018-06-05 18:11:25 +03:00
e39e96f646 create return address as own class to hold return addresses
to distinguish from integer, which does not need adjusting
2018-05-30 23:49:01 +03:00
e86ca5ae9d integer was wrong padded§ length
or rather right (2 as should be and will be)
but currently we use next AND value + type means 3, rounded 4
because we can’t swap types at compile time (as is planned at runtime,
we use next OR value)
2018-05-30 14:55:17 +03:00
7847420d49 make ints compile time mutable
to change the label value and use the allocated stubs
2018-05-29 17:03:55 +03:00
4b34546c11 fixing the binary code indexes
AGAIN, that third of all bugs, the off by one
2018-05-28 18:20:09 +03:00
8ef1a471a4 finally change List to derive from data object
can’t derive from data16 as some lists are longer
have to get the delegation to work first
2018-05-28 15:45:29 +03:00
be1bc63ff2 jump was written off the end of binary code, fixed 2018-05-28 11:45:04 +03:00
ab4bc370ed another +1 bug 2018-05-15 16:25:55 +03:00
e237bc625a remove unused methods
and a whole lot more index fixes
2018-05-14 20:50:52 +03:00
5d3c70da89 fix type api
tests were using methods that were only used in tests.
2018-05-14 16:13:50 +03:00
3c00239f36 another million index fixes 2018-05-14 15:17:04 +03:00
4a88f342d3 random checkin
still suffering -1 trauma
2018-05-14 12:38:44 +03:00
ab01fa3862 switch to 0 based indexing
the world rocked for a moment (and more fixes to follow)
also the crumbling of idealism was heard
2018-05-14 11:55:01 +03:00
866467ee5e change binary labels 2018-05-13 17:21:48 +03:00
7ad36380c2 add next_value for dictionary
also next for list
and add types attributes to space
2018-05-13 13:03:04 +03:00
06f51da8f1 rename get_all_methods 2018-05-01 19:19:37 +03:00
1acd231a33 debugging binaries, initial jump issues 2018-04-30 13:28:55 +03:00
a7207a9984 wrap parfait tests in module and boot 2018-04-26 12:31:37 +03:00
30ba626cf9 fix knock ons 2018-04-24 20:16:50 +03:00
04359546b7 implement greater than 2018-04-19 22:57:31 +03:00
9e21719aeb generalise the operator handling
ie passing them through
implementing more
2018-04-19 22:13:52 +03:00
33ffcf1d88 move resolve_method code from word to mom
rather make resolve an instruction.
Since it was coded in risc anyway, we not only save the setup and call
But also makes the mom instruction flow clearer
The method really came from not wanting to code it in risc, but with
the Builder, that is now surprisingly painless
2018-04-08 18:55:17 +03:00
ee0a1ca823 renaming methods args and frame
to arguments_type and frame_type, because that is what they are
In honour of setup bug, where the types of those types were loaded,
instead of just them types
2018-04-05 12:22:14 +03:00
b9f85f9d2e use instance_variable_set/get instead of eval
opal doesn’t like eval anymore
2018-04-03 19:33:36 +03:00
52d389cdbf auto extend binary code
final solution will need repositioning
2018-04-03 15:07:36 +03:00
9fafbe4e96 remove Kernel class for clarification
since it was a class it was fake anyway
moved methods to object
2018-04-02 17:06:31 +03:00
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
3a9539a071 adds multiplication
without overflow testing, like the others
2018-04-01 21:18:08 +03:00
b1376e83bd add integer minus
rework plus to make that easy
2018-04-01 15:26:53 +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
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
1956f18faa add an integer plus
not correctly handling integer objects yet
2018-03-30 17:09:02 +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
3fcb4b74c7 fix binary code set_char bug 2018-03-26 19:41: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
2c6ea7ea46 finish truth check (green again)
some (basic) if tests
2018-03-20 13:30:38 +05:30
8c53b4ab67 fix more api ripples from typed method 2018-03-18 22:37:43 +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
d6a2ea4cfc fix dynamic resolve
patch more like, real resolve method will have to be written
and put in there
2018-03-10 19:01:38 +05:30
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