Home

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

260 check-ins using file codegen/macros.tcl version 2cb87201c8

2017-11-20
20:59
A bit more tweaking of the build binding. check-in: cb728da6cb user: dkf tags: proper-local-arrays
2017-11-19
08:32
More of the binding layer check-in: 46c8a233a4 user: dkf tags: proper-local-arrays
2017-11-18
10:24
Starting to build out implementations. check-in: be43b4716d user: dkf tags: proper-local-arrays
2017-11-16
20:57
Code issuer is getting better. check-in: 44814b192d user: dkf tags: proper-local-arrays
16:12
Add PDF link for the diagram check-in: 952dfad077 user: kennykb tags: trunk
16:09
Splice the diagram into the middle end documentation check-in: f1c2e7b660 user: kennykb tags: trunk
15:55
Demote indentation levels for Fossil's markdown convention check-in: 4eb8af2e32 user: kennykb tags: trunk
15:46
add some documentation about how the compiler 'middle end' is structured. check-in: fb3629ef11 user: kennykb tags: trunk
2017-11-15
06:22
Remove change made while bug hunting. check-in: c311ac4ce8 user: dkf tags: minor change, proper-local-arrays
06:05
Fix the quadcode generation. check-in: d9a9a83d82 user: dkf tags: proper-local-arrays
2017-11-14
06:34
Add in array/scalar type assertion ops. check-in: 0efba9c4ed user: dkf tags: proper-local-arrays
2017-11-12
22:21
Remove 'fqcmd' from transformer.tcl - it's now in a file by itself. check-in: 6b393d4030 user: kbk tags: trunk
21:17
Remove obsolete 'commandList' variable from the specializer and use the database of registered procs instead. check-in: 38bcf4dba8 user: kbk tags: trunk
14:51
Correct type assertions about new quadcodes. check-in: 49b52b0de1 user: dkf tags: proper-local-arrays
13:34
Starting to work on doing local arrays properly. check-in: 875075e86c user: dkf tags: proper-local-arrays
2017-11-11
22:47
Implementation of argument {*}-expansion check-in: 12553204c4 user: kbk tags: trunk
22:43
Analyze callframe effects of calls with expanded args Closed-Leaf check-in: fe8fabf48d user: kbk tags: expand
19:46
merge trunk check-in: 48a782e823 user: kbk tags: expand
19:27
More implementation of direct array operations check-in: 0ee0cc8fde user: kbk tags: trunk
19:03
Add the remaining extended direct array operations. check-in: eacad361c3 user: dkf tags: trunk
19:01
Marked more quadcode instructions as having possible 'interesting' side effects. Closed-Leaf check-in: 108032e564 user: dkf tags: extended-direct-array-ops
18:57
Working towards doing the extended direct array operations. These work... but spit out (wrong) warnings for now. check-in: d58fd0b0f7 user: dkf tags: extended-direct-array-ops
15:45
merge trunk check-in: 2174198e74 user: kbk tags: expand
10:18
Support direct global/FQ arrays, especially tcl_platform and env. check-in: 17b11d4fd2 user: dkf tags: trunk
10:17
Fix various bugs in the direct array access code. Closed-Leaf check-in: ecfc03f396 user: dkf tags: direct-array
2017-11-10
11:16
Adding some test cases. check-in: c5fc20c192 user: dkf tags: direct-array
09:28
Don't need so many implementation functions. check-in: 5c933f0f1b user: dkf tags: direct-array
06:26
Back-end implementations of new quadcodes. check-in: 2acbb07d91 user: dkf tags: direct-array
01:24
Surface compilation of new quadcodes. check-in: 9677287cb5 user: dkf tags: direct-array
01:10
Add (trivial) types of new quadcodes. check-in: 40b978f0a6 user: dkf tags: direct-array
01:02
Working towards direct accesses to global/FQ arrays. check-in: 0de1159513 user: dkf tags: direct-array
2017-11-09
05:11
Implement 'invokeExpanded' translation to 'invoke' for compiled procedures, to edtract partial type information from initial nonexpanded arguments check-in: daa8f2856d user: kbk tags: expand
2017-11-08
12:42
Can do code issuing for [return -level 0] efficiently, but it ought to be done at the quadcode level so there is still a warning. check-in: 26950e6836 user: dkf tags: trunk
11:23
Pass callframe context into invoke. Handle non-ERROR FAIL return cases. check-in: 42f2bc6729 user: dkf tags: trunk
2017-11-06
03:30
Refactor varargs in preparation for supporting 'invokeExpanded' rewriting check-in: 446a714717 user: kbk tags: expand
02:12
Resolve inadvertent fork check-in: 538b725bf9 user: kbk tags: expand
02:11
Fix typo in upvar analysis that caused vars read/written by builtins not to be recorded. (How'd we ever get away with this?) check-in: 6d86ceba2d user: kbk tags: expand
01:31
merge trunk check-in: 3c69510f33 user: dkf tags: expand
01:28
Corrected dispatch into procs with args from standard Tcl. check-in: 74f8168ef4 user: dkf tags: trunk
00:48
Allow specializer to request frame effect from procs reached by 'invokeExpanded' as well as plain 'invoke' check-in: 26b6b4fe8f user: kbk tags: expand
00:46
Refactor fqcmd micropass into its own file, don't clutter transformer.tcl with it. check-in: 980aeeb149 user: kbk tags: expand
00:40
Make sure that 'invokeExpanded' command name is fully qualified for analysis check-in: 3e33c04e46 user: kbk tags: expand
00:37
Make sure invokeExpanded doesn't get killed until we have proper killability analysis check-in: 052e68b85f user: kbk tags: expand
00:35
Add 'invokeExpanded' to the calculation of commands called by a given proc, and correct that calculation, which will give more nearly correct precedence information in specializer (and hopefully give less chaotic compilation) check-in: 05cea5aace user: kbk tags: expand
2017-11-05
07:32
Expansion is working. Special 'args' argument handling is buggy. check-in: ccfcaf6b2c user: dkf tags: expand
07:19
Implementation of expansion. Compiles, but not fully tested yet. check-in: 6421de686c user: dkf tags: expand
2017-11-04
22:54
Add test for 'expandDrop' - which comes out unreachable because we don't handle 'return -code' fully. check-in: 8d9b89e5b5 user: kbk tags: expand
22:27
Fix an apparent type error in tcl.list.length and tcl.dict.size. Resolve a merge problem in the translation of 'expandStkTop' and 'invokeExpanded'. check-in: 12a98660ce user: kbk tags: expand
22:16
merge trunk check-in: f501783689 user: kbk tags: notworking, expand
21:56
Refactor the 'bytecode' procs to be methods of quadcode::transformer. check-in: b722b11937 user: kbk tags: trunk
21:54
Debug translate.tcl - all perf tests pass again. Closed-Leaf check-in: 92576f2208 user: kbk tags: translate-reform
21:36
Reform the bytecode procs to be methods of quadcode::transformer check-in: d27a12520c user: kbk tags: notworking, translate-reform
2017-11-03
05:34
List verification needs to happen at the right places. check-in: 5df759df66 user: dkf tags: expand
2017-11-02
13:54
A lot of the machinery for issuing expansions. Work in progress. check-in: 2528a1de31 user: dkf tags: expand
04:32
Initial stack effect analysis, quadcode translation, and (stupid) type analysis for argument expansion. Next steps have to be callframe, upvar and better type analysis. check-in: d236e0a96d user: kbk tags: expand
02:12
Open a branch for implementation of argument expansion check-in: 3d5e2542a8 user: kbk tags: expand
2017-11-01
20:18
Direct multi-value lappend support. check-in: 19376fbda7 user: dkf tags: trunk
10:52
Hide generated functions. Stop problems with ENTIER in codegen; INT is 64-bit. check-in: 97f690371a user: dkf tags: trunk
2017-10-31
15:36
Implementation of [info level]. check-in: a8a6795c88 user: dkf tags: trunk
15:36
Added documentation. Closed-Leaf check-in: bcbfa13992 user: dkf tags: minor change, info-level
14:43
Support no-argument [info level] as well. check-in: d74cb2ac95 user: dkf tags: info-level
11:20
Fix a reference count management issue. check-in: 1741e5a351 user: dkf tags: info-level
2017-10-30
18:22
Added metadata for docker check-in: 723181c542 user: rkeene tags: trunk
17:49
Added basic docker build script based on Debian check-in: 9fe909a82e user: rkeene tags: trunk
10:49
merge trunk check-in: 4e9f76923d user: dkf tags: info-level
10:48
Working on supporting the [info level ] command check-in: a52d5f5d49 user: dkf tags: info-level
2017-10-29
22:37
Crash less often on compilation errors; add more builtins that were inexplicably omitted check-in: ecace623dd user: kbk tags: trunk
20:53
Remove obsolete test harness 'quadcode.tcl' check-in: fbbb8ec66f user: kbk tags: trunk
20:44
Resolve inadvertent fork check-in: 36f90f343b user: kbk tags: trunk
20:41
Centralize optimization-time error reporting in the specializer. Don't quit on noncompilable procedures. Don't compile procedures that depend on noncompilable procedures. check-in: 9ba8e97bd8 user: kbk tags: trunk
20:38
Don't try to invoke non-compiled commands from compiled code. Don't crash on compilation failures, just leave the script intrpreted. Closed-Leaf check-in: 92722395e8 user: kbk tags: kbk-better-errors
18:52
Implement consolidated message reporting in the specializer. Still need to eliminate failed procs and use the reporting more widely. check-in: 4bcbb29876 user: kbk tags: kbk-better-errors
15:08
Add missing operations. Found when compiling tcllib unicode package. check-in: 1490cca296 user: dkf tags: trunk
12:46
Moving some more files check-in: 50681a6e38 user: dkf tags: trunk
12:41
Added code for compiling by packages, as demonstrated at the 2017 Tcl Conference. Also moves code around for greater sensibleness. check-in: d987746ef4 user: dkf tags: trunk
12:36
Moving around files to be in more standard locations and with better names Closed-Leaf check-in: 50136db770 user: dkf tags: package-compiler
12:35
Set things up more properly as tests Closed-Leaf check-in: 898da806cc user: dkf tags: dkf-code-rearrange
11:38
Move another file to a more sensible location. check-in: f5e1334f6b user: dkf tags: dkf-code-rearrange
11:30
Fixing some tests check-in: e04abcd066 user: dkf tags: dkf-code-rearrange
2017-10-28
18:38
Make sensible error messages in 'translate.tcl' check-in: 349d4d5929 user: kbk tags: kbk-better-errors
17:57
Open a branch for developing better error reporting. check-in: 881b8eac0d user: kbk tags: kbk-better-errors
17:55
merge mark Leaf check-in: 1ee0f078b5 user: kbk tags: bug-458fe332a9
17:54
First tranche of bugs reported in [458fe332a9] - existsArray, unsetArray, [namespace current], mistakenly trying to store FAIL in a variable. check-in: 9e170f90ec user: kbk tags: trunk
14:46
More moving things around check-in: ff986790e3 user: dkf tags: dkf-code-rearrange
14:35
Moving the package compiler demo check-in: 59f50f8dc0 user: dkf tags: dkf-code-rearrange
14:22
Fixing some paths and namespaces check-in: f6999d72b5 user: dkf tags: minor change, dkf-code-rearrange
13:47
Adjust name and title. check-in: ebfa830730 user: dkf tags: dkf-code-rearrange
13:44
Rearranging the code. check-in: 6ec06b1cea user: dkf tags: dkf-code-rearrange
12:03
merge trunk check-in: 6080694c3a user: dkf tags: package-compiler
2017-10-25
06:59
Convert the weird global USE_TCL_STUBS into a proper configurable. check-in: 1a763ecebc user: dkf tags: package-compiler
2017-10-23
03:05
Implement (partially) 'unsetArray' check-in: 3d0f183697 user: kbk tags: bug-458fe332a9
02:42
(1) Implement 'info exists array(element), previously overlooked. (2) Correct logic so that moveToCallFrame is not inserted for FAIL items. They will get moved to the callframe on a subsequent 'extractMaybe'. check-in: 6acb7f2965 user: kbk tags: bug-458fe332a9
01:14
Improve test cases in 'nstest' - no improvement to whethery they actually work, alas. check-in: e3053e040c user: kbk tags: bug-458fe332a9
00:48
Implement [namespace current] check-in: 4efeee57e5 user: kbk tags: bug-458fe332a9
00:28
Start work on bug [458fe332a9] check-in: d4ee94de67 user: kbk tags: bug-458fe332a9
00:07
More constant folding - merge 'constfold' branch changes check-in: b5c2dea020 user: kbk tags: trunk
2017-10-22
23:48
Make the package compiler Work On My Machine. This messy machine dependency probably belongs in llvmtcl, not quadcode, and should be autoconf'ed. check-in: a14a39d933 user: kbk tags: package-compiler
00:28
Better code for determining where system binaries are installed. check-in: a3f19f9060 user: dkf tags: package-compiler
2017-10-21
12:31
Tweakery in the demo showed at Tcl 2017. check-in: 9f3aba25fe user: dkf tags: minor change, package-compiler
2017-10-20
19:07
Host triple determination is now under Tcl control and we have a sensible default. check-in: e5a0287829 user: dkf tags: package-compiler
18:53
Repair strrange with end- constant folded. Closed-Leaf check-in: 67d3da2d01 user: kennykb tags: constfold
2017-10-19
21:43
Add additional opportunities for constant folding - exposes bug in code gen for 'strrange' check-in: 31cf0d0e30 user: kennykb tags: notworking, constfold
19:48
Initial (very rough) framework for constant folding. check-in: 5e41d1acbb user: kennykb tags: trunk
19:32
More cases for constant folding. check-in: d7c1d5c126 user: kennykb tags: constfold
16:18
merge trunk check-in: 84707cc00b user: kennykb tags: constfold
11:42
merge trunk check-in: 09b391365c user: dkf tags: package-compiler
11:41
Shore up the package construction. check-in: fe14f5fccb user: dkf tags: package-compiler
11:27
Added test case for a (currently) uncompileable package. Clean up some errors. check-in: 239195f2e2 user: dkf tags: package-compiler
2017-10-18
20:53
Fix tcl.write.var.ptr.numeric to allow a variable that does not yet exist. Enable the 'listIndex' constant folding, which crashed in upvartest0::init without the fix. check-in: f6e107fc47 user: kennykb tags: constfold
2017-10-17
23:54
Do the object file generation directly, and try to fix the linking to be more useful when working with non-stubbed code. check-in: 1aafd67d2f user: dkf tags: package-compiler
2017-10-16
23:00
Tidy slides for conference check-in: e4e63af603 user: kennykb tags: trunk
22:15
Add Tcl2017 conference materials check-in: 974ec096f4 user: kbk tags: trunk
21:16
Make a working (on my machine) demo of compiling a package. check-in: ca247f6b41 user: dkf tags: package-compiler
20:45
Use llc for converting bitcode to object code. check-in: 295551afde user: dkf tags: package-compiler
04:38
Fix bugs in calculating effect of 'invoke' on named variables check-in: 32a749c1fe user: kbk tags: constfold
03:03
Start on constant folding. Need to figure out the source of segfaults on the cases marked 'XXX'. check-in: 4c625c21aa user: kbk tags: constfold
2017-10-14
11:49
Fix silly mistakes in the code to compile to a DLL check-in: 9793ce721b user: dkf tags: package-compiler
11:29
Merge trunk check-in: 129c63dbe1 user: dkf tags: package-compiler
2017-10-10
12:02
Mark more parameters in the Tcl API as OUT. check-in: a84ef0b8e1 user: dkf tags: trunk
2017-10-09
10:40
Allow the empty string to be used for NULL in more function calls. check-in: 273c85cd9c user: dkf tags: trunk
2017-09-30
17:10
Experimental package-oriented compiler. check-in: 113af7c111 user: dkf tags: package-compiler
11:25
merge trunk Leaf check-in: 040132931b user: dkf tags: dkf-optimization-experiment
2017-09-24
06:59
Fast-path code can share some bits. check-in: 98fffb2a69 user: dkf tags: trunk
2017-09-23
11:33
A more efficient way to store numeric values in a Tcl_Var. check-in: e550f13c8c user: dkf tags: trunk
2017-09-22
07:18
Ensure that all discovered local variables get an LVT entry. check-in: c85b37c213 user: dkf tags: trunk
2017-09-19
02:12
Correct oversight: direct variable access must adjust 'readsGlobal', 'writesGlobal' and the 'pure' and 'killable' flags. check-in: 114a1a01b4 user: kbk tags: trunk
2017-09-17
23:10
Initial implementation: direct variable access check-in: 53eb49f304 user: kbk tags: trunk
23:08
Initial implementation of direct variable access. Closed-Leaf check-in: 3ade2b58f3 user: kbk tags: namespace-variables
22:14
Direct variable access: merge in dkf-direct-variables, make varframe.tcl not crash. Need code and test cases for spoliation of local may-alias vars when direct vars are updated. check-in: 1b5ad48130 user: kbk tags: namespace-variables
2017-09-16
14:03
merge trunk Leaf check-in: 63c5af8e72 user: dkf tags: errorline-fixing
2017-09-15
04:19
merge namespace-variables: fix bug that prevented optimization of 'moveToCallFrame' check-in: e1519285ca user: kbk tags: trunk
04:15
Fix bug that prevented optimization of 'moveToCallFrame' check-in: f019722399 user: kbk tags: namespace-variables
03:38
Merge namespace-variables: make sure that variables created with pass-by-name are listed in the initial callframe check-in: 2570e4a684 user: kbk tags: trunk
03:36
Make sure that variables that are created in pass-by-name have callframe slots in advance check-in: 46dd653d5e user: kbk tags: namespace-variables
03:12
Merge namespace-variables: more aggressive detection that a proc doesn't touch the callframe at all. check-in: 7a6695ff7e user: kbk tags: trunk
03:10
Add cleanup optimization, the lack of which was causing 'eliminateCallFrame' not to find a fair number of opportunities. check-in: caf952b7b6 user: kbk tags: namespace-variables
02:18
Make sure that 'errorCode' and 'errorInfo' are available when errors are caught. check-in: fbb0672c61 user: kbk tags: trunk
01:59
merge trunk check-in: edbdde5e70 user: kbk tags: namespace-variables
01:56
Make sure that errorCode and errorInfo are available after a caught errror check-in: edd073a183 user: kbk tags: namespace-variables
2017-09-14
12:33
merge trunk check-in: 6d79c2c2f1 user: dkf tags: errorline-fixing
12:33
Generate correct errorinfo traces on error. Has a negative performance impact. check-in: e03627d13b user: dkf tags: trunk
12:27
Added some information about the support pseudo-instructions that I use. check-in: cd53fc1345 user: dkf tags: errorline-fixing
10:48
Update documentation comments. check-in: 9902f56df4 user: dkf tags: errorline-fixing
01:47
Merge in a rudimentary implementation of [upvar], [namespace upvar], global check-in: 9bb4742561 user: kbk tags: trunk
01:44
Conservatively model frame effects of calling a proc that uses namespace variables. check-in: 3b6c5ae00b user: kbk tags: namespace-variables
2017-09-13
21:13
Fix the error line generation. Makes error handling quite a bit slower, but that's inevitable for perfection right now. check-in: 4d2c3566df user: dkf tags: errorline-fixing
02:46
Refactor the methods 'variablesUsedBy', 'variablesProducedBy', 'canEliminateCallFrame' into quadcode::transformer out of quadcode::specializer. check-in: e950773b33 user: kbk tags: namespace-variables
02:31
Remove code that was obviated by the last few refactorings check-in: 96e9b9f12f user: kbk tags: namespace-variables
02:25
Calculate frame effects of the three builtins that have to be parsed to determine them check-in: 0756376dee user: kbk tags: namespace-variables
01:57
Refactor varsUsedBy and varsProducedBy to use the frameEffect method rather than reaching into the data structures directly. check-in: c142f038a8 user: kbk tags: namespace-variables
01:44
Refactor the 'frameEffect' method to take the quadcode instruction that invokes the command check-in: 1756e035ff user: kbk tags: namespace-variables
01:39
Return to building builtins.tcl from builtins.{txt,tcl.in} check-in: 97987fdae2 user: kbk tags: namespace-variables
2017-09-12
02:07
Remove redundant tests of upvar; start adding tracking of whether procs manipulate globals; correct 'varsReadBy and 'varsWrittenBy' to return variable lists as documented. check-in: 4e884fd992 user: kbk tags: namespace-variables
2017-09-10
02:16
More debugging of support for procedure side effects. Performance now equals trunk, and upvattest::test2 and test4 now pass. check-in: 1e812f9282 user: kbk tags: namespace-variables
2017-09-09
20:29
Make demos work again:: (1) Fix typos in 'frame.release'. (2) Add missing 'addReference(FAIL DICTITER)'. (3) Don't analyze or generate code for procs with NOTHING args - they're always in unreachable code, or code that will be re-analyzed. (4) Remove console dribble. (5) Make sure that procs that use caller variables force the caller to have a callframe, and ones that write variables are not killable. check-in: ed5d20535c user: kbk tags: namespace-variables
14:52
Change specializer API to pass param types along with procedures when inquiring about callframe effects check-in: 8df6d12af0 user: kbk tags: namespace-variables
14:46
Fix bugs in upvar tests so that demos don't crash. check-in: f310c12a4b user: kbk tags: trunk
14:15
Development checkpoint - beginnings of code needed to calculate frame effects of procs on their callers. check-in: e01460f477 user: kbk tags: namespace-variables
2017-09-08
14:41
Getting better; now generate correct trace except for an error line number. check-in: f17a341138 user: dkf tags: errorline-fixing
2017-09-07
10:18
Getting better. Still not getting traces really right. check-in: ee3e63a7b1 user: dkf tags: errorline-fixing
2017-09-04
21:18
Improving the testing. Fix a crash case. check-in: 06912b9738 user: dkf tags: errorline-fixing
18:49
Development checkpoint - partial implementation of a better analysis of [upvar]. check-in: 35305bdca1 user: kbk tags: namespace-variables
2017-09-03
12:27
Seems to be generating the right error lines now. Looks like there's a bug in Tcl in this area too. check-in: 764f4d2608 user: dkf tags: errorline-fixing
11:26
merge trunk check-in: 8e8b56738a user: dkf tags: errorline-fixing
2017-08-29
00:18
Oops: remove console dribble. check-in: 8775c6ae91 user: kbk tags: namespace-variables
2017-08-27
20:51
Add quick-and-dirty approximation to [upvar]'s callframe effect, enough to get something working, but known to be incorrect in significant corner cases. check-in: 0e3ab8a2bd user: kbk tags: namespace-variables
18:51
Merge trunk: return to autogenerating builtins.tcl check-in: e797987631 user: kbk tags: namespace-variables
18:50
Return to auto-generating builtins.txt, to allow for evolution of the builtin dictionary check-in: f98b1a6985 user: kbk tags: trunk
2017-08-26
20:13
Merge trunk: do not emit spurious labels in tcl.*.var.ptr check-in: 241fb9fa72 user: kbk tags: namespace-variables
20:11
[dabd7e27c7]: Do not emit extraneous labels in tcl.{read,write,unset}.var.ptr. Also, correct type signature of Tcl_ObjectContextObject. check-in: 73ed5e7b93 user: kbk tags: trunk
15:22
Tinkering for clarity Leaf check-in: 364ac98f7c user: dkf tags: minor change, dkf-enhanced-output-diff
2017-08-21
23:56
Working towards fixing the errorline info. check-in: 10a6ce570f user: dkf tags: errorline-fixing
00:16
Better highlight of differences of outputs when before/after results vary check-in: 728a7a9fe0 user: dkf tags: dkf-enhanced-output-diff
00:14
Better result dictionary comparisons; exclude more irrelevant bits. check-in: ffaba6143f user: dkf tags: trunk
2017-08-17
23:05
Fix problems with incorrect return codes greater than 1. check-in: d0352a75a3 user: dkf tags: trunk
23:02
Fix memory corruption issue Closed-Leaf check-in: fb58adf162 user: dkf tags: minor change, returncode-bug
22:36
Made the handling of return codes follow standard rules for procedures much more correctly. check-in: 3f15f0ff00 user: dkf tags: returncode-bug
2017-08-06
10:32
Start of branch hunting problems with non-error [return] calls. check-in: 4401285e32 user: dkf tags: returncode-bug, broken
2017-07-29
15:20
Add documentation comments. Closed-Leaf check-in: 775cd5d9f1 user: dkf tags: minor change, dkf-direct-variables
14:46
Provide direct access to fully-qualified variables. Needs work to be safe for other types of qualification or unqualified. Also, Tcl's hiding away of [incr] guts is highly annoying. check-in: d294b80062 user: dkf tags: dkf-direct-variables
11:27
merge trunk check-in: 683bc2014e user: dkf tags: namespace-variables
11:27
Better use of API. Extend to support changes in int-api. check-in: 3c5bafd097 user: dkf tags: trunk
2017-07-23
21:17
Split things up a bit more internally to keep method size down. check-in: 76da08214e user: dkf tags: trunk, minor change
12:14
Move the variable and callframe implementations out to their own file. check-in: b2242736f9 user: dkf tags: trunk
11:55
merge trunk check-in: 039332be89 user: dkf tags: namespace-variables
11:54
Minor tweaks. check-in: 0915d690aa user: dkf tags: trunk
10:56
Changes from namspace-variables branch that are reasonably meaningful elsewhere. check-in: 3bfaafe6a7 user: dkf tags: trunk
06:38
Defining a few more non-null assumptions/assertions. check-in: 3849083e94 user: dkf tags: minor change, namespace-variables
05:42
Tame TclObjGetFrame more thoroughly. check-in: e64a80df2d user: dkf tags: namespace-variables
2017-07-22
11:14
Fix the empty-error problems. TclObjGetFrame has a strange result encoding. check-in: dccd96edb7 user: dkf tags: namespace-variables
2017-07-13
22:36
Commit temporary 'upvar0' test just to try to debug resolution check-in: 7308d80f26 user: kbk tags: namespace-variables
2017-07-08
20:40
Add simple tests (comented out) for upvar. Correct an issue where 'moveFromCallFrame' referenced a FAIL EMPTY CALLFRAME, rather than a CALLFRAME. check-in: e297479fb6 user: kbk tags: namespace-variables
16:09
merge trunk - new string hashing tests. check-in: 00f0d5601b user: kbk tags: namespace-variables
2017-07-07
12:52
Added tests for string hashing. Key test features: callframes, namespace variables, math, [scan %c] and [binary scan]. check-in: 57baf130c3 user: dkf tags: trunk
2017-07-04
21:05
Add some working notes on 'upvar' handling check-in: 6860ba5f08 user: kbk tags: namespace-variables
2017-07-03
10:14
Basic support for [global], [variable] and [namespace upvar] commands. check-in: d1dbb6df59 user: dkf tags: trunk
2017-07-02
23:06
Finished code issuer for upvar. Not yet generated by quadcode engine. check-in: 4ddcd68805 user: dkf tags: namespace-variables
16:11
Add descriptive comments for more builder methods. check-in: e32cbf5f43 user: dkf tags: namespace-variables
15:37
Need to follow variable links when reading or writing. check-in: 9cf6622f71 user: dkf tags: namespace-variables
2017-07-01
19:47
Add code to allow variable binding to fail check-in: f58eccaca7 user: kbk tags: namespace-variables
08:05
Variable binding implementation function done. Something not working. check-in: 2dd141efab user: dkf tags: namespace-variables
2017-06-28
23:01
Most of the error handling machinery on the implementation side. check-in: 4e68c6df02 user: dkf tags: namespace-variables
22:36
Define the variable lookup functions. check-in: a824df10bf user: dkf tags: namespace-variables
18:51
Basic type signatures of implementation functions. check-in: 3cb89fef73 user: dkf tags: namespace-variables
09:34
Machinery for code issue. Still needs implementations. (Can varname lookup fail?) check-in: d817e69c7a user: dkf tags: namespace-variables
08:45
Work around bug in older release of 8.6 check-in: c7a2aa057f user: dkf tags: namespace-variables
2017-06-27
23:49
Resolve inadvertent fork check-in: a82c0275b3 user: kbk tags: namespace-variables
22:33
OOPS: Forgot to add aliases.tcl. check-in: 5e6b1a7c87 user: kbk tags: namespace-variables
18:46
merge trunk check-in: 6968dde9a9 user: dkf tags: namespace-variables
18:46
Fix a spot that wasn't using the namespace path right. check-in: 2d672d3dca user: dkf tags: trunk
02:18
Add demos for 'namespace upvar' and make a bunch of niggling changes in support of namespace variable testing. check-in: 801e909810 user: kbk tags: namespace-variables
01:08
Merge trunk and correct 'infant mortality' typos in analysis of namespace variables (and other proc effects) Closed-Leaf check-in: de509d61a1 user: kbk tags: kbk-namespace-variables
00:51
Oops - correct misspelt -errorinfo check-in: 5d4e019513 user: kbk tags: trunk
00:45
Add the failed procedure to the backtrace from specializer operations check-in: ed477e79d4 user: kbk tags: trunk
2017-06-25
15:15
Defining a general 'write this module to a file' capability. Leaf check-in: aced25cd25 user: dkf tags: dkf-write-to-file
2017-06-24
15:29
merge trunk Leaf check-in: 981e7c27f2 user: dkf tags: tcl-api
15:28
Since we require llvmtcl 3.7, we can assume its set of commands. Leaf check-in: af458d10dc user: dkf tags: dkf-remove-unused-functions
15:26
merge trunk check-in: 1e4c76ade5 user: dkf tags: dkf-remove-unused-functions
15:25
merge trunk check-in: 229d383856 user: dkf tags: dkf-optimization-experiment
15:24
merge trunk Leaf check-in: c1a920e91c user: dkf tags: dkf-colored-output
15:23
merge trunk Leaf check-in: cca323cf88 user: dkf tags: dkf-callframe-debug
10:57
Implementation of synthetic Tcl callframes, allowing compiled code to call many more standard Tcl commands. check-in: 972e702bf1 user: dkf tags: trunk
10:54
An actual working argument synthesis scheme that doesn't overuse reference counting and doesn't misuse the C stack frame. Closed-Leaf check-in: adaedf59a8 user: dkf tags: callframe-impl
2017-06-23
23:16
Working towards completing the basic callframe support. check-in: e06a820668 user: dkf tags: callframe-impl
03:35
Code works again for procs that do not use nonlocal variables - ready to start debugging the ones that do. check-in: 9893a019b4 user: kbk tags: kbk-namespace-variables
03:04
Merge callframe-impl and start on some of the FIXME's. NOT WORKING check-in: 4d8021b2c3 user: kbk tags: kbk-namespace-variables, not-working
2017-06-12
00:58
Remove use/def of the callframe from 'invoke' instructions when the invoked code cannot access the caller's frame at all. check-in: b569ee9109 user: kbk tags: callframe-impl
2017-06-11
10:10
merge callframe-impl check-in: 46a0f7c302 user: dkf tags: dkf-callframe-debug
05:06
merge trunk check-in: 2e6d84f46a user: dkf tags: callframe-impl
2017-06-06
19:22
Generate local Tcl variables in a true on-stack LVT rather than in a ckalloc()ed hash table. check-in: e27adddd5f user: dkf tags: callframe-impl
19:16
Add comment about key feature of one procedure; it is *NOT* to be compiled. Closed-Leaf check-in: 3abcf6b767 user: dkf tags: dkf-improved-proc-metadata
19:14
Remove a bit of the debugging machinery that was unnecessary. check-in: 5f0d2b9a5b user: dkf tags: dkf-improved-proc-metadata
19:12
Force creation of debugging delegate for type in internal function signature. check-in: a4369d511d user: dkf tags: dkf-improved-proc-metadata
19:08
Strip some unnecessary code. check-in: 17f2b1e74a user: dkf tags: minor change, dkf-improved-proc-metadata
19:01
LocalCache structures are refcounted; remember to increment on use! check-in: 351c3f697a user: dkf tags: dkf-improved-proc-metadata
01:09
Rationalize the callframe-elimination code a little bit. check-in: 15b0db31bb user: kbk tags: callframe-impl
00:33
Eliminate callframe allocation/deallocation from procs that are known not to use the callframe at all. check-in: c7f3940a8f user: kbk tags: callframe-impl
2017-06-05
01:10
Update to the current callframe implementation check-in: ffb94761a7 user: kbk tags: kbk-namespace-variables, not working
01:08
Merge in the refactoring of callframe data motion. check-in: 352c2285f9 user: kbk tags: kbk-namespace-variables, not working
00:11
Begin merging incrementally up to current callframe implementation. check-in: f187bb549f user: kbk tags: kbk-namespace-variables, not working
2017-06-04
17:10
Working towards better metadata generation check-in: 34cc0dd981 user: dkf tags: not working, dkf-improved-proc-metadata
11:11
Tweaks that will report where there are problems once we clean up the callframe handling. check-in: da4845de02 user: dkf tags: dkf-callframe-debug
11:08
merge trunk check-in: 3258ec1305 user: dkf tags: callframe-impl
02:59
Correct specializer logging to silence it when it's not turned on check-in: 7a7195c5f5 user: kbk tags: callframe-impl
02:55
merge trunk: attempt at more disciplined node splitting check-in: f77f4de1f4 user: kbk tags: callframe-impl
2017-06-03
10:31
Corral the slowest compilation off in the name of getting a little speed during normal testing. check-in: dd976d6de3 user: dkf tags: minor change, callframe-impl
2017-06-02
20:06
Working towards not needing callframes in all cases. check-in: 1183b74b93 user: dkf tags: callframe-impl
2017-05-31
20:37
Work around for bug in slightly older Tcl 8.6. check-in: 5a1002d67a user: dkf tags: minor change, callframe-impl
2017-05-30
13:29
merge trunk check-in: 998eabdc54 user: dkf tags: callframe-impl
02:49
Merge in some significant optimizations to data motion to and from callframes. check-in: 43425a5758 user: kbk tags: callframe-impl
02:40
Refactor control of data motion to and from the callframe. All tests now pass with the exception of four changed error dictionaries. Closed-Leaf check-in: f7f046450c user: kbk tags: kbk-callframe-motion
2017-05-29
19:38
Merge fixes to code generation for unconditional failures. check-in: 0fdcff1361 user: kbk tags: kbk-callframe-motion
19:35
Repair infinite loop in compilation of 'mrtest', caused by promotion of FAIL to FAIL STRING in procedure return types. Added code to optimize 'jumpMaybe' when a FAIL reaches it, because the unreachable code starts having NOTHING types for values, which cannot be compiled. Added some instrumentation to the specializer. Closed-Leaf check-in: 7f968bed5e user: kbk tags: kbk-callframe-fixes
14:47
Instrumentation used to detect possible infinite loops in the specializer. Closed-Leaf check-in: 2e3f00cdc4 user: dkf tags: dkf-specializer-instrumentation
08:42
merge trunk check-in: 0797bc8f18 user: dkf tags: callframe-impl
02:06
Merge kbk-callframe-motion: repair 'varargs' to work with callframes. check-in: 053faeabbd user: kbk tags: kbk-namespace-variables
02:02
merge dkf-callframe-impl: repair 'varags' pass check-in: cd31f6b8c0 user: kbk tags: kbk-callframe-motion
01:57
Correct varargs to examime the 'invoke' quadcode taking into account the callframe args - and do a major drive-by refactoring. Now passes the 'cos' and 'xsum' tests. Fix for ticket [2fb4388b96]. check-in: 1facb9b83c user: kbk tags: callframe-impl
2017-05-27
17:11
Make the cos-related commands all compile again by applying critical fix for default handling. check-in: 1d6cb9af0a user: dkf tags: callframe-impl
16:40
merge trunk check-in: a5a49b87eb user: dkf tags: callframe-impl