Home

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

155 check-ins using file quadcode/builtins.txt version 3fd188f86c

2017-09-14
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
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
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
2017-05-22
04:18
Start working on support for 'variable', 'namespace upvar', 'global', and 'upvar #0'. Code is not working as yet. Next steps toward making it work are to rework the FIXME's in callframe.tcl, and eliminate 'callframeNop' once it's done its job. Then comes implementation of 'nsupvar', 'upvar', 'variable' quadcodes, and implementation of the 'loadStk' and friends in translate.tcl check-in: 7199a45325 user: kbk tags: kbk-namespace-variables, not working
2017-05-21
22:55
merge trunk: remove use of other passes from copyprop check-in: 60da56484d user: kbk tags: kbk-callframe-motion
22:54
merge trunk: remove use of other passes from copyprop check-in: 77e043898f user: kbk tags: callframe-impl
21:37
merge trunk - pick up Tcl API additions check-in: abd70c7494 user: kbk tags: kbk-callframe-motion
21:34
merge trunk - pick up new Tcl API defs check-in: 5bb434eda6 user: kbk tags: callframe-impl
2017-05-20
19:35
merge dkf-callframe-impl; fix for [e1f697c808] check-in: dce3d345c1 user: kbk tags: kbk-callframe-motion
19:33
merge trunk; fix for [e1f697c808] check-in: f05421f9df user: kbk tags: callframe-impl
19:16
merge code from dkf-callframe-impl, including the simplification of 'extractCallFrame'. Update 'cfProducer' to handle the additional dereference required to locate the operation that actually produced the frame. check-in: 4d2382ff32 user: kbk tags: kbk-callframe-motion
19:08
accept the changes from dkf-simplify-callframe check-in: 0fa06190a8 user: kbk tags: callframe-impl
13:39
merge dkf-callframe-impl check-in: 6126b0c7f6 user: dkf tags: kbk-callframe-motion
13:37
An alternate approach to CALLFRAME handling that untuples the CALLFRAME type as soon as possible. Closed-Leaf check-in: a44383f5f2 user: dkf tags: dkf-callframe-impl
08:18
merge trunk check-in: f2e7834438 user: dkf tags: dkf-callframe-impl
07:21
Redo the type widening so that it doesn't get so awful. check-in: 46abd31cc7 user: dkf tags: dkf-callframe-impl
2017-05-19
21:51
merge dkf-callframe-impl check-in: 3f580223cb user: kbk tags: kbk-callframe-motion
08:25
merge trunk check-in: 9218c64ce6 user: dkf tags: dkf-callframe-impl
2017-05-14
23:16
Add a nanopass to remove 'moveFromCallFrame' and 'moveToCallFrame' when it is known that (a) an invoked command doesn't use/modify the variable being moved, or (b) the value being moved to the callframe is already there. The code includes characterization of the effect of a great many of Tcl's builtin commands on the caller's variables. check-in: e016cb6dc3 user: kbk tags: kbk-callframe-motion
12:13
merge trunk check-in: 30bdc52a01 user: dkf tags: dkf-callframe-impl
2017-05-02
07:18
merge trunk check-in: 0ce9320ff8 user: dkf tags: dkf-callframe-impl
2017-04-22
12:37
merge trunk check-in: 29b9c473e9 user: dkf tags: dkf-callframe-impl
2017-04-15
20:03
Reinsert critical [source] calls lost in merge. check-in: 6064e6b5e8 user: dkf tags: dkf-callframe-impl
18:38
merge trunk check-in: df89ed8fb8 user: dkf tags: dkf-callframe-impl
2017-03-25
15:13
Adapt to changes to what instructions deal with CALLFRAMEs and add some more diagnostic warnings. check-in: c32e63b7cc user: dkf tags: dkf-callframe-impl
08:14
merge trunk check-in: 23ec9d57a9 user: dkf tags: dkf-callframe-impl
06:34
More work on type conversions. check-in: 4e1c23c371 user: dkf tags: dkf-callframe-impl
2017-03-22
08:44
Fix silly mistakes and change to arguments to 'return'. check-in: 6dbda5c9fe user: dkf tags: dkf-callframe-impl
06:25
Rewrite the injected printers to use Tcl's API usually, for better output. check-in: ac26b5fb55 user: dkf tags: not working, dkf-callframe-impl
2017-03-19
07:18
merge callframe branch; code is broken by this once again check-in: 021b966ed9 user: dkf tags: not working, dkf-callframe-impl
06:58
And getting the reference count handling right seems to make it work. check-in: 250e218e6a user: dkf tags: dkf-callframe-impl
2017-03-18
19:04
With a little help from that code, we've passed a test! More still to do... check-in: 15ed35ed76 user: dkf tags: not working, dkf-callframe-impl
17:36
Import interesting bits from dkf-global-read branch check-in: b32f55a148 user: dkf tags: dkf-callframe-impl
16:58
No longer crashes... check-in: 88d1d542ba user: dkf tags: not working, dkf-callframe-impl
2017-03-17
09:24
Threading the information more to where it belongs. check-in: 748311765b user: dkf tags: not working, dkf-callframe-impl
06:26
Starting to assemble the metadata during module initialisation. check-in: 06b1dc1092 user: dkf tags: not working, dkf-callframe-impl
2017-03-14
16:01
Merge trunk: peephole optimization of 'copy to variable from temp' Closed-Leaf check-in: 24c1c594d9 user: kbk tags: callframe
03:37
Merge trunk - change to fix small bug that made copy propagation violate Conventional SSA check-in: ce19fcbe9a user: kbk tags: callframe
01:34
Merge trunk: rename temps whose live ranges do not intersect, allowing for better copy propagation. check-in: 6ac5b3d569 user: kbk tags: callframe
2017-03-13
03:46
Merge trunk, to get code that has better source variable identification and control of live ranges. Fix a bug in 'widen' that crashed on 'return' if a return value needed to be widened. check-in: a63f47c0b2 user: kbk tags: callframe
2017-03-12
09:00
Use more of Tcl's machinery. Actually do the variable placement. check-in: 3abe56cd62 user: dkf tags: not working, dkf-callframe-impl
2017-03-11
10:26
Working towards frame creation. check-in: 53a1ec6206 user: dkf tags: not working, dkf-callframe-impl
08:34
Add debug decls. check-in: 8abd4c694a user: dkf tags: not working, dkf-callframe-impl
08:17
Push the frame handling code through another level of the code generator. check-in: b4f6d411fd user: dkf tags: not working, dkf-callframe-impl
2017-03-05
20:25
Fix things that recent changes broke. check-in: a7112f0b47 user: dkf tags: minor change, not working, dkf-callframe-impl
12:24
merge callframe branch check-in: 25977eee2c user: dkf tags: dkf-callframe-impl
04:41
support for [regsub] check-in: 825e74e8e3 user: kbk tags: callframe
04:03
Add partial support for [lsort] check-in: c5ce4dc2c0 user: kbk tags: callframe
2017-03-04
20:55
Add support for [dict keys] and [regexp]. Move the store-load peephole optimization out of 'narrow' into 'cleanupCallFrameMotion' because doing it early misses opportunities to kill 'moveFromCallFrame' instructions. check-in: bf8242a174 user: kbk tags: callframe