about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 4948Kartik Agaram2019-02-023-577/+1588
| | | | | This seems like the final helper we need for Phase 2. Now to build the business logic itself.
* 4947Kartik Agaram2019-02-012-0/+2
| | | | | | | | Bugfix: has-metadata? was corrupting registers Seems uneconomic to write tests for stuff like this. Assembly is just not the right layer to try to come up with a general solution or process. Keep running your code and wait to find signs of breakage.
* 4946Kartik Agaram2019-02-012-2/+66
|
* 4945Kartik Agaram2019-02-017-0/+70
|
* 4944Kartik Agaram2019-01-301-4/+4
| | | | Improve syntax highlighting in the Readme.
* 4943Kartik Agaram2019-01-302-3/+2
|
* 4942Kartik Agaram2019-01-214-324/+337
|
* 4941Kartik Agaram2019-01-211-4/+17
|
* 4940Kartik Agaram2019-01-211-4/+4
|
* 4939Kartik Agaram2019-01-213-3/+253
|
* 4938Kartik Agaram2019-01-208-721/+729
|
* 4937Kartik Agaram2019-01-208-452/+1282
|
* 4936Kartik Agaram2019-01-182-20/+20
|
* 4935Kartik Agaram2019-01-161-2/+2
|
* 4934Kartik Agaram2019-01-164-6/+6
|
* 4933Kartik Agaram2019-01-167-50/+50
|
* 4932Kartik Agaram2019-01-1614-836/+1443
|
* 4931Kartik Agaram2019-01-161-1/+0
|
* 4930Kartik Agaram2019-01-157-2/+231
|
* 4929Kartik Agaram2019-01-1515-57/+28
| | | | Clean up primitives for converting from/to hex chars.
* 4928Kartik Agaram2019-01-147-428/+528
|
* 4927Kartik Agaram2019-01-148-39/+306
|
* 4926Kartik Agaram2019-01-147-223/+355
|
* 4925Kartik Agaram2019-01-1410-485/+796
|
* 4924Kartik Agaram2019-01-141-0/+42
| | | | Restore update_html
* 4923Kartik Agaram2019-01-1211-350/+310
| | | | | We want slice-equal? for length-prefixed strings, not null-terminated "kernel" strings.
* 4922Kartik Agaram2019-01-112-12/+13
|
* 4921Kartik Agaram2019-01-1113-1120/+1203
|
* 4920Kartik Agaram2019-01-1113-520/+1157
|
* 4919Kartik Agaram2019-01-1011-2222/+2739
|
* 4918Kartik Agaram2019-01-104-4/+4
|
* 4917Kartik Agaram2019-01-101-140/+0
|
* 4916Kartik Agaram2019-01-1012-24/+611
| | | | | In the process of building slice primitives I found an out-of-bounds access in write-byte.
* 4915Kartik Agaram2019-01-084-11/+213
| | | | | | In the process of building next-token I finally added some support for a debugging situation I've found myself in a couple of times: wondering "what changed this memory location"?
* 4914Kartik Agaram2019-01-0715-444/+1575
|
* 4913Kartik Agaram2019-01-077-2/+472
|
* 4912Kartik Agaram2019-01-061-3/+117
|
* 4911Kartik Agaram2019-01-0611-21/+223
|
* 4910Kartik Agaram2019-01-061-4/+4
|
* 4909Kartik Agaram2019-01-052-19/+32
| | | | Improve error checking to warn on unexpected displacements as well.
* 4908Kartik Agaram2019-01-058-4/+41
| | | | | | | | Fix CI. a) Update canonical binaries. b) Fix an out-of-bounds access in `clear-stream`. This also required supporting a new instruction in `subx run` to load an imm8 into rm8.
* 4907Kartik Agaram2019-01-041-2/+2
|
* 4906 - helper to allocate streams on the heapKartik Agaram2019-01-042-0/+175
|
* 4905 - safe ptr lookup is now 6 instructionsKartik Agaram2019-01-042-25/+20
| | | | | | | | | | | | | The lines within '{}' can now be turned into a macro like `E_X = deref(E_X)`, parameterizing the register being modified. Assumes the input is in a register but also saved elsewhere, so it's safe to clobber and replace with the result. Compare commit 4894. Used to take 9 instructions, 8 of them making loads/stores. Now it's 6 instructions, 4 of them loads/stores (the one non-local load is unchanged, of course). Key is to not consume more registers so we don't have to push/pop them.
* 4904Kartik Agaram2019-01-041-1/+0
|
* 4903Kartik Agaram2019-01-031-2/+0
|
* 4902 - initial sketch, stage 2 of compilerKartik Agaram2019-01-031-0/+164
| | | | I've agonized over this for a week; high time I saved a snapshot.
* 4901Kartik Agaram2019-01-036-0/+0
|
* 4900Kartik Agaram2018-12-303-392/+381
| | | | | | | | | | | Finally really fix the CI failure of commit 4894. This is a remainder to forget my knowledge of stack addresses in the SubX VM when writing SubX programs. Otherwise my programs will work in the VM but not natively. The only assumptions a SubX program should make about its segment addresses are what's encoded in the ELF binary. Thanks to https://en.wikipedia.org/wiki/Address_space_layout_randomization, it can't know anything else.
* 4899Kartik Agaram2018-12-3031-158/+160
| | | | Bug in my linkify tool introduced in commit 4891.