Commit Graph

70 Commits

Author SHA1 Message Date
dffa3fbf42 adding word functions for byte access 2015-11-19 10:08:41 +02:00
5369dc3d52 rename get/set internal
to _word , because _byte versions are coming
2015-11-18 15:36:43 +02:00
303b7eb1f8 putstring unfolds length
which means sys call doesn’t need to
and also interpreter sometimes gets a symbol length
2015-11-16 18:03:29 +02:00
f50d7b57a4 fix the putstring sys call indexing
index 0 is the marker word , so like in some, all indexes 1 based
works :-)
2015-11-15 22:03:06 +02:00
4a8bb32039 serious bit fiddling, div10 using shift magic
forgot that arm has no division (or respectively only later models have)
many magic formulae out there, none seem to work 1000% on the
interpreter. some big 0 ending numbers are 1 off.
2015-11-13 20:46:27 +02:00
5c862111b9 remove div and add div10
general division is for another day, the 10 version is manageable
also same code produces mod10
wip
2015-11-12 20:03:57 +02:00
6137833140 change args argument to create method to be hash
was array and didn’t carry types and names
2015-11-11 20:41:02 +02:00
c38775e933 add set_internal
and the set_slot with register
very much like the get_slot for get_internal
2015-11-08 17:10:36 +02:00
f2c7ed827d simplify the __init
admittedly more source code, but half the runtime
mainly just using message (not new)
made possible by call sequence change
2015-11-07 21:58:19 +02:00
708cdace17 implement indexed object access
one of the few functions that can’t be coded
(or the design specifically is such that it can’t, in c it would be
self[index],
or, worse *(self + index) )
2015-11-07 17:36:28 +02:00
834266e11e improve label names a bit 2015-11-01 19:13:40 +02:00
7e24f63327 polish sources 2015-10-29 22:31:28 +02:00
191be8d2f6 use compiler to generate methods and their instructions 2015-10-28 21:37:42 +02:00
c245272e52 don't export current 2015-10-28 14:37:40 +02:00
ef6cb2a069 use instruction steam from message
had been attached there last week, but was still used mainly through
the source (which i’m trying to remove)
2015-10-28 14:33:38 +02:00
72b790c107 remove method source receiver
no harm done it seems
2015-10-28 14:24:14 +02:00
7e0778dc70 remove return_type
soon to be obsolete with multi returns
2015-10-28 12:19:10 +02:00
57f37ec023 removed blocks and moved to labels
somewhat easier to understand the code as a linked list
relatively painless change, considering
2015-10-23 21:27:36 +03:00
6754518daf prune builtin
will need much less, many more things can be expressed in soml
2015-10-23 15:13:05 +03:00
e0c5bc4c11 rename phisol to soml 2015-10-23 14:22:55 +03:00
dcbd3c7091 fold last of the virtual into register 2015-10-22 18:16:29 +03:00
d767caf479 remove MethodCall and thus all virtual instructions 2015-10-18 19:27:46 +03:00
6c7e4c0fe2 stop pinning self and frame
before: r0-message , r1-self , r2-frame , r3-new_message , r4 + tmps
now: r0-message , r1-new_message , r2 + tmps
programs got smaller, less fuss
also fix in return implementation that got the address from the wrong
message
2015-10-18 17:20:19 +03:00
3d83f203ca fixing and testing operators 2015-10-15 09:32:47 +03:00
1141ed9c99 type now means class name
update reader (with new type definition)
remove type class (now symbol)
update all types to class name symbols
2015-10-14 16:16:03 +03:00
d899d542a4 checking return type is a type 2015-10-14 14:02:34 +03:00
dd3381e38b move type to phial and add type to reg_ref 2015-10-10 19:14:27 +03:00
99098951ca rename bosl to phisol 2015-10-07 15:22:47 +03:00
e669489419 went over the various readmes 2015-10-07 11:32:48 +03:00
18935366fe introducing class variable and typed arguments 2015-09-27 14:30:41 +03:00
9fe01c7b31 remove unknown type 2015-09-23 18:35:37 +03:00
4e56056b62 better test for add 2015-08-09 00:53:04 +03:00
ca14ef8914 fix test result, but not test yet 2015-08-07 16:46:55 +03:00
9ebe6eb5b7 move to clss names as types
so as not to mix ruby class names into parfait code
2015-08-06 18:28:40 +03:00
8560f15c87 plus function, indentation 2015-08-05 18:49:37 +03:00
21b0702154 fix tests (just using local gem) 2015-08-04 22:01:20 +03:00
9680ff2a71 fxes for add test 2015-08-04 21:46:33 +03:00
36f635f7c1 adding sources to register instructions 2015-07-27 12:13:39 +03:00
2f409ea4e1 more dead code goes 2015-07-21 20:24:31 +03:00
074f3af174 uncomment dead code
it’s dead, unfair to say it’s untested.
percentage wise i mean
2015-07-21 19:57:38 +03:00
e3577d18af fix that silly mistake that made the percentage plummet
mostly due to the fact that object is a hash now,
not array. Took a while though
2015-07-21 19:41:30 +03:00
b61c73acdd renamed info to MethodSource 2015-07-03 20:13:03 +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
7136450bde move put string to string where it belongs 2015-07-01 21:45:41 +03:00
8f0fd30ef3 small name update 2015-07-01 21:42:31 +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
fb67f550ec more index fixes, this time arguments 2015-07-01 09:48:20 +03:00
9541712af8 fixing all the indexes
with the type word and layout
but the list starting at 1, indexes still need 1 added
and for arm x 4.
Tried to get all that into one function, resolve_index
2015-06-30 18:38:56 +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
b8090e0ecd fix init to load into new message 2015-06-30 09:37:25 +03:00