Commit Graph

154 Commits

Author SHA1 Message Date
Torsten Ruger c947c27a14 clean up booting
many machine boot became obsolete
or just neede parfait to boot
actual linker functionality pending
2018-07-01 14:12:42 +03:00
Torsten Ruger 57fc67ddf6 move address list to object_space
where i guess it should have been from the start
2018-07-01 13:43:53 +03:00
Torsten Ruger 46d8f5002f hoist parfait boot out of the machine boot 2018-06-30 00:39:23 +03:00
Torsten Ruger 7377522417 fix test ripples and minor parfait naming
Parfait ruby and boot names desynced, fixed that
2018-06-29 21:03:06 +03:00
Torsten Ruger ae35fed0ab fix list to expand
prevously fixed max length list
now expanding on demand, using next
quite like binary_code, a pattern is emerging
2018-06-29 20:58:59 +03:00
Torsten Ruger e6f01748ff move adapter stuff around 2018-06-29 14:26:25 +03:00
Torsten Ruger 606c7bf906 remove booted flag
just boot if needed
2018-06-29 11:36:14 +03:00
Torsten Ruger 4ab6d62acf small arm fixes etc 2018-06-06 00:53:41 +03:00
Torsten Ruger 8d953a619f propagate instruction positions
still overlapping onto binaries, but a start
2018-06-05 18:11:25 +03:00
Torsten Ruger 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
Torsten Ruger 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
Torsten Ruger 7847420d49 make ints compile time mutable
to change the label value and use the allocated stubs
2018-05-29 17:03:55 +03:00
Torsten Ruger 4b34546c11 fixing the binary code indexes
AGAIN, that third of all bugs, the off by one
2018-05-28 18:20:09 +03:00
Torsten Ruger 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
Torsten Ruger be1bc63ff2 jump was written off the end of binary code, fixed 2018-05-28 11:45:04 +03:00
Torsten Ruger ab4bc370ed another +1 bug 2018-05-15 16:25:55 +03:00
Torsten Ruger e237bc625a remove unused methods
and a whole lot more index fixes
2018-05-14 20:50:52 +03:00
Torsten Ruger 5d3c70da89 fix type api
tests were using methods that were only used in tests.
2018-05-14 16:13:50 +03:00
Torsten Ruger 3c00239f36 another million index fixes 2018-05-14 15:17:04 +03:00
Torsten Ruger 4a88f342d3 random checkin
still suffering -1 trauma
2018-05-14 12:38:44 +03:00
Torsten Ruger 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
Torsten Ruger 866467ee5e change binary labels 2018-05-13 17:21:48 +03:00
Torsten Ruger 7ad36380c2 add next_value for dictionary
also next for list
and add types attributes to space
2018-05-13 13:03:04 +03:00
Torsten Ruger 06f51da8f1 rename get_all_methods 2018-05-01 19:19:37 +03:00
Torsten Ruger 1acd231a33 debugging binaries, initial jump issues 2018-04-30 13:28:55 +03:00
Torsten Ruger a7207a9984 wrap parfait tests in module and boot 2018-04-26 12:31:37 +03:00
Torsten Ruger 30ba626cf9 fix knock ons 2018-04-24 20:16:50 +03:00
Torsten Ruger 04359546b7 implement greater than 2018-04-19 22:57:31 +03:00
Torsten Ruger 9e21719aeb generalise the operator handling
ie passing them through
implementing more
2018-04-19 22:13:52 +03:00
Torsten Ruger 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
Torsten Ruger 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
Torsten Ruger b9f85f9d2e use instance_variable_set/get instead of eval
opal doesn’t like eval anymore
2018-04-03 19:33:36 +03:00
Torsten Ruger 52d389cdbf auto extend binary code
final solution will need repositioning
2018-04-03 15:07:36 +03:00
Torsten Ruger 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
Torsten Ruger 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
Torsten Ruger 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
Torsten Ruger 3a9539a071 adds multiplication
without overflow testing, like the others
2018-04-01 21:18:08 +03:00
Torsten Ruger b1376e83bd add integer minus
rework plus to make that easy
2018-04-01 15:26:53 +03:00
Torsten Ruger 5c89884df9 fix binary code mixup
mixed get_word with get_internal_word
2018-04-01 12:13:14 +03:00
Torsten Ruger 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
Torsten Ruger 4725b81270 get those integers crated and used 2018-03-31 20:21:27 +03:00
Torsten Ruger 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
Torsten Ruger 1956f18faa add an integer plus
not correctly handling integer objects yet
2018-03-30 17:09:02 +03:00
Torsten Ruger e012f16d7f fix positioning and the assembly works 2018-03-29 18:03:21 +03:00
Torsten Ruger 00be522419 each word for binary 2018-03-29 17:38:59 +03:00
Torsten Ruger 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
Torsten Ruger 3fcb4b74c7 fix binary code set_char bug 2018-03-26 19:41:30 +03:00
Torsten Ruger a9d5e144ca get/set word for binary code 2018-03-26 18:14:52 +03:00
Torsten Ruger 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
Torsten Ruger 60617ca632 some binary code tests 2018-03-26 14:04:13 +03:00