Commit Graph

55 Commits

Author SHA1 Message Date
06f51da8f1 rename get_all_methods 2018-05-01 19:19:37 +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
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
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
3090ccffea keep risc and cpu instructions separate in method
that overwriting was a bit of thorn
2018-03-25 19:33:50 +03: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
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
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
c039f3d6e6 fix the string warning raises 2015-08-17 02:37:07 +03:00
3fb08acf3f better tests to find sneaky module bug 2015-07-28 16:19:10 +03:00
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
2c1c38716b move from new_object to normal new 2015-07-20 13:01:15 +03:00
0a09477dc6 fix and test compiling classes 2015-07-19 10:36:06 +03:00
60d09ab057 fix for opal
in opal string and symbol is the same.
2015-07-17 11:40:40 +03:00
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
caa4ae1cf0 new tests for space
finds the bug in message creation!
2015-07-02 11:09:23 +03:00
135fcaa8fa static message chain
Rewrote Message + frame, only static linked list needed, not dynamic
frames either
2015-07-01 19:27:18 +03:00
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
06b5d24729 fixing require order
so Register stuff is defined when builtin is loaded
2015-06-29 10:53:27 +03:00
8674c322c4 correctly linking frames and messages 2015-06-28 22:02:07 +03:00
32e1903884 finished init routine
and better implemented sys calls
2015-06-25 16:31:09 +03:00
59188105ba finish syscall
works, even had to fix parfait bug to see
2015-06-24 16:07:27 +03:00
2aba926f1f start on reworking sys calls 2015-06-22 22:48:42 +03:00
7551a16b6e pretty names for references 2015-06-19 19:50:53 +03:00
bee73801eb revert to symbols
Parfait::Words were nice, but endless problems with the fact that when
you write “String” you get a string.
Symbols take care of uniqueness at the same time
2015-05-31 18:34:18 +03:00
03bdc16810 fixed layouts
also moved objects to machine, from space
space has a list of objects, but implicit,
not as an explicit array
2015-05-31 13:02:29 +03:00
aaa206fbca debugging missing layout 2015-05-31 11:07:49 +03:00
079306dbf8 move main to object (from kernel) 2015-05-30 14:49:10 +03:00
e651b57d08 homing in on line length 100 2015-05-30 12:20:39 +03:00
8413f6b470 smaller clean-ups 2015-05-25 18:48:35 +03:00
5670f07eac bit more on booting of the space 2015-05-24 19:59:19 +03:00
2ccbea04b9 fixing assembly
position code changed and linking too
passes not working
2015-05-24 18:05:20 +03:00
05a7ded7d5 fix space layout and init 2015-05-24 15:06:35 +03:00
3c0022191b more booting 2015-05-24 13:53:49 +03:00
1a499a1de9 fix method seperation
Since Compiled method split into Method and
CompiledMethodInfo (parfait/vm) lots of call
syntax changes
2015-05-24 13:31:33 +03:00
b687255976 move to parfait members 2015-05-22 22:50:19 +03:00
422ec64105 all green
That fixes all existing tests. Operation successful

Off course there is tests missing :-(
2015-05-20 17:29:08 +03:00
6eba363fb8 more speration
Separating vm and parfait
especially in method this is hairy, lots of ripples
bug is back in sod (i hope thats a good thing)
2015-05-20 17:11:13 +03:00
8ec8a519ba externalize boot process
Booting is complicated, make an own file for it
2015-05-19 20:29:33 +03:00
4e3640e432 shift code from class to module
as class derives from module, module carries
much of the code that one thinks of as class
class only handles allocation really
2015-05-18 12:35:01 +03:00
cfc2c474b2 test compatibility layer
test from and to std/parfait objects
for list and word for now
moved some of that code to virtual, out of parfait
2015-05-18 10:47:29 +03:00
1114f06921 rename old layout()
new is called get_layout, but keep old around for
checking
2015-05-17 14:41:18 +03:00
fe2be323d8 improve boot
also move to superclass not superclass_name in class
Makes ripples
2015-05-16 20:16:49 +03:00
7085dee510 array to list conversion
start on layouts
2015-05-16 14:01:48 +03:00
bee269f7a8 just renaming 2015-05-16 12:54:11 +03:00
9376b8bc16 work on ObjectWriter
Back to the root! but lots of adjusting
ObjectWriter takes machine, machine has space
Virtual constants become Parfait::Objects etc
2015-05-16 12:53:10 +03:00
dd41758dea renamed array and hash to list and dictionary
Since these are not the ruby classes, we don’t need
the old names. They are misleading.
An Array is a military term, we mean list
And a Hash is an implementation of a Dictionary,
or LookupTable
2015-05-12 19:10:45 +03:00
b980def84e move space to parfait
Also make the machine the singleton
and space hang off it

Many repercussions, not all fixed in this commit
2015-05-12 15:36:44 +03:00