Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 4763 - back to the 'trivial' crenshaw2-1 compiler | Kartik Agaram | 2018-11-23 | 3 | -2/+426 |
| | | | | | This time I've ported (and test-driven) 'GetChar' and 'GetNum'. The new tests bring together our new testable interfaces for read() and exit(). | ||||
* | 4762 | Kartik Agaram | 2018-11-23 | 1 | -5/+8 |
| | |||||
* | 4761 | Kartik Agaram | 2018-11-23 | 4 | -12/+11 |
| | | | | | Bugfix: I forgot about ELF segment offsets when implementing VMAs. Eventually segments grew large enough that I started seeing overlaps. | ||||
* | 4760 | Kartik Agaram | 2018-11-21 | 4 | -0/+8 |
| | |||||
* | 4759 | Kartik Agaram | 2018-11-20 | 8 | -10/+10 |
| | |||||
* | 4758 | Kartik Agaram | 2018-11-20 | 1 | -4/+4 |
| | |||||
* | 4757 | Kartik Agaram | 2018-11-20 | 6 | -40/+46 |
| | | | | | | Let's start highlighting all global variables in Red. Assembly programming has a tendency to over-use them. They're a necessary evil, but we should minimize the number of functions that access them. | ||||
* | 4756 | Kartik Agaram | 2018-11-19 | 6 | -4/+4 |
| | | | | | Long-standing and long-copied typo has been messing with our exit status on test failures. | ||||
* | 4755 - read-byte (sometimes called getchar) | Kartik Agaram | 2018-11-19 | 3 | -0/+243 |
| | |||||
* | 4754 - allow data segment to refer to variables | Kartik Agaram | 2018-11-19 | 3 | -13/+55 |
| | |||||
* | 4753 | Kartik Agaram | 2018-11-19 | 1 | -5/+5 |
| | |||||
* | 4752 | Kartik Agaram | 2018-11-18 | 1 | -24/+24 |
| | |||||
* | 4751 | Kartik Agaram | 2018-11-18 | 1 | -0/+6 |
| | |||||
* | 4750 | Kartik Agaram | 2018-11-18 | 1 | -0/+4 |
| | | | | | There can be situations where a run is striding through a segment. Reduce the number of reallocations that reallocations that requires. | ||||
* | 4749 - speed up tests | Kartik Agaram | 2018-11-18 | 1 | -8/+14 |
| | | | | | | | When we implemented 'read' our apps went over 0x1000 bytes, so I grew the initial segment size. But that slowed down emulation because each test was reallocating all segments. Now we allocate small segments at the start, and grow them gradually as needed. | ||||
* | 4748 | Kartik Agaram | 2018-11-18 | 1 | -4/+4 |
| | | | | Fix CI. | ||||
* | 4747 - subx: 'read' primitive | Kartik Agaram | 2018-11-18 | 5 | -16/+385 |
| | |||||
* | 4746 | Kartik Agaram | 2018-11-17 | 1 | -17/+17 |
| | |||||
* | 4745 | Kartik Agaram | 2018-11-17 | 3 | -1/+1 |
| | |||||
* | 4744 | Kartik Agaram | 2018-11-17 | 1 | -2/+2 |
| | |||||
* | 4743 | Kartik Agaram | 2018-11-12 | 3 | -4/+5 |
| | |||||
* | 4742 | Kartik Agaram | 2018-11-05 | 1 | -1/+2 |
| | |||||
* | 4741 | Kartik Agaram | 2018-10-30 | 3 | -16/+46 |
| | | | | Extract a helper that we'll need for 'read'. | ||||
* | 4740 | Kartik Agaram | 2018-10-30 | 3 | -53/+57 |
| | |||||
* | 4739 | Kartik Agaram | 2018-10-30 | 1 | -3/+3 |
| | |||||
* | 4738 | Kartik Agaram | 2018-10-30 | 2 | -12/+13 |
| | |||||
* | 4737 | Kartik Agaram | 2018-10-30 | 1 | -1/+1 |
| | |||||
* | 4736 | Kartik Agaram | 2018-10-29 | 3 | -43/+48 |
| | | | | | | | | | We'll use a common stream data structure for input and output streams. Having separate types makes more sense in a more high-level language, where we have type checking and where functions for handling the different types are more concise. But in machine code the sweet spot is more toward fewer types. | ||||
* | 4735 | Kartik Agaram | 2018-10-28 | 1 | -6/+6 |
| | |||||
* | 4734 | Kartik Agaram | 2018-10-28 | 34 | -1945/+1956 |
| | |||||
* | 4733 | Kartik Agaram | 2018-10-28 | 1 | -1/+1 |
| | |||||
* | 4732 | Kartik Agaram | 2018-10-28 | 2 | -4/+3 |
| | |||||
* | 4731 | Kartik Agaram | 2018-10-28 | 7 | -25/+25 |
| | |||||
* | 4730 | Kartik Agaram | 2018-10-28 | 1 | -1/+1 |
| | |||||
* | 4729 | Kartik Agaram | 2018-10-28 | 5 | -42/+54 |
| | | | | | | Start injecting all dependencies in the Crenshaw compiler app. In the process I realized the non-fake code path of 'stop' had a bug. | ||||
* | 4728 | Kartik Agaram | 2018-10-28 | 1 | -1/+1 |
| | | | | | What is this '|| exit 1' construct?! No need for it in the presence of ERREXIT. | ||||
* | 4727 - commit to better 64-bit support | Kartik Agaram | 2018-10-27 | 2 | -18/+16 |
| | | | | | | | I've started testing more regularly on 64-bit Linux, and I realize that the binaries actually now compare identical even on 64-bit. Why did I ever add that condition to CI? Seems to be working now on Travis. Let's start comparing now and see if the problem happens again. | ||||
* | 4726 | Kartik Agaram | 2018-10-27 | 9 | -6/+49 |
| | |||||
* | 4725 - back to porting the Crenshaw compiler | Kartik Agaram | 2018-10-26 | 5 | -3/+16 |
| | |||||
* | 4724 | Kartik Agaram | 2018-10-24 | 27 | -2401/+2486 |
| | |||||
* | 4723 | Kartik Agaram | 2018-10-24 | 2 | -10/+10 |
| | | | | Fix CI. | ||||
* | 4722 | Kartik Agaram | 2018-10-24 | 5 | -462/+680 |
| | |||||
* | 4721 | Kartik Agaram | 2018-10-24 | 2 | -0/+0 |
| | |||||
* | 4720 | Kartik Agaram | 2018-10-24 | 1 | -2/+2 |
| | | | | Raise an error when we fall off the end of the code segment. | ||||
* | 4719 - testable interface wrapping around exit() | Kartik Agaram | 2018-10-24 | 3 | -71/+153 |
| | |||||
* | 4718 | Kartik Agaram | 2018-10-24 | 2 | -6/+6 |
| | |||||
* | 4717 | Kartik Agaram | 2018-10-24 | 6 | -68/+68 |
| | |||||
* | 4716 | Kartik Agaram | 2018-10-23 | 1 | -3/+3 |
| | |||||
* | 4715 - support one more negation instruction | Kartik Agaram | 2018-10-23 | 2 | -1/+48 |
| | |||||
* | 4714 | Kartik Agaram | 2018-10-23 | 1 | -1/+21 |
| | | | | Improve error-checking for unnecessary displacement operands. |