| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
We can now translate layers 49-55 using translate and ntranslate. Next
step is to support '\n' in dquotes.subx.
|
|
|
|
|
| |
We now have a new pass called 'tests' which code-generates a new
function called 'run-tests', just like the C++ layer `tests.cc`.
|
| |
|
|
|
|
|
| |
Various buffer sizes needed to be grown for ex11. But the next
bottleneck is that we need to code-generate run-tests.
|
|
|
|
|
| |
Another batch of incorrectly signed conditional jumps. (Follow-up to
commit 5180.)
|
|
|
|
|
| |
Be more consistent about names of ends of a slice.
(In the opposite direction compared to last night's 925fc490d2ce8b8d411de87bd0af5b3a8a704213.)
|
|
|
|
| |
Be more consistent about names of ends of a slice.
|
|
|
|
|
|
| |
Move test slice variables out of the data segment and close to their
usages. Makes tests a little easier to read even if we spend a few more
instructions each time.
|
|\
| |
| |
| |
| |
| | |
High time we pulled in the final changes to dquotes.
In the process we fix one recently introduced duplicate symbol.
|
| | |
|
| |\ |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We need yet another helper for computing the lengths of strings, while
checking for escape sequences.
|
| | |
| | |
| | |
| | |
| | |
| | | |
We're going to be cloning it for the length computation.
Anytime we do something non-standard it's invariably short-lived.
|
| | |
| | |
| | |
| | | |
As expected, almost all tests now passing.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
More importantly, don't mix reclaiming locals with discarding args after
a call.
|
| | |
| | |
| | |
| | | |
I _think_ we'll need to use it below. But may be wrong.
|
| | |
| | |
| | |
| | |
| | | |
Kind of a pathological case, but makes our loop follow a standard format,
and provides some error checking at low cost.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
I was missing a test to catch this.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I like to be able to jump between functions and tests using '}' in Vim
:)
We also shouldn't put the wrong argument types in the tabular columns.
Just make it obvious they're not in use when instructions don't have a
ModR/M byte.
End-of-line comments are really only useful for instructions with a ModR/M
byte.
|
| | | |
|
| | |
| | |
| | |
| | | |
skip-string-in-slice
|
| | | |
|
| | |
| | |
| | |
| | | |
This one should make `emit-metadata` string-aware.
|
| | |
| | |
| | |
| | | |
Plan: https://github.com/akkartik/mu/commit/d4a244268841e8e912c98f4587095b701aa5c292#commitcomment-33558279
|
| | |
| | |
| | |
| | | |
Fix some comments.
|
| | |
| | |
| | |
| | |
| | | |
Now that we don't have to edit code to run a single test, delete that
commented out fragment everywhere.
|
|/ /
| |
| |
| |
| | |
hoist 'Heap' variable into the std library in anticipation of the parse-array-of-ints
primitive.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Current state:
✓ hex.subx (no changes required)
survey.subx
✓ pack.subx (fixed here)
assort.subx
✓ dquotes.subx (has failing tests for other reasons)
|
|/
|
|
| |
Test for the bugfix of commit 2f49a27504.
|
|
|
|
|
|
|
| |
Clean up some old TODOs related to our pre-mmap limitations.
Also caught another case of using the wrong comparison. When comparing
addresses, one must always use unsigned rather than signed jump instructions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Still some failing tests:
- emit-string-literal-data doesn't ignore metadata when computing the
length of literal strings
- emit-string-literal-data doesn't handle escape sequences
One issue doesn't have a failing test:
- emit-metadata doesn't handle string literals containing '/'
All these open issues involve a common design question: how to parse a
'word' that includes a string literal that may include spaces.
For everything else I know words can't contain spaces and datums can't
contain slashes. But for string literals things are tougher.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
How did things seem to be working until now?
- We were saving an address from the stack to stream.read
- When we read this address in skip-chars-matching:loop, we used to stop early
But now we've moved the stack to a larger address, one where the most significant
byte is set. When the stack address now gets to skip-chars-matching:loop,
it's treated as a negative number and we proceed through the loop. At which
point we try to index into the array using it.
No real test to be written to protect against this :(
|
|\
| |
| |
| |
| | |
dquotes.subx is now segfaulting after this merge. Seems to be trying to
use addresses from the old stack.
|
| |\
| | |
| | |
| | | |
apps/dquotes still segfaulting on native run.
|
| | | |
|
| | |
| | |
| | |
| | | |
Emitting the metadata for literal strings.
|
|\ \ \
| | |/
| |/|
| | | |
Segfault in this branch is now fixed.
|
| | |
| | |
| | |
| | |
| | | |
All tests passing now. Things are very explicit; before a program can `allocate`
memory, it has to first obtain a segment from the OS using `new-segment`.
|
| | |
| | |
| | |
| | | |
Convert raw literal strings (no escape sequences) to the data segment.
|
| | |
| | |
| | |
| | |
| | | |
Operations on buffered-file now always include the word 'buffered'. More
verbose, but hopefully this highlights holes in the library.
|
| |/
|/|
| |
| | |
Converting literal strings into bytes in the data segment.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm switching to a more exposed working dynamic after chatting with Charles
Saternos (https://github.com/akkartik/mu/pull/19). From now on I'll start
a new branch for big features. Branches won't always pass all their tests.
Phases have gone weeks in the past before being committed all at once.
Developing in a branch gives others the opportunity to see more current
progress and jump in more easily.
Some 'kata' branches for new contributors to start at:
* add two numbers: https://github.com/akkartik/mu/pull/21
* write a string to a byte stram: https://github.com/akkartik/mu/pull/22
* print a number in decimal to a byte stream: https://github.com/akkartik/mu/pull/20
|
| |
|