about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* -Kartik Agaram2020-05-181-60/+77
| | | | | | | | Trying to switch gears a bit and scope out how much is left. Code-generation should be a lot less work since few signatures need to change. Hopefully getting to 55% down mu.subx will really be 90% of the way. In particular, there are 17 signature changes remaining that need to patch their calling functions as well.
* -Kartik Agaram2020-05-181-1/+1
|
* mu.subx: mu-block-nameKartik Agaram2020-05-181-29/+32
|
* mu.subx: append-to-blockKartik Agaram2020-05-181-3/+6
| | | | | | | | I'm just cleaning up the final call to append-list, and it's internally consistent if `block` can be an `addr`. I don't know yet if that makes sense for callers. I think I also found a bug in append-to-block: it was clobbering eax.
* mu.subx: append-listKartik Agaram2020-05-181-30/+52
| | | | | populate-function-header _almost_ done. I think we just need to fix `push` next.
* mu.subx: parse-var-with-typeKartik Agaram2020-05-181-7/+2
|
* mu.subx: parse-type-treeKartik Agaram2020-05-181-20/+31
|
* mu.subx: parse-typeKartik Agaram2020-05-182-33/+26
|
* mu.subx: add-operation-and-inputs-to-stmtKartik Agaram2020-05-181-2/+2
|
* mu.subx: pos-slice, pos-or-insert-sliceKartik Agaram2020-05-181-4/+13
|
* mu.subx: some calls to slice-to-stringKartik Agaram2020-05-181-5/+5
|
* -Kartik Agaram2020-05-181-21/+21
|
* mu.subx: partial parse-var-with-typeKartik Agaram2020-05-181-6/+11
|
* mu.subx: new-var, new-var-from-sliceKartik Agaram2020-05-182-34/+56
|
* mu.subx: size of 'vars' stackKartik Agaram2020-05-181-27/+27
|
* mu.subx: parse-muKartik Agaram2020-05-181-3/+14
|
* -Kartik Agaram2020-05-181-21/+9
|
* -Kartik Agaram2020-05-181-29/+28
|
* mu.subx: new-var, typeinfo entriesKartik Agaram2020-05-181-29/+76
|
* -Kartik Agaram2020-05-181-3/+3
|
* -Kartik Agaram2020-05-181-7/+9
|
* mu.subx: find-or-create-typeinfoKartik Agaram2020-05-181-29/+65
|
* mu.subx: offsets for type data structuresKartik Agaram2020-05-181-8/+8
|
* -Kartik Agaram2020-05-181-6/+0
|
* mu.subx: uses of Program->functionsKartik Agaram2020-05-181-11/+29
| | | | | This is all very superficial. I'm not going to be able to run tests for a long time.
* starting to fix mu.subxKartik Agaram2020-05-181-37/+42
| | | | | Update offset declarations in function data structures for starters. We still need to go over the entire file to actually use them.
* -Kartik Agaram2020-05-181-6/+6
|
* all syntax sugar now workingKartik Agaram2020-05-185-72/+96
| | | | | | | | 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)
* support 'fake' handles allocated staticallyKartik Agaram2020-05-1812-30/+102
| | | | | | | | 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.
* no, this doesn't quite workKartik Agaram2020-05-181-18/+24
| | | | | We need the length to be right for the strings. It currently includes the alloc-id.
* support 'fake' handles allocated staticallyKartik Agaram2020-05-1810-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* core translator phases now emit identical binariesKartik Agaram2020-05-182-3/+3
|
* fix a discrepancy in the generated apps/ex1 binaryKartik Agaram2020-05-182-1/+1
|
* fix a crash when translating apps/ex1Kartik Agaram2020-05-183-7/+7
|
* Rebuild phases of self-hosted SubX translatorKartik Agaram2020-05-1810-23/+23
| | | | For this one commit we need to bootstrap ourselves with subx_translate_debug.
* survey.subx now workingKartik Agaram2020-05-181-265/+51
|
* emit-segments in survey.subx now workingKartik Agaram2020-05-181-72/+104
|
* second test also passingKartik Agaram2020-05-181-14/+79
|
* compute-addresses now working? Maybe?Kartik Agaram2020-05-181-92/+375
|
* compute-offsets in survey.subx now workingKartik Agaram2020-05-181-59/+100
|
* -Kartik Agaram2020-05-181-4/+13
|
* -Kartik Agaram2020-05-181-4/+4
|
* -Kartik Agaram2020-05-181-21/+23
|
* -Kartik Agaram2020-05-181-45/+0
|
* -Kartik Agaram2020-05-181-1/+1
|
* -Kartik Agaram2020-05-181-74/+0
|
* yet another 'get' variantKartik Agaram2020-05-181-0/+318
|
* assort.subx now workingKartik Agaram2020-05-182-42/+197
|
* dquotes.subx now workingKartik Agaram2020-05-182-7/+22
|
* tests.subx now workingKartik Agaram2020-05-182-40/+57
|