about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 4259Kartik Agaram2018-06-1614-0/+0
|
* 4258 - undo 4257Kartik Agaram2018-06-1538-757/+381
|
* 4257 - abortive attempt at safe fat pointersKartik Agaram2018-06-1538-381/+757
| | | | | | | | | | | | | | | | I've been working on this slowly over several weeks, but it's too hard to support 0 as the null value for addresses. I constantly have to add exceptions for scalar value corresponding to an address type (now occupying 2 locations). The final straw is the test for 'reload': x:num <- reload text 'reload' returns an address. But there's no way to know that for arbitrary instructions. New plan: let's put this off for a bit and first create support for literals. Then use 'null' instead of '0' for addresses everywhere. Then it'll be easy to just change what 'null' means.
* 4256 - get rid of container metadata entirelyKartik Agaram2018-06-096-438/+84
| | | | | We have some ugly duplication in computing size_of on containers between layers 30/33 and 55.
* 4255Kartik Agaram2018-06-071-1/+1
|
* 4254Kartik Agaram2018-06-061-3/+5
|
* 4253 - support running just a single C testKartik Agaram2018-06-067-1/+24
| | | | We've had this ability for Mu scenarios forever.
* 4252Kartik Agaram2018-06-063-4/+4
|
* 4251 - speed up repeated builds until the same layerKartik Agaram2018-06-052-2/+14
| | | | Also allow running a single test, to speed things up still further.
* 4250Kartik Agaram2018-05-251-3/+5
| | | | Avoid modifying memory *before* the null check.
* 4249Kartik Agaram2018-05-251-1/+0
| | | | Why do we have this silent null check? All tests pass without it.
* 4248 -- simplify CIKartik Agaram2018-05-252-2/+4
|
* 4247Kartik Agaram2018-05-251-0/+19
|
* 4246Kartik Agaram2018-05-151-1/+1
|
* 4245 - fix example1.mu to actually runKartik Agaram2018-05-132-3/+9
| | | | | Thanks mahmudov on freenode IRC for the feedback! This was an embarrassing oversight right at the top of my Readme.
* 4244Kartik Agaram2018-05-128-1105/+1037
|
* 4243Kartik Agaram2018-05-1225-958/+966
|
* 4242 - get rid of refcounts entirelyKartik Agaram2018-05-1226-2820/+1231
| | | | | | | | | We're going to lean back into the experiment of commit 4179 back in Jan. If we delete memory it's up to us to ensure no pointers into it survive. Since deep-copy depends on our refcounting infrastructure, it's gone as well. So we're going to have to start watching out for pointers shared over channels.
* 4241Kartik Agaram2018-05-121-2/+2
| | | | | | | | | | | | | | Comparing types by value rather than name seems a bit cleaner. It isn't noticeably faster, though. 4178 - refcount-based memory management 3:27 3:18 3:15 3:15 3:15 4179 - no more abandon 2:13 2:13 2:12 2:11 2:09 2:10 4239 1:42 1:41 1:51 1:43 1:43 1:41 4241 (this commit) 1:53 1:45 1:43 1:43 1:42 1:42
* 4240Kartik Agaram2018-05-121-1/+1
|
* 4239Kartik Agaram2018-05-08139-1030/+1045
|
* 4238Kartik Agaram2018-05-071-3/+4
|
* 4237Kartik Agaram2018-05-011-4/+4
|
* 4236 - experimental script for parallel buildingKartik Agaram2018-04-291-0/+284
| | | | https://www.reddit.com/r/oilshell/comments/8bg9t1/the_problem_of_make_inside_shell_scripts/dxroayn
* 4235 - fix a build issue for Apple clang 900.0.38Kartik K. Agaram2018-04-205-7/+7
| | | | | | | The trouble with rewriting 'unused' to '__attribute__(unused)' is that if we happen to deliberately introduce '__attribute__(unused)' somehow, say in the standard headers, then it gets expanded twice to '__attribute__(__attribute__(unused))'. So we switch to a synonym.
* 4234Kartik K. Agaram2018-04-191-4/+4
|
* 4233 - no real difference between -O2 or -O3Kartik K. Agaram2018-03-224-9/+9
| | | | | | Neither in compile time, nor in the performance of the generated code. (Triggered by https://developers.redhat.com/blog/2018/03/21/compiler-and-linker-flags-gcc)
* 4232Kartik K. Agaram2018-03-221-1/+2
|
* 4231Kartik K. Agaram2018-03-211-0/+3
|
* 4230Kartik K. Agaram2018-03-162-51/+47
|
* 4229Kartik K. Agaram2018-03-161-2/+12
| | | | Another bugfix, another improved error message.
* 4228Kartik K. Agaram2018-03-1536-3058/+3514
|
* 4227 - second example implementing exceptionsKartik K. Agaram2018-03-152-4/+66
| | | | | | | | | | I think I like this better. It doesn't violate the type system. Still two sources of klunkiness: a) We need to add dead code because we don't consider exceptions when we add implicit 'return' statements to functions. Should be easy to fix. b) Still no way to create a generic 'try' function. This will be hard to fix.
* 4226 - example program: exceptionsKartik K. Agaram2018-03-153-4/+85
| | | | | | Pretty klunky; we're violating the type system by prepending an extra result, so functions we want to catch exceptions around have to be header-less and check input types at run-time.
* 4225Kartik K. Agaram2018-03-151-7/+7
|
* 4224 - fill an old hole in static dispatchKartik K. Agaram2018-03-141-3/+162
| | | | Resolve ambiguous calls when copying (overloaded) recipe literals to variables.
* 4223Kartik K. Agaram2018-03-145-14/+7
|
* 4222Kartik K. Agaram2018-03-132-0/+0
|
* 4221 - more docs about build processKartik K. Agaram2018-03-135-0/+60
|
* 4220Kartik K. Agaram2018-03-132-8/+6
|
* 4219 - add an even simpler build scriptKartik K. Agaram2018-03-138-198/+230
|
* 4218 - test build alternatives in CIKartik K. Agaram2018-03-132-4/+8
|
* 4217 - build alternative: stop at any stageKartik K. Agaram2018-03-131-0/+182
| | | | This gives us the equivalent of make targets.
* 4216 - include simpler alternative to build scriptKartik K. Agaram2018-03-125-11/+72
|
* 4215Kartik K. Agaram2018-03-081-3/+3
|
* 4214Kartik K. Agaram2018-02-212-2/+3
|
* 4213Kartik K. Agaram2018-02-201-0/+3
|
* 4212Kartik K. Agaram2018-02-201-1/+1
|
* 4211Kartik K. Agaram2018-02-2011-0/+12
| | | | | | | | Just ran into first issue from using the portable /bin/sh rather than a modern shell: https://stackoverflow.com/questions/15744421/read-command-doesnt-wait-for-input Turn on errexit everywhere.
* 4210 - a better errorKartik K. Agaram2018-02-202-7/+32
| | | | Thanks Ella Couch.