Commit Graph

374 Commits

Author SHA1 Message Date
Torsten Ruger
7818059734 remove dead code 2015-06-08 12:24:28 +02:00
Torsten Ruger
f8688cbe17 it actually assembles again 2015-06-08 12:19:53 +02: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
Torsten Ruger
13ab029cc5 word length fixes 2015-06-06 18:46:53 +02:00
Torsten Ruger
1c29fcfd43 mem_length to word/byte length
be more specific, and don’t include padding
2015-06-05 09:20:43 +03:00
Torsten Ruger
30d9aaf61b extract padding functions to module
and finally TEST them
its especially the brain bending stuff that needs tests
2015-06-04 08:22:38 +03:00
Torsten Ruger
4ddfcc4900 assembles more already 2015-06-03 10:01:59 +03:00
Torsten Ruger
5726d2c181 move machine to module level
makes for shorter, more concise, access
also remove one more bug possibility
(reinitiation)
2015-06-01 08:40:17 +03:00
Torsten Ruger
336e6c18de register reference creation got more complicated 2015-06-01 08:34:17 +03:00
Torsten Ruger
f08d9659fc getting the symbols to work 2015-06-01 08:33:23 +03:00
Torsten Ruger
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
Torsten Ruger
5d870ef154 got it down to string equality/identity 2015-05-31 17:54:36 +03:00
Torsten Ruger
1509e7ba2f better assembly
but bug is still scuttling around there in
link/assembly process
2015-05-31 14:45:28 +03:00
Torsten Ruger
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
Torsten Ruger
aaa206fbca debugging missing layout 2015-05-31 11:07:49 +03:00
Torsten Ruger
079306dbf8 move main to object (from kernel) 2015-05-30 14:49:10 +03:00
Torsten Ruger
e651b57d08 homing in on line length 100 2015-05-30 12:20:39 +03:00
Torsten Ruger
bea10cc560 fix bug where layout wasn't initialized 2015-05-30 11:55:46 +03:00
Torsten Ruger
73e5ec550a small fixes 2015-05-29 12:33:59 +03:00
Torsten Ruger
c28430698c get binary code to work 2015-05-28 21:10:27 +03:00
Torsten Ruger
5845bde33a binary code to its own class
makes linking easier
2015-05-26 20:17:43 +03:00
Torsten Ruger
96c59ac144 fixing assembly (wip)
main entry is the main problem, still polishing
2015-05-26 20:17:03 +03:00
Torsten Ruger
4d0773ebae misc 2015-05-24 20:00:11 +03:00
Torsten Ruger
2ccbea04b9 fixing assembly
position code changed and linking too
passes not working
2015-05-24 18:05:20 +03:00
Torsten Ruger
29a34b4d24 no need to keep object list in linker (use space) 2015-05-24 16:25:17 +03:00
Torsten Ruger
b58bba3fc4 register access fixes
since the constants moved
2015-05-24 15:31:30 +03:00
Torsten Ruger
6f0ae51dc5 move register constants here 2015-05-24 15:07:07 +03:00
Torsten Ruger
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
Torsten Ruger
fe2be323d8 improve boot
also move to superclass not superclass_name in class
Makes ripples
2015-05-16 20:16:49 +03:00
Torsten Ruger
bee269f7a8 just renaming 2015-05-16 12:54:11 +03:00
Torsten Ruger
9d711e7766 moving string to parfait
using parfait::word
also rename builtins string to word
2015-05-13 16:17:10 +03:00
Torsten Ruger
f92e5cf475 fix all tests again 2015-05-13 12:15:14 +03:00
Torsten Ruger
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
Torsten Ruger
e4c799ecb6 first tests comping through after ast/compile change 2015-05-04 23:03:52 +03:00
Torsten Ruger
92bbd70c77 move builtin to register, where it belongs 2015-05-04 11:12:31 +03:00
Torsten Ruger
aee36d9f5f bit of line wrapping 2015-03-25 17:29:39 +02:00
Torsten Ruger
cae99f217c just make sre we really ret registers (some constants were flying about) 2014-10-07 12:23:08 +03:00
Torsten Ruger
b7164b354d better solution for initial jump 2014-10-07 12:01:33 +03:00
Torsten Ruger
5c90ad83e0 add initial jump instruction 2014-10-06 19:57:44 +03:00
Torsten Ruger
e1aa3fd843 implement the vm call logic 2014-10-05 18:40:47 +03:00
Torsten Ruger
965e5f2a0f minor 2014-10-05 01:13:57 +03:00
Torsten Ruger
d38097aea4 fixing pass order by require order (easier to track) 2014-10-05 01:12:16 +03:00
Torsten Ruger
9939c6afa0 fix imports and name issues 2014-10-04 12:52:47 +03:00
Torsten Ruger
4f7fefb0ab using new register instructions 2014-10-04 12:52:28 +03:00
Torsten Ruger
e3c3840bc6 a creative moment, making up instructions 2014-10-04 12:51:08 +03:00
Torsten Ruger
f77d3ea7eb move to virtual as it leaves vm instructions 2014-10-04 12:50:28 +03:00
Torsten Ruger
c5655b1059 a long string of import order and namespace issues which is not over yet 2014-10-03 14:52:47 +03:00
Torsten Ruger
a083c03b1d move function call instruction to register level and the pass to arm 2014-10-03 14:32:54 +03:00
Torsten Ruger
1af66567fb fixed the SetImplementation with new register instructions 2014-10-03 11:07:18 +03:00
Torsten Ruger
38a286942e move the hash access stuff to arm, not sure if needed at all 2014-10-03 11:05:17 +03:00
Torsten Ruger
220d9f6213 moving instrctions into own folders and arm machine out of the way 2014-10-03 10:25:10 +03:00
Torsten Ruger
9923eb0b07 move passes to own dir 2014-10-02 16:11:45 +03:00
Torsten Ruger
493b02674c remove some boiler 2014-09-30 12:08:12 +03:00
Torsten Ruger
5a17bf3396 more headway on the (new) frame implementation 2014-09-27 14:59:16 +03:00
Torsten Ruger
2ce17ed5ff fold messages and frames to save an instance in bootspace 2014-09-25 20:31:21 +03:00
Torsten Ruger
6c7004688b bit of namespace cleanup 2014-09-25 20:29:05 +03:00
Torsten Ruger
df9d6284ae up to, ut not including, creating frames 2014-09-24 18:25:18 +03:00
Torsten Ruger
f5ec7f3bdb fixed 2014-09-23 19:23:52 +03:00
Torsten Ruger
c5765d4255 improve return implementation 2014-09-23 19:20:55 +03:00
Torsten Ruger
4e01bc798f add NewMessage / Frame instructions (without actual implementation) 2014-09-23 19:06:10 +03:00
Torsten Ruger
3d5eb685a1 more constants for slots 2014-09-20 17:06:11 +03:00
Torsten Ruger
21177bd7ce add a list of symbols to boot space 2014-09-19 19:11:30 +03:00
Torsten Ruger
c32ca84861 clean 2014-09-18 17:05:22 +03:00
Torsten Ruger
49b6b99ab9 more work on large moves, including the notion of linking again 2014-09-17 17:00:19 +03:00
Torsten Ruger
4af93493fb class code went 2014-09-17 16:32:21 +03:00
Torsten Ruger
95c7e44342 at least it assembles again 2014-09-17 12:11:34 +03:00
Torsten Ruger
e4474e7e2c rename length to mem_length and suffer the consequences 2014-09-17 12:04:54 +03:00
Torsten Ruger
79e42003b2 collect all add functions at bottom (rename too) 2014-09-16 18:50:44 +03:00
Torsten Ruger
8b8a8eea56 rename code.length tp mem_length with lots of noise impact 2014-09-16 17:16:56 +03:00
Torsten Ruger
45977ecc01 move assembly from visitor into objects, part one 2014-09-16 16:06:56 +03:00
Torsten Ruger
16b3cacc8d work to move large constants 2014-09-16 11:39:08 +03:00
Torsten Ruger
bdd4a3d6ad just checking which part of unimplemented i hit 2014-09-14 21:26:30 +03:00
Torsten Ruger
c51dbf51e1 renamed true,false,nil class to constant (from value) 2014-09-14 18:15:33 +03:00
Torsten Ruger
b29de4600e use slot constants 2014-09-11 21:30:40 +03:00
Torsten Ruger
b7e0d3fba4 more on set 2014-09-11 21:26:22 +03:00
Torsten Ruger
1d33c03537 corrected method enter and return and created those missing constants 2014-09-11 19:00:14 +03:00
Torsten Ruger
cb727c658e add inital jump to __init__ 2014-09-11 10:30:23 +03:00
Torsten Ruger
f44965ef21 fix padding bug 2014-09-10 21:43:05 +03:00
Torsten Ruger
5a5e977b8f get some old builtin code backonline and improve imports 2014-09-09 18:03:13 +03:00
Torsten Ruger
e3fdbb30a5 remove relative positions. have to fix them up somehow 2014-09-09 17:29:24 +03:00
Torsten Ruger
97bfd77038 implements the type word 2014-09-09 13:28:07 +03:00
Torsten Ruger
8040829501 moves link slot positions to bytes (from words). easier maths and better for later 2014-09-07 17:31:40 +03:00
Torsten Ruger
f00b06bb44 move to relative (to self) addressing 2014-09-06 23:03:33 +03:00
Torsten Ruger
c6072c683b oops, less said the better 2014-09-06 22:48:58 +03:00
Torsten Ruger
64a433fd15 move the 2 to pad_to (from each call) 2014-09-06 22:38:32 +03:00
Torsten Ruger
bfa3f28e97 fix assembly (at least lositions and padding) 2014-09-06 19:48:56 +03:00
Torsten Ruger
197ecd576e debugging assembly 2014-09-05 20:56:05 +03:00
Torsten Ruger
5bb03f2d8b unscoping block names and adding labels to objects (which are off) 2014-08-30 20:55:22 +03:00
Torsten Ruger
ccb5b37a3c reinserted arm for now, until dependecy is cleaned up. fixed tests 2014-08-30 19:40:37 +03:00
Torsten Ruger
6d67c03cc9 make block replace take array or single instruction 2014-08-30 16:57:56 +03:00
Torsten Ruger
48b33e5f9d add position to instruction (for relative calculations) 2014-08-30 16:57:34 +03:00
Torsten Ruger
726a514c9e fix assembler recursion 2014-08-30 14:01:22 +03:00
Torsten Ruger
50af6a8f41 lots of rework on assembly. constant object for layouts, hash implementation. 2014-08-30 13:48:52 +03:00
Torsten Ruger
90e5b4584a rework link into two phase 2014-08-29 21:00:25 +03:00
Torsten Ruger
cec339890c fold the linker back into assembler. too easy to get the link and assemble functions out off sync 2014-08-29 17:20:59 +03:00
Torsten Ruger
3ed1e814ec more towards correct assembly 2014-08-29 15:49:59 +03:00
Torsten Ruger
99b4468599 fix spelling 2014-08-28 22:32:53 +03:00
Torsten Ruger
35b738639b improve readmes 2014-08-28 19:12:46 +03:00
Torsten Ruger
09698ec70a moved to consitent md ending 2014-08-28 18:52:55 +03:00
Torsten Ruger
0bc0506c5a small fix for str len 2014-08-28 16:19:43 +03:00
Torsten Ruger
fb42cb16f0 move get implementation to virtual as it should not result in register action 2014-08-28 08:43:38 +03:00
Torsten Ruger
7d35732923 renamed method definition to compiled method 2014-08-28 08:10:33 +03:00
Torsten Ruger
e09d3c2f65 adding legth of object itself 2014-08-28 08:08:11 +03:00
Torsten Ruger
a71f55f661 moved all link functions to a (da da) linker class 2014-08-27 21:44:23 +03:00
Torsten Ruger
aad3f7ca15 equivalent transformation, just looks 2014-08-27 17:23:50 +03:00
Torsten Ruger
97f68a1a54 basic assembly frame 2014-08-26 22:35:56 +03:00
Torsten Ruger
8f9bbe2f1d fold old link and length into one function 2014-08-26 16:36:12 +03:00
Torsten Ruger
1379b4ea4e slightly better enter 2014-08-26 16:16:59 +03:00
Torsten Ruger
888acdca0c slightly better enter 2014-08-26 16:15:00 +03:00
Torsten Ruger
714cd2a5d6 slightly better return implementation 2014-08-26 16:12:20 +03:00
Torsten Ruger
dd0674c7dd dummy implementation of enter and return 2014-08-26 12:05:49 +03:00
Torsten Ruger
7fd9ff44db simple call implementation 2014-08-26 11:58:28 +03:00
Torsten Ruger
a3a55aec08 add volotiles in their classes 2014-08-26 11:50:43 +03:00
Torsten Ruger
b4419fc438 start on linking and assembly (again, hurra) 2014-08-25 17:03:39 +03:00
Torsten Ruger
0b65e5840e move space accesor to boot_space 2014-08-24 21:32:21 +03:00
Torsten Ruger
a7bfb6e6ee rename (corrected) method def to instance methods in class 2014-08-23 23:57:47 +03:00
Torsten Ruger
ad6be2676c start on call implementation, getting separation issues 2014-08-23 23:37:33 +03:00
Torsten Ruger
594784c729 create hard dependency to salama-arm (for now)(as path for now-now) 2014-08-23 21:49:52 +03:00
Torsten Ruger
435fefd310 implementation passes involving assembly go to register directory 2014-08-23 21:49:09 +03:00
Torsten Ruger
4783e6c326 more renaming ripples 2014-08-22 18:00:23 +03:00
Torsten Ruger
e398a6b053 make space for new passes 2014-08-22 17:46:09 +03:00
Torsten Ruger
b196810e89 adjusted module name accordingly 2014-08-22 17:40:09 +03:00
Torsten Ruger
b100956909 renamed 2014-08-22 17:27:57 +03:00