summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* merge trunkdkf2013-01-116-24/+34
|\
| * Name functions according to 'what' instead of 'how' in the [tailcall]mig2013-01-116-24/+34
| | | | | | machinery, in view of making public some parts of it.
* | First attempt at fixing problems caused by [array set] inside [namespace eval],dkf2013-01-112-6/+29
|/ | | | | which caused partial bytecode generation followed by a reject which triggered the issuing of generic ensemble code with an extra push of the variable name at the start (which got the stack depth wrong).
* tailcall now running in a simpler model, with no eval-flags and no nre-stack ↵mig2013-01-107-127/+87
| | | | rewriting; yieldto also requires one fewer bounce. Mostly from mig-nre-mods
* fix off-by-one error introduced in bd7d7a2061mig2013-01-101-1/+1
|
* Restrict the stub library to only use Tcl_PkgRequireEx, Tcl_ResetResult and ↵jan.nijtmans2013-01-072-65/+39
| | | | | Tcl_AppendResult, not any other function. This puts least restrictions on eventual Tcl 9 stubs re-organization, and it works on the widest range of Tcl versions.
* improved stack checking under TCL_COMPILE_DEBUGmig2013-01-051-10/+9
|
* fix the new assertion, it should not trigger when an expansion is in progressmig2013-01-051-2/+5
|
* Add an assertion that checks the stack depth under TCL_COMPILE_DEBUG ↵mig2013-01-051-2/+10
| | | | *before* stack cleanup. It currently triggers at several spots in the testsuite!
* Fix memory leak in [format] compiler.dkf2013-01-041-1/+1
|
* Fix bad memory access problems found by Miguel Sofer when valgrinding.dkf2013-01-042-5/+10
|
* Improve code generation for many simple core ensemble subcommands.dkf2013-01-0412-156/+532
|\
| * Add super-simple compiler to many ensemble subcommands to allow better codedkf2013-01-0412-156/+532
| | | | | | | | | | generation where we can detect that we're not in the WrongNumArgs case. The compiler just checks that the argument count is in the right range and issues a standard dispatch; that's enough to do an efficient job.
* | Insure that PURIFY builds cannot exploit the Tcl stack to hide mem defects.mig2013-01-042-1/+14
| |
* | speling ficksdgp2013-01-031-2/+2
|\ \ | |/ |/|
| * speling ficksdgp2013-01-031-2/+2
| |
* | Added mechanism for pre-parsing built-in ensembles even when they are not goingdkf2013-01-035-61/+310
|\ \ | | | | | | to generate specific code. This provides a good speedup in some cases.
| * | Got the test suite passing cleanly. Excellent.dkf2013-01-031-35/+60
| | |
| * | merge trunkdkf2013-01-022-5/+13
| |\ \
| * | | All tests pass except one; not sure what's wrong there.dkf2013-01-022-59/+103
| | | |
| * | | Passing more tests.dkf2013-01-023-51/+94
| | | |
| * | | Working towards more efficient treatment of non-bytecoded ensemble subcommands.dkf2012-12-314-6/+141
| | | |
* | | | test case for bug-3598580: Tcl_ListObjReplace may release deleted elements ↵jan.nijtmans2013-01-031-0/+11
|\ \ \ \ | | |_|/ | |/| | | | | | too early
| * | | test case for bug-3598580: Tcl_ListObjReplace may release deleted elements ↵jan.nijtmans2013-01-031-0/+11
| |\ \ \ | | | | | | | | | | | | | | | too early
| | * | | test case for bug-3598580: Tcl_ListObjReplace may release deleted elements ↵jan.nijtmans2013-01-031-0/+11
| | | | | | | | | | | | | | | | | | | | too early
| * | | | remove stray calls to Tcl_Alloc and friends: the core should only use ↵mig2013-01-022-6/+6
| | | | | | | | | | | | | | | | | | | | ckalloc to allow MEM_DEBUG to work properly
* | | | | remove stray calls to Tcl_Alloc and friends: the core should only use ↵mig2013-01-025-11/+11
| |_|_|/ |/| | | | | | | | | | | ckalloc to allow MEM_DEBUG to work properly
* | | | test Tcl_GetErrorLine() forwards/backwards compatibility in pkgb.so as well. jan.nijtmans2013-01-021-1/+0
|\ \ \ \ | |/ / / | | | | Don't free ctrl.script if thread creation fails: it is a constant string "testthread wait" normally.
| * | | test Tcl_GetErrorLine() forwards/backwards compatibility in pkgb.so as well. jan.nijtmans2013-01-021-9/+8
| |\ \ \ | | |/ / | | | | | | | | Marked some string subcommands as obsolete, following discussion on tcl-core. Don't free ctrl.script if thread creation fails: it is a constant string "testthread wait" normally.
| | * | Don't free ctrl.script if thread creation fails: it is a constant string ↵jan.nijtmans2013-01-021-1/+0
| | | | | | | | | | | | | | | | "testthread wait" normally.
* | | | restore refcounts as they were before the Tcl_ListObjReplace call, in the ↵jan.nijtmans2012-12-291-0/+8
|\ \ \ \ | |/ / / | | | | | | | | | | | | error situation. In Tcl9, make this a true Tcl_DecrRefCount, which properly cleans objects with refCount 0
| * | | restore refcounts as they were before the Tcl_ListObjReplace call, in the ↵jan.nijtmans2012-12-291-0/+8
| |\ \ \ | | | | | | | | | | | | | | | | | | | | error situation. In Tcl9, make this a true Tcl_DecrRefCount, which properly cleans objects with refCount 0
| | * | | For Tcl9, do a real Tcl_DecrRefCountbug_3598580jan.nijtmans2012-12-291-0/+4
| | | | |
| | * | | restore old refcounts in TCL_ERROR case.jan.nijtmans2012-12-271-0/+3
| |/ / /
* | | | [Bug 3598580]: Tcl_ListObjReplace may release deleted elements too earlyjan.nijtmans2012-12-271-4/+5
|\ \ \ \ | |/ / / | | | / | |_|/ |/| |
| * | [Bug 3598580]: Tcl_ListObjReplace may release deleted elements too earlyjan.nijtmans2012-12-271-4/+5
| |\ \ | | |/
| | * [Bug 3598580]: Tcl_ListObjReplace may release deleted elements too early jan.nijtmans2012-12-271-2/+4
| | | | | | | | | | | | | | | Tests!? Where are the tests!?! They are in test listobj-11.1
* | | Change back to using an isDigit function. We simply don't need to make any dkf2012-12-231-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | (formally non-portable) assumptions about what happens when an unsigned zero is decremented, and the code isn't in a performance-critical area. Remark by jan.nijtmans: The macro is perfectly portable! Not portable is the exact result of the substraction ('\xB0' - '0' might give 0x80 on some platforms and 0xffffff80 on others), but comparing <= 9 always gives the correct result. We are only checking for digits here! The macro correctly inlines with any compiler, so it's better anyway. Remark by dkf: But it's less clear. In this code, that's more important than a teeny bit of speed from inlining in a non-critical location.
* | | Stop leaking allocated space when objifying a zero-length DString. [Bug ↵ferrieux2012-12-221-8/+10
| | | | | | | | | | | | 3598150] spotted by afredd.
* | | Inline compat Tcl_GetDefaultEncodingDir. jan.nijtmans2012-12-211-24/+9
|\ \ \ | |/ / | | | Eliminate unnecessary static HasStubSupport() and isDigit() functions, just do the same inline.
| * | Make pkgb.so loadable in Tcl 8.4 as well. jan.nijtmans2012-12-211-24/+9
| |\ \ | | |/ | | | Eliminate unnessarcy static HasStubSupport() and isDigit() functions, just do the same inline.
| | * Turn pkgb.so into a Tcl9 interoperability test library: Whatever Tcl9 looks ↵jan.nijtmans2012-12-211-24/+9
| | | | | | | | | | | | | | | like, loading pkgb.so in Tcl 9 should either result in an error-message, either succeed, but never crash. Eliminate unnessarcy static HasStubSupport() and isDigit() functions, just do the same inline.
* | | merge releasedgp2012-12-212-4/+4
|\ \ \
| * \ \ merge trunk, update changes and re-tagcore_8_6_0core_8_6_0_rcdgp2012-12-143-22/+12
| |\ \ \
| * \ \ \ merge trunkdgp2012-12-102-17/+9
| |\ \ \ \
| * \ \ \ \ merge trunkdgp2012-12-075-27/+47
| |\ \ \ \ \
| * \ \ \ \ \ merge trunkdgp2012-12-045-37/+39
| |\ \ \ \ \ \
| * \ \ \ \ \ \ merge trunkdgp2012-11-223-34/+69
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ merge trunkdgp2012-11-192-39/+49
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ merge trunkdgp2012-11-168-10/+10
| |\ \ \ \ \ \ \ \ \