Commit Graph

26 Commits

Author SHA1 Message Date
Kartik Agaram b847538071 4711
Extract a helper for appending strings to raw buffers.

I'd been resisting this idea, but it actually turns out to be a pretty
clean abstraction in the end.
2018-10-17 22:31:39 -07:00
Kartik Agaram 4cc517e0de 4710
Start using write() instead of _write().. and we promptly find a typo when
dealing with real file descriptors.
2018-10-17 08:19:03 -07:00
Kartik Agaram 3d6450f216 4707 - subx: dependency-injected write() primitive 2018-10-16 23:44:31 -07:00
Kartik Agaram 6528a08992 4699 2018-10-14 22:25:57 -07:00
Kartik Agaram 0e0a90420e 4697 2018-10-14 00:29:48 -07:00
Kartik Agaram a8c6eda1cf 4691
All tests now once again run the same natively and on VM.
2018-10-13 21:01:01 -07:00
Kartik Agaram c25d9aa42a 4684
Turns out the tests for 'trace' have been broken in native mode since the
original commit (4674). Dangers of running my tests on Darwin, where I
can't run them natively.

The test failures didn't get flagged on CI because I'd forgotten to update
the exit code of the factorial app in commit 4664. At least that's fixed
in this commit.
2018-10-11 00:08:50 -07:00
Kartik Agaram 80b6f47e64 4682 - subx: start testing all layers of 'library' 2018-10-10 22:22:48 -07:00
Kartik Agaram 33ad085125 4674
subx: append to trace
2018-10-08 22:50:53 -07:00
Kartik Agaram 03d50cc83c 4667
Standardize on hyphens in all names.
And we'll use colons for namespacing labels in functions.
2018-10-05 19:49:47 -07:00
Kartik Agaram 15ae0717ba 4664 - subx: reflect test failures in exit status 2018-10-05 13:33:14 -07:00
Kartik Agaram bccaa72227 4661
Make segment management a little more consistent between initial segments
and add-on segments (using `mmap`).
2018-10-04 23:23:48 -07:00
Kartik Agaram d11372f6d0 4658 - subx: string_equal 2018-10-02 22:19:35 -07:00
Kartik Agaram 07b534163f 4645 2018-10-01 21:57:47 -07:00
Kartik Agaram d25e51dc0f 4644 2018-10-01 15:53:44 -07:00
Kartik Agaram 1666b12f37 4641 2018-10-01 14:21:27 -07:00
Kartik Agaram 57628c0e44 4638 - extract some common libraries from apps
I'm still trying to figure out what the defaults should be. At the moment
you have to explicitly pass in every file you want loaded into the output
binary. Maybe that control is a good thing. The examples need no libraries
so far.
2018-10-01 12:27:39 -07:00
Kartik Agaram bc3e572acd 4518 2018-09-24 23:49:43 -07:00
Kartik K. Agaram c5d9a32fe6 4516
More calling convention tweaks.

Use EBP to get consistently at parameters and locals.
Always put the first function argument closest to EBP.
2018-09-24 22:55:37 -07:00
Kartik Agaram 37735c1da4 4510
Add the test harness to the crenshaw compiler. Though we aren't calling
it yet. But that's because we aren't actually doing anything useful yet.
2018-09-23 21:12:39 -07:00
Kartik Agaram 94ddf7d7d4 4560 2018-09-20 16:37:18 -07:00
Kartik Agaram b83654d51f 4559 2018-09-20 16:30:40 -07:00
Kartik Agaram b09d6b5db0 4557 2018-09-20 16:23:51 -07:00
Kartik Agaram d783d42cf8 4556 2018-09-20 16:11:39 -07:00
Kartik Agaram 440a7be400 4555 2018-09-20 15:51:24 -07:00
Kartik Agaram f73f550013 4553
Start of a new example program.
2018-09-20 14:06:28 -07:00