| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
test-add-reg-to-reg should pass now. But it doesn't..
|
|
|
|
| |
Still failing.
|
|
|
|
|
|
| |
Entirely using interactive search-and-replace in my text editor.
This is all ugly as hell. But get it working first.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
My previous approach was way too slow. Now I just `grep`d for all string
literals in the `Primitives` block, and piped them through:
while read X; do echo $X |tools/expand_string_handle; done
Still required some post-processing, but orders of magnitude faster and
more amenable to batch-processing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
First test using the Primitives global. It's terrible how handles mess
up my syntax sugar for strings.
|
| |
|
| |
|
|
|
|
|
| |
mu-stmt-matches-primitive? is quite a gnarly function. Baby step: better
names for labels, so that traces are easier to read.
|
|
|
|
| |
Two tests were incorrectly passing earlier.
|
| |
|
|
|
|
|
| |
This is indeed easier. Though defining the global data structure for primitives
directly in the data segment is going to get ugly.
|
| |
|
|
|
|
|
|
| |
We've gone back and rewritten the tests to fit the older format from 3
commits ago. No behavior change, but staying close to the older format
should make it easier to update the remaining tests.
|
| |
|
|
|
|
| |
Remove one local variable and unnecessary copy.
|
| |
|
|
|
|
|
|
|
|
|
| |
Cleaner abstraction, but adds 3 instructions to our overhead for handles,
including one potentially-hard-to-predict jump :/
I wish I could have put the alloc id in eax for the comparison as well,
to save a few bytes of instruction space. But that messes up the non-null
case.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
append-list is still very confusing the way it's written. Maybe I should
just use an extra register or an extra local variable or something.
|
| |
|
| |
|
|
|
|
|
|
|
| |
2 bugfixes in this commit.
I thought I'd seen append-list successfully working in some previous test,
but I was wrong.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Also locate-typeinfo-entry-with-index, though I didn't need to change much
there.
But it did get me to notice that I'm returning `addr` from functions. Need
to correct my paper.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our four tests are exercising the following 18 primitives at least a little
bit:
add-operation-and-inputs-to-stmt
append-stmt-var
lookup-var
lookup-var-helper
lookup-var-or-literal
new-literal-integer
new-reg-var-def
new-var
new-var-def
new-var-from-slice
next-mu-token
parse-mu-stmt
parse-mu-var-def
parse-type
parse-var-with-type
pos-or-insert-slice
pos-slice
stmt-has-outputs?
For comparison, here are the 34 primitives in mu.subx that we've made significant
changes to since all tests passed:
add-operation-and-inputs-to-stmt
append-list
append-stmt-var
append-to-block
convert-mu
find-or-create-typeinfo
find-or-create-typeinfo-fields
find-or-create-typeinfo-output-var
find-typeinfo
lookup-or-define-var
lookup-var
lookup-var-helper
lookup-var-or-literal
new-block-name
new-literal
new-literal-integer
new-reg-var-def
new-var
new-var-def
new-var-from-slice
next-mu-token
parse-mu
parse-mu-block
parse-mu-named-block
parse-mu-stmt
parse-mu-var-def
parse-type
parse-type-tree
parse-var-with-type
populate-mu-function-body
populate-mu-function-header
pos-or-insert-slice
pos-slice
stmt-has-outputs?
|