Commit Graph

583 Commits

Author SHA1 Message Date
Nathan Braswell
c0209118e5 Small cleanup 2018-01-02 23:22:46 -05:00
Nathan Braswell
241764f1f4 Clean up 2017-12-27 16:49:08 -05:00
Nathan Braswell
d414459313 Fixed it 2017-12-27 16:10:36 -05:00
Nathan Braswell
7ddbecaf1d debugging 2017-11-13 22:39:14 -05:00
Nathan Braswell
cb720e5cd6 working on moving rest of obj stuff into obj_lower 2017-11-03 00:39:58 -04:00
Nathan Braswell
5b8ef4ce2e some cleanup 2017-10-29 17:53:30 -04:00
Nathan Braswell
0132ade7ed 10% or so speed up 2017-10-28 15:28:34 -04:00
Nathan Braswell
48b21c54ae Missed a change last time - also made all_types in function_value_lower a hash_set for a ~20 sec speedup 2017-10-23 09:50:18 -04:00
Nathan Braswell
13f1e9df89 More clean up; need to add return type checking pass so that can clean up c_generator more. 2017-10-23 01:08:25 -04:00
Nathan Braswell
6964df5ac8 Remove code_triple entirely! 2017-10-23 00:06:25 -04:00
Nathan Braswell
e70d31a51c Add in address_of_ensure_variable_lower.krak that makes sure & can always take a reference, even of a constant, etc, and start the cleanup of c_generator that this allows 2017-10-22 21:41:58 -04:00
Nathan Braswell
73faf50053 tiny cleanup 2017-09-02 09:12:25 -04:00
Nathan Braswell
00f29fe6a5 small clean up 2017-08-27 14:15:09 -04:00
Nathan Braswell
e4326233dc a bit more cleanup 2017-08-23 10:12:00 -04:00
Nathan Braswell
36d7581cb0 further simplify the function call function 2017-08-22 20:52:27 -04:00
Nathan Braswell
4921371afe Cleaned up generate_function_call. It's quite understandable now! 2017-08-18 10:05:12 -04:00
Nathan Braswell
61feff50a8 Update captain.sh to be able to build the new function_value_lower version 2017-08-16 01:23:17 -04:00
Nathan Braswell
9621ce85a6 Always error, remove some chaff 2017-08-15 19:53:17 -04:00
Nathan Braswell
0cf9beb057 Function value lower can self-host! 2017-08-15 01:55:44 -04:00
Nathan Braswell
bdb9e313b5 push forward. Current problem is double closed things 2017-06-21 02:12:00 -04:00
Nathan Braswell
18c53eb9be MOve it forwards a bit 2017-06-13 01:29:56 -04:00
Nathan Braswell
6f659ece49 Fix closing over raw function pointers 2017-06-13 00:40:29 -04:00
Nathan Braswell
bd83156c12 work in progress 2017-06-12 23:52:12 -04:00
Nathan Braswell
8166db37ac Closures working! (in the basic case, anyway) 2017-06-06 01:33:18 -04:00
Nathan Braswell
7a2a76e6da wip 2017-05-16 11:12:05 -04:00
Nathan Braswell
bfe65fd854 Now support parameters for lambdas 2017-05-15 21:25:40 -04:00
Nathan Braswell
265a994858 Can call non-closure no parameter lambdas 2017-04-17 21:15:14 -04:00
Nathan Braswell
524247d0d1 Work on creating the call function 2017-04-13 01:05:36 -04:00
Nathan Braswell
a0c040da36 more lowering 2017-04-08 16:10:57 -04:00
Nathan Braswell
9662197c21 comment out the as value part 2017-03-16 19:05:45 -04:00
Nathan Braswell
8a676a1b5b More work. Doesn't compile at this point 2017-02-23 01:24:22 -05:00
Nathan Braswell
cb8124afc0 baby steps 2017-02-17 01:22:27 -05:00
Nathan Braswell
425d75675e babier steps 2017-02-08 00:01:29 +00:00
Nathan Braswell
3fc0ea9bec baby steps 2017-02-04 01:29:22 -05:00
Nathan Braswell
1b0dce9ed1 Work on function value lower 2017-02-02 00:46:36 -05:00
Nathan Braswell
754ff41226 C_generator can call raw function pointers now 2017-01-28 00:09:13 -05:00
Nathan Braswell
dad0f780bb Groundwork for closure lowering, run raw function pointer type 2017-01-26 23:58:48 -05:00
Nathan Braswell
caba8b310f Small speed improvement int trim by using stack (and DFS) instead of queue (and BFS) for remove and collapse, finally fix the unknown escape '\*' error 2017-01-25 01:47:05 -05:00
Nathan Braswell
987e6eb9a5 Cleaning up to bring into main. Speed problem seems to have dissapeard, but we have fixes and the ^ operator in here 2017-01-24 22:11:33 -05:00
Nathan Braswell
f0a657e80f Fix invalid malloc on slice 2017-01-23 23:00:26 -05:00
Nathan Braswell
3a7f73b711 sigh 2017-01-23 01:09:31 -05:00
Nathan Braswell
beb50b8e25 3 sec laptop speed improvement in hash_map 2017-01-22 16:36:04 -05:00
Nathan Braswell
ebb34d5ba3 Replace visited list for pass_common with hash_set (which isn't complete, but has the basics) for a massive speedup (6xish) 2017-01-22 10:13:06 -05:00
Nathan Braswell
896e8a936c Merge branch 'ref_lower' 2017-01-21 22:50:59 -05:00
Nathan Braswell
d9814a278a It does work! Commented out ctce_pass test because it chokes on the new iteration styrategery 2017-01-21 22:50:29 -05:00
Nathan Braswell
5a6f498043 Working! 2017-01-21 22:01:47 -05:00
Nathan Braswell
21f957195a Fix dreferencing function_call refs. Now need to make sure new pass method works with defer_lower, which currently does very crazy defer double stack chains 2017-01-20 01:31:28 -05:00
Nathan Braswell
e2639989c9 ref_lower now generates C, though a ton of syntax errors 2017-01-20 01:11:06 -05:00
Nathan Braswell
2a53d5539d Modify captain.sh to use /usr/bin/env bash 2016-11-23 23:57:01 +00:00
Nathan Braswell
b0d2a6918d Regex rewrite for big speed gain, some extras (--no-c-compile), -O2 is default now 2016-08-02 01:33:16 -07:00