about summary refs log tree commit diff stats
path: root/subx
Commit message (Collapse)AuthorAgeFilesLines
* 5074Kartik Agaram2019-04-1012-125/+290
| | | | | | | | | | | | | Fail early when writing to a fake file runs out of space. Makes debugging tests easier. Reads from files, on the other hand, are only buffering to a temporary stream, so it makes sense to silently stop when they run out of space. In the process I uncovered a testing bug in pack.subx: I was missing a trailing space in the expected result, but the test still passed because the space was getting truncated. Being principled about aborting on overflow by default will help avoid such issues.
* 5073Kartik Agaram2019-04-101-2/+2
|
* 5072Kartik Agaram2019-04-101-15/+1
|
* 5071Kartik Agaram2019-04-101-12/+15
|
* 5070Kartik Agaram2019-04-101-1/+1
|
* 5069Kartik Agaram2019-04-101-7/+7
|
* 5068Kartik Agaram2019-04-101-1/+1
| | | | Temporary title for HN submission.
* 5067Kartik Agaram2019-04-101-11/+11
|
* 5066Kartik Agaram2019-04-101-253/+223
|
* 5064Kartik Agaram2019-04-071-3/+2
|
* 5063Kartik Agaram2019-04-071-69/+0
|
* 5062Kartik Agaram2019-04-062-391/+460
|
* 5061Kartik Agaram2019-04-061-1/+1
|
* 5060Kartik Agaram2019-04-0610-13/+273
|
* 5059Kartik Agaram2019-04-0517-43/+43
|
* 5058Kartik Agaram2019-04-054-246/+252
|
* 5057Kartik Agaram2019-04-051-1/+35
|
* 5056Kartik Agaram2019-04-057-2/+144
|
* 5055 - new phase: merge fragment of segmentsKartik Agaram2019-04-041-0/+1102
|
* 5054Kartik Agaram2019-04-032-4/+3
|
* 5053Kartik Agaram2019-04-039-154/+266
| | | | | | write-stream-buffered isn't a clean abstraction. Ignoring the 'read' index of a stream is a hack. It's just saving us the trouble of a rewind-stream. So make it a helper of pack.subx rather than part of the standard library.
* 5052Kartik Agaram2019-04-022-99/+127
|
* 5051 - done compiling SIB operandsKartik Agaram2019-04-022-3/+671
| | | | Done with pack.subx?!
* 5050 - compile ModR/M operandsKartik Agaram2019-04-023-3/+809
|
* 5049Kartik Agaram2019-04-021-100/+196
|
* 5048Kartik Agaram2019-04-011-12/+12
|
* 5047Kartik Agaram2019-04-011-3/+3
|
* 5046Kartik Agaram2019-04-012-72/+52
|
* 5045Kartik Agaram2019-04-011-8/+8
|
* 5044Kartik Agaram2019-04-012-3/+248
|
* 5043Kartik Agaram2019-04-011-0/+3
|
* 5042Kartik Agaram2019-03-312-33/+35
|
* 5041 - compile displacement operandsKartik Agaram2019-03-312-13/+565
|
* 5040 - compile immediate operandsKartik Agaram2019-03-302-16/+556
|
* 5039 - compile opcodesKartik Agaram2019-03-302-6/+1011
|
* 5038Kartik Agaram2019-03-292-11/+181
|
* 5037Kartik Agaram2019-03-2910-32/+32
|
* 5036Kartik Agaram2019-03-292-34/+65
|
* 5034Kartik Agaram2019-03-292-50/+225
|
* 5032Kartik Agaram2019-03-291-1/+2
|
* 5031Kartik Agaram2019-03-291-9/+10
|
* 5030 - docs for library functions created so farKartik Agaram2019-03-291-12/+137
|
* 5029Kartik Agaram2019-03-281-49/+119
|
* 5028Kartik Agaram2019-03-281-5/+5
|
* 5027Kartik Agaram2019-03-278-11/+384
| | | | | | | | | Testing conversion of multiple lines in a data segment. Bugs fixed: 1. Stack issues in next-token helpers. 2. Needed to teach next-token to avoid newlines. 3. rewind-stream(line) before passing it to convert-code or convert-instruction.
* 5026Kartik Agaram2019-03-271-4/+4
|
* 5025Kartik Agaram2019-03-271-3/+7
|
* 5024Kartik Agaram2019-03-271-11/+11
|
* 5023Kartik Agaram2019-03-262-29/+422
| | | | | | | | | | | | | | | | Several bugs found after performing multiple loops through convert-data. This has been a general pattern: given how unsafe the x86 'language' is, the regular amount of testing with a single input doesn't really give sufficient confidence. Ever-present is the possibility that I forgot to pop something from the stack, either a spilled register or a local. Calling functions multiple times seems to help detect such bugs. So far I've been doing this extra level of testing implicitly when I build the next higher abstraction. But with `convert-data` the buck stopped, and much painful debugging ensued. One thing that would help is if `write` on streams didn't remain silent on overflow. But we actually need that sometimes, when streams are used as buffers.
* 5022Kartik Agaram2019-03-261-0/+2
|