Timeline

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

44 descendants of 9e16d3b8d6d4272a

2020-01-13
03:57
Add elimination of LOAD-STORE redundancy - don't put into the callframe a value that we just got from there. This check may or may not be useful; the test suite exercises it but only on 'set x '. It does come up in other langauges. Leaf check-in: 933c8a03f0 user: kbk tags: kbk-refactor-callframe
2020-01-09
21:56
Handle 'invokeExpanded'. Restore the ability to remove references to the callframe when calling compiled functions or builtins that don't use it. check-in: b54d2746cb user: kbk tags: kbk-refactor-callframe
2020-01-08
03:12
Handle correctly the case where there is 'moveFromCallFrame' the same variable from the same callframe on two converging execution paths. check-in: c3e7daa5b9 user: kbk tags: kbk-refactor-callframe
2020-01-07
03:18
Fix incorrect analysis of avail vars at a merge point. All tests but poly1305 pass. Still mislinkage of call frames in direct operation tests. check-in: 7ab1ef546d user: kbk tags: kbk-refactor-callframe
2020-01-05
20:51
Calculate effect of 'invoke' on variable analysis. Not yet 100% correct - breaks six additional test cases. check-in: 0fdceaac26 user: kbk tags: notworking, kbk-refactor-callframe
05:51
Liveness analysis of variables in the callframe, enabling store-store and dead-store optimizations. Build is working only because poly1305::compute is commented out. check-in: e392a97b1a user: kbk tags: kbk-refactor-callframe
2020-01-04
00:17
Refine callframe effect of direct operations check-in: 6205ad764a user: kbk tags: kbk-refactor-callframe
00:07
Clean up console dribble check-in: 5b6b3c8348 user: kbk tags: kbk-refactor-callframe
00:00
Refine callframe effect of directGet and directSet, fix bugs in alias handling check-in: f87e575ff7 user: kbk tags: kbk-refactor-callframe
2020-01-03
23:22
Refine the callframe effect of 'variable' check-in: b0449c3905 user: kbk tags: kbk-refactor-callframe
23:19
refine callframe effect of 'nsupvar' and 'upvar' check-in: 3c1db65142 user: kbk tags: kbk-refactor-callframe
22:51
Restore the logic that, after a catch, requires any globals that are aliased in the callframe to be reloaded lest they alias errorInfo or errorCode. Also propagate that requirement out to callers of the proc containing the catch. check-in: 0acf314fef user: kbk tags: kbk-refactor-callframe
20:47
Update a few missing ops in quadcodes.txt check-in: fedf0433fc user: kbk tags: kbk-refactor-callframe
19:48
Patch out poly1305::compute for now - segfault! - and break out the 'vartest' tests. check-in: 13b2b5767e user: kbk tags: notworking, kbk-refactor-callframe
2020-01-02
21:12
Make the poly1305 routines explicit in the tester check-in: 7466722d0e user: kbk tags: kbk-refactor-callframe
20:48
Detect that 'invoke' preserves some callframe variables. Add buffer flushing so that the identity of a test is reported before a crash. Remove some redundant test invocations. check-in: 65069fda8f user: kbk tags: notworking, kbk-refactor-callframe, current
18:50
Add consistency check that callframes are linked correctly before generating speculative phi operations. check-in: b541601fb1 user: kbk tags: kbk-refactor-callframe
17:46
remove some dead code in callframe.tcl check-in: a04a2b1d01 user: kbk tags: kbk-refactor-callframe
17:24
Need to write back to the stack after duplication. check-in: 4d3d8fac22 user: dkf tags: kbk-refactor-callframe
2020-01-01
23:51
Don't abort all the performance tests because one test throws an error. Make the 'arrayExists' operation consistent with 'extractArray' and 'extractScalar' throughout (there were bad optimizations). Revert a misguided change to 'dict update' that was actually an attempt to work around the 'extractScalar' inconsistency. check-in: 5b6ac87fe8 user: kbk tags: kbk-refactor-callframe
2019-12-31
17:32
Separate exists and doesn't-exist paths in 'translate' of read-modify-write operations. Fix overeager elimination of 'extractArray'. Move 'partialredundancy' off to its own specializer step, since 'tidy' passes may NOT introduce new variables. Only 'lsetest' is now failing. check-in: 09d85d696a user: kbk tags: notworking, kbk-refactor-callframe
00:10
Finish up elision of 'moveFromCallFrame' in the simpler cases. check-in: bbb81cb21e user: kbk tags: notworking, kbk-refactor-callframe
2019-12-30
03:14
Provide a hook on which to hang speculative phi generation. check-in: f635c5689f user: kbk tags: notworking, kbk-refactor-callframe
01:50
Peephole optimization of 'moveFromCallFrame' when the value in the callframe is known. (Will be much more effective once more instructions are analyzed: notably 'invoke' and 'phi'.) check-in: 188df1dde4 user: kbk tags: notworking, kbk-refactor-callframe
2019-12-27
23:01
Add the basic framework for forward analysis of available callframe variables check-in: 85ea960b98 user: kbk tags: notworking, kbk-refactor-callframe
2019-12-01
20:32
Remove remnants of unused 'startCatch' and 'callFrameNop' instructions, and the pass that removes them (since they're never emitted, they're never removed). check-in: c2d0f14a30 user: kbk tags: kbk-refactor-callframe
20:21
Remove one false start at callframe analysis, and add some stubs for another attack on the problem. check-in: 5741a8ab06 user: kbk tags: kbk-refactor-callframe
2019-11-24
01:15
Modify varargs to not rewrite if the target procedure is not being compiled. This change restores poly1305 to compilability. check-in: e86f7b8518 user: kbk tags: kbk-refactor-callframe
2019-11-23
23:21
Merge trunk and return to mostly-working status. Two test cases commented away: magicreturn and poly1305. check-in: 824a7974cf user: kbk tags: kbk-refactor-callframe
23:02
merge trunk check-in: c3fc2d4137 user: kbk tags: notworking, kbk-refactor-callframe
2019-07-21
19:56
Fix a bunch of Markdown formatting issues in callframe motion implementation plan check-in: ab89bbf879 user: kbk tags: kbk-refactor-callframe
2019-06-08
22:21
Remove cfRedundancy' header - added prematurely before method structure actually designed. check-in: 74a853f4cd user: kbk tags: kbk-refactor-callframe
2019-03-26
20:45
Oops - didn't commit images for callframe.md! check-in: a19796b4e5 user: kbk tags: kbk-refactor-callframe
2019-02-25
04:41
More about code motion check-in: 2f51c8d73b user: kbk tags: kbk-refactor-callframe
2019-02-18
04:25
Write up first couple of tasks check-in: 643eefa7e6 user: kbk tags: kbk-refactor-callframe
2019-02-16
21:52
Fix some Markdown typos check-in: 9a45fec3f8 user: kbk tags: kbk-refactor-callframe
21:49
Fix some Markdown typos check-in: e1f3a19eb7 user: kbk tags: kbk-refactor-callframe
21:48
Fix some Markdown typos check-in: bdd91a03bf user: kbk tags: kbk-refactor-callframe
21:43
Fix some Markdown typos check-in: a0fc4f2102 user: kbk tags: kbk-refactor-callframe
21:40
Start writing discussion of callframe management check-in: 50af9aa069 user: kbk tags: kbk-refactor-callframe
2019-01-29
13:19
Fix misorderered scalar check/copy to result check-in: 36e8177510 user: kbk tags: notworking, kbk-refactor-callframe
02:00
Fix translation bugs that broke [dict] tests check-in: ab6da27502 user: kbk tags: notworking, kbk-refactor-callframe
2019-01-23
02:12
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. check-in: 27339e7e0c user: kbk tags: notworking, kbk-refactor-callframe
2019-01-22
02:52
Restore the 'timings' list - if 'transform' doesn't produce it, there's a crash. check-in: 3e49a05889 user: kbk tags: notworking, kbk-refactor-callframe
02:36
Run dead code elimination before copy propagation because copyprop explodes otherwise. check-in: 9e16d3b8d6 user: kbk tags: notworking, kbk-refactor-callframe