about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* 4269 - start validating alloc-ids on lookupKartik Agaram2018-06-243-5/+58
| | | | | | | | | | Seems incredible that this is all it took. Needs more testing. I also need to rethink how we organize our layers about addresses. Alloc-id stuff is scattered everywhere. The space for alloc-ids is perhaps unavoidably scattered. Just assume the layout from the start. But it seems bad that the scenario testing the lookup-time validation is in the 'abandon' layer when the code is in the 'lookup' layer.
* 4268 - add a simple validation of the alloc-idKartik Agaram2018-06-241-0/+9
| | | | Tautological for now since all alloc-ids are zero.
* 4267Kartik Agaram2018-06-241-4/+0
| | | | Drop a stray hunk that is obsoleted by 'deaddress'.
* 4266 - space for alloc-id in heap allocationsKartik Agaram2018-06-2436-648/+926
| | | | This has taken me almost 6 weeks :(
* 4265Kartik Agaram2018-06-1711-136/+136
| | | | Standardize use of type ingredients some more.
* 4264Kartik Agaram2018-06-1714-0/+0
| | | | Undo the relayout of 4259.
* 4263Kartik Agaram2018-06-173-41/+23
| | | | | Implement literal constants before type abbreviations, reducing some unnecessary tangling.
* 4262 - literal 'null'Kartik Agaram2018-06-1748-246/+268
|
* 4261 - start using literals for 'true' and 'false'Kartik Agaram2018-06-1748-368/+340
| | | | | | | | | They uncovered one bug: in edit/003-shortcuts.mu <scroll-down> was returning 0 for an address in one place where I thought it was returning 0 for a boolean. Now we've eliminated this bad interaction between tangling and punning literals.
* 4260 - make address coercions explicitKartik Agaram2018-06-167-21/+48
| | | | | 'deaddress' is a terrible name. Hopefully I'll come up with something better.
* 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
|