Home

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2019-03-26
20:45
[a19796b4e5] Leaf: Oops - didn't commit images for callframe.md! (user: kbk tags: kbk-refactor-callframe)
2019-02-25
04:41
[2f51c8d73b] More about code motion (user: kbk tags: kbk-refactor-callframe)
2019-02-18
04:25
[643eefa7e6] Write up first couple of tasks (user: kbk tags: kbk-refactor-callframe)
2019-02-16
21:52
[9a45fec3f8] Fix some Markdown typos (user: kbk tags: kbk-refactor-callframe)
21:49
[e1f3a19eb7] Fix some Markdown typos (user: kbk tags: kbk-refactor-callframe)
21:48
[bdd91a03bf] Fix some Markdown typos (user: kbk tags: kbk-refactor-callframe)
21:43
[a0fc4f2102] Fix some Markdown typos (user: kbk tags: kbk-refactor-callframe)
21:40
[50af9aa069] Start writing discussion of callframe management (user: kbk tags: kbk-refactor-callframe)
2019-02-02
18:14
[721be90d96] Leaf: Expansion... sort of (user: dkf tags: list-and-dict-types)
2019-01-29
13:19
[36e8177510] Fix misorderered scalar check/copy to result (user: kbk tags: notworking, kbk-refactor-callframe)
02:00
[ab6da27502] Fix translation bugs that broke [dict] tests (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-23
02:12
[27339e7e0c] Add conversion to IMPURE ZEROONE INT, needed in booltest. Keep code motion from messing with the callframe for now. Patch out the handful of remaining tests that abort. Next up: fix the dictest tests involving 'dict update', lsetest, and re-add support for direct ops. (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-22
02:52
[3e49a05889] Restore the 'timings' list - if 'transform' doesn't produce it, there's a crash. (user: kbk tags: notworking, kbk-refactor-callframe)
02:36
[9e16d3b8d6] Run dead code elimination before copy propagation because copyprop explodes otherwise. (user: kbk tags: notworking, kbk-refactor-callframe)
02:35
[4f7b3a4d01] Bug fixes to make all the 'expandtest' cases work (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-21
22:33
[89030dcc42] Enough partial implementation for expandtest::test1-test3 (user: kbk tags: notworking, kbk-refactor-callframe)
19:45
[407e1ef055] Fix mislinking of phi operations on the error branch of 'invoke' (user: kbk tags: notworking, kbk-refactor-callframe)
18:14
[5557b1e592] Enough changes to get through first two 'expandtest' tests (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-18
04:22
[305328fa6b] Add the final processing in 'varargs' - next, emit the error path. (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-16
02:30
[76b943ad4a] More argument preparation code in 'varargs' (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-14
03:46
[90e908dae3] Further development of varargs. Note that the invocation sequence is much, much simpler than it used to be, so 'invoke.tcl' is no more. (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-13
15:43
[f283d28ebd] Clean out dead 'exists.tcl' source (user: kbk tags: notworking, kbk-refactor-callframe)
15:38
[05c93c9cc5] Merge the (not-working) vararg reform branch. It appears that both these tasks need to be attacked at the same time because the changes are tightly interwoven. (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-09
01:52
[30d6a54fdb] Add support for compiled procs that alter the callframe, then fail. (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-08
04:17
[fba0ec7241] Fix more trivial errors in 'translate' and missing cases in code gen (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-05
22:48
[9dbaca7922] Generate only one moveFromCallFrame per bytecode instruction (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-02
16:22
[75fd3b203e] A little bit less wrong. (user: dkf tags: list-and-dict-types)
02:20
[cdc4d10e86] Oops, one extra callframe ref in 'callframe-error-quads' (user: kbk tags: notworking, kbk-refactor-callframe)
2019-01-01
23:06
[104debc734] Update quadcode generation and documentation so that 'direct' operations refer to the callframe (which is necessary in the event that they are emitted to deal with double-dereference). CODE ISSUER IS NOT YET UPDATED TO COPE WITH THE CHANGE. (user: kbk tags: notworking, kbk-refactor-callframe)
21:57
[dbd9571178] Move callframe moves to the actual points where callframe values are moved. They can then be optimized by avaiability and liveness analysis. (user: kbk tags: notworking, kbk-refactor-callframe)
2018-12-29
21:00
[ea7b788fb4] Keep dictionary iterations out of the callframe - they can never be addressed by upvar (user: kbk tags: kbk-refactor-callframe)
20:26
[7454a5228c] Open a branch for some experiments on refactoring callframe operations (user: kbk tags: kbk-refactor-callframe)
2018-12-27
19:47
[2e3b3ea76f] Closed-Leaf: Add 'buiilder.tcl' inadvertently omitted from previous commit (user: kbk tags: notworking, kbk-refactor-varargs)
19:44
[7c9d400e5e] Very rough beginning of a refactored 'varargs' pass (user: kbk tags: notworking, kbk-refactor-varargs)
04:12
[0718166269] Leaf: Eliminate the 'isBoolean' instruction in favour of using the type checking machinery (user: kbk tags: trunk)
04:09
[bd009801ca] Closed-Leaf: Eliminate the 'isBoolean' opcode in favour of 'instanceOf', to allow for type inferemce based on tryCvtToBoolean (user: kbk tags: kbk-isBoolean)
03:53
[2a34883328] Open a branch for rework of 'isBoolean' so that it informs type inference (user: kbk tags: kbk-isBoolean)
2018-12-18
15:12
[3bf74c48dc] OOPS: remove 'source' of unused file (user: kbk tags: trunk)
02:32
[7bd4d23ac9] Add a long-forgotten 'specializer.md' discussing what the specializer does. (user: kbk tags: trunk)
2018-12-17
23:19
[a934a75e1f] Integrate kbk-jumpthread: replace the node-by-node splitting with a single pass that identifies many threading opportunities and also reduces the number of splits. Eliminate the old nodesplit pass, and the renameTemps pass, which is no longer required. (user: kbk tags: trunk)
23:13
[94358b53ea] Closed-Leaf: result, returnCode, returnOptions must be split into FAIL and non-FAIL paths because the backend isn't prepared to deal with all combinations of FAIL + someOtherType. (user: kbk tags: kbk-jumpthread)
22:08
[a41b93130e] Finish jump threading - actually do the block duplication and redirection of jumps. Add the logic for SSA deconstruction (required by jump threading) and make SSA construction work with the deconstructed result. (user: kbk tags: notworking, kbk-jumpthread)
2018-12-16
05:18
[c388c8737b] Add constant folding for unary +. It probably ought to be folded out altogether, since it serves only to trigger type checking. Add an outline of the actual process of jump threading once the threads have been determined. (user: kbk tags: notworking, kbk-jumpthread)
04:55
[86167d6917] Add a 'cos2' test case to illustrate the cost of non-numeric ordering comparisons (user: kbk tags: notworking, kbk-jumpthread)
04:43
[dc90afa15d] Finish forward analysis in the jump threading pass. (user: kbk tags: notworking, kbk-jumpthread)
2018-12-10
04:51
[fd2ea3e6f1] Remove vestiges of the old node splitter from 'inline.tcl'. Make console dribble in 'jumpthread.tcl' contingent on debug-jumpthread. (user: kbk tags: notworking, kbk-jumpthread)
04:09
[67b989853b] OOPS! Didn't add the new 'jumpthread.tcl' module! Remove the old 'nodesplit.tcl', and remove the 'renameTemps' pass since 'nodesplit' was the only thing that ever depended on it. (user: kbk tags: notworking, kbk-jumpthread)
01:34
[f138663832] Calculation of anticipable tests for jump threading (user: kbk tags: notworking, kbk-jumpthread)
2018-12-09
21:52
[6bdc33061b] Start with the most basic framework for invoking the jump threading pass. (user: kbk tags: kbk-jumpthread)
20:55
[67902a50a2] Open a branch for experiments with more accurate and faster jump threading. (user: kbk tags: kbk-jumpthread)