about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 5897 - rename comparison instructionsKartik Agaram2020-01-16114-1140/+1124
| | | | | | | Signed and unsigned don't quite capture the essence of what the different combinations of x86 flags are doing for SubX. The crucial distinction is that one set of comparison operators is for integers and the second is for addresses.
* 5896Kartik Agaram2020-01-162-22/+22
|
* 5895Kartik Agaram2020-01-162-22/+22
|
* 5894Kartik Agaram2020-01-163-10/+10
|
* 5893Kartik Agaram2020-01-1428-3744/+3665
|
* 5892Kartik Agaram2020-01-146-10/+4
|
* 5891Kartik Agaram2020-01-141-0/+20
|
* 5890Kartik Agaram2020-01-142-2/+2
|
* 5889Kartik Agaram2020-01-1412-4847/+5009
|
* 5888Kartik Agaram2020-01-141-228/+222
|
* 5887 - reorganize libraryKartik Agaram2020-01-1421-9/+16
| | | | | | | Layers 0-89 are used in self-hosting SubX. Layers 90-99 are not needed for self-hosting SubX, and therefore could use transitional levels of syntax sugar. Layers 100 and up use all SubX syntax sugar.
* 5886Kartik Agaram2020-01-123-13/+14
|
* 5885Kartik Agaram2020-01-122-62/+231
| | | | Finalize design for type trees.
* 5884Kartik Agaram2020-01-1246-6406/+6392
|
* 5883 - drop the `ref` keywordKartik Agaram2020-01-1241-384/+365
| | | | | | | | | | When I created it I was conflating two things: a) needing to refer to just the start, rather than the whole, and b) counting indirections. Both are kinda ill-posed. Now Mu will have just `addr` and `handle` types. Normal types will translate implicitly to `addr` types, while `handle` will always require explicit handling.
* 5882Kartik Agaram2020-01-101-3/+1
|
* 5881Kartik Agaram2020-01-109-4901/+4983
|
* 5880Kartik Agaram2020-01-109-9/+9
|
* 5879Kartik Agaram2020-01-102-10/+99
|
* 5878Kartik Agaram2020-01-032-270/+217
| | | | | The current prototype doesn't really use floating point; drop the guardrails there.
* 5877Kartik Agaram2020-01-032-4/+4
|
* 5876 - address -> addrKartik Agaram2020-01-03110-716/+716
|
* 5875Kartik Agaram2020-01-0216-56/+207
|
* 5874Kartik Agaram2020-01-021-7/+1
|
* 5873Kartik Agaram2020-01-023-29/+25
|
* 5872Kartik Agaram2020-01-023-8/+21
|
* 5871Kartik Agaram2020-01-021-2/+2
|
* 5870Kartik Agaram2020-01-021-0/+3
|
* 5869Kartik Agaram2020-01-021-7/+8
|
* 5868Kartik Agaram2020-01-024-0/+0
| | | | | Follow stupid GNU convention, because why not: https://www.gnu.org/prep/standards/html_node/Releases.html
* 5867Kartik Agaram2020-01-021-6/+4
|
* 5866Kartik Agaram2020-01-022-1/+4
| | | | | | | | Stop requiring '--debug' in 'bootstrap run'. Now it's smart enough to turn on when needed. This creates some small chance of reading stale debug info for the wrong binary, but in practice that hasn't been an issue.
* 5865Kartik Agaram2020-01-0220-119/+119
| | | | Give the bootstrap C++ program a less salient name.
* 5864Kartik Agaram2020-01-022-2/+2
|
* 5863Kartik Agaram2020-01-025-102/+25
| | | | | | | | | Just clarified for myself why `subx translate` and `subx run` need to share code: emulation supports the tests first and foremost. In the process we clean up our architecture for levels of layers. It's a good idea but unused once we reconceive of "level 1" as just part of the test harness.
* 5862Kartik Agaram2020-01-012-164/+172
| | | | | Deemphasize details of x86 addressing modes. I want people using SubX's syntax sugar now.
* 5861 - describe Mu language in the ReadmeKartik Agaram2020-01-013-987/+42
|
* 5860Kartik Agaram2020-01-011-0/+17
|
* 5859Kartik Agaram2020-01-013-6/+5
| | | | Move script to create a Linux-based boot image into a sub-directory.
* 5858Kartik Agaram2020-01-0197-10/+8
| | | | | | Move script to create a Soso boot image into a sub-directory. I'm trying to streamline newcomer attention to just a couple of use cases.
* 5857Kartik Agaram2020-01-012-26/+26
|
* 5856Kartik Agaram2020-01-0143-98/+89
|
* 5855Kartik Agaram2020-01-016-4664/+5051
|
* 5854Kartik Agaram2020-01-011-1/+1
|
* 5853Kartik Agaram2020-01-013-135/+0
|
* 5852Kartik Agaram2020-01-01232-3/+3
|
* 5851Kartik Agaram2020-01-0110-20/+22
| | | | | | | | | | | | Rename a few scripts to be more consistent. I'm also starting to feel the urge to bud off `subx run` into its own program, say tools/emulate_x86. It doesn't really rely on the SubX notation at all. And then I could rename `subx translate` to `translate_subx_bootstrap`. Only problem: the commands in the Readme get verbose. But the Readme is gonna need surgery soon anyway to put translate_mu front and center.
* 5850 - driver script for translating Mu programsKartik Agaram2020-01-013-0/+69
|
* 5849 - more integration testing of function callsKartik Agaram2020-01-012-7/+98
| | | | | | | | | | | | | | | | I can now run this program: fn main -> result/ebx: int { result <- do-add 3 4 } fn do-add a: int, b: int -> result/ebx: int { result <- copy a result <- add b } We still can't define local variables, but can write any programs involving ints by passing in enough arguments for temporaries.
* 5848Kartik Agaram2020-01-011-5/+5
|