| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
populate-function-header _almost_ done. I think we just need to fix `push`
next.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This is all very superficial. I'm not going to be able to run tests for
a long time.
|
|
|
|
|
| |
Update offset declarations in function data structures for starters. We
still need to go over the entire file to actually use them.
|
| |
|
|
|
|
|
|
|
|
| |
I just needed to adjust row-sizes when accessing the Registers table.
This commit dedicated to a fun hour on https://hn.town.siempre.io. Thanks
Cyrus!
(via https://news.ycombinator.com/item?id=22818300)
|
|
|
|
|
|
|
|
| |
Mystery solved of why the syntax sugar phases don't work even though they
don't use any functions whose signatures changed in the migration to handles.
The answer: they use the Registers table, and it needs to use handles rather
than raw strings.
|
|
|
|
|
| |
We need the length to be right for the strings. It currently includes the
alloc-id.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mystery solved of why the syntax sugar phases don't work even though they
don't use any functions whose signatures changed in the migration to handles.
The answer: they use the Registers table, and it currently doesn't use
handles.
Rather than create a whole new set of functions that operate on addresses,
I'm going to create fake handles that are never intended to be reclaimed.
Which raises the question of the best way to do that. I'd like to continue
using string syntax, so I'm going to use a prefix in the payload that can
also be rendered as a string. But all the printable characters start with
0x20, and we don't currently have escape sequences for null or any other
non-printable characters.
I _could_ use newlines, but that seems overly clever. So instead I'll once
again not worry about some hypothetical problem with running out of alloc-ids,
and just carve out half of the id space that can't be used for real alloc
ids. Ascii doesn't use the most significant bit of bytes, so it seems like
a natural separation.
|
| |
|
| |
|
| |
|
|
|
|
| |
For this one commit we need to bootstrap ourselves with subx_translate_debug.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here are the obvious dependencies of different apps:
allocate: mu
slice-to-string: mu survey
new-stream: mu assort dquotes tests
get-or-insert-slice: mu survey assort
get-or-insert: mu survey
So we'll get these working in the following order:
tests
dquotes
assort
survey
It doesn't look like sigils uses any functions with modified signatures,
but it doesn't work at the moment. Let's get the core self-hosted passes
working first before we look at syntax sugar.
examples -> self-hosted passes -> syntax sugar -> mu
|
| |
|
|
|
|
| |
$ ./translate_subx init.linux 0*.subx && ./a.elf test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CI will fail from this commit onward. Currently working:
$ bootstrap translate init.linux 0[4-7]*.subx 080zero-out.subx -o a.elf && ./a.elf test
$ bootstrap run a.elf test
$ chmod +x a.elf; ./a.elf test
Plan: migrate functions that used to return handles to pass in a new arg
of type (addr handle). That's a bit of a weird type. There should be few
of these functions. (Open question: do we even want to expose this type
in the Mu language?)
Functions that just need to read from heap without modifying the handle
will receive `(addr T)` or `(handle T)` types as arguments.
As I sanitize each new file, I need to update signatures for any new functions
and add them to a list. I also need to update calls to any functions on
the list.
|