| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* generic/tclExecute.c: Tcl_EvalEx [Bug 2017946]
* generic/tclInt.h:
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tclCompile.h: that shares the implementation with
* generic/tclExecute.c: tailcall. Fixed a segfault in
* generic/tclInt.h: tailcalls. Tests added.
* generic/tclInterp.c:
* generic/tclNamesp.c:
* tests/unsupported.test:
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* generic/tclCmdAH.c:
* generic/tclInt.h:
* tests/NRE.test:
|
|
|
|
|
|
| |
unrefernced everywhere but in macosx/Tcl.xcodeproj/project.pbxproj: some
knowledgeable maintainer please remove tclNRE.h after making sure it
doesn't break the build on macosx
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h: stored in the ekeko at interp creation
* generic/tclNRE.h: to avoid hitting the TSD each time an
* generic/tclThreadAlloc.c: NRE callback is pushed or pulled; the
approach is suitably general to extend to evry other obj
allocation where an interp is know; this is left for some other
time, requires a lot of grunt work.
|
| |
|
|
|
|
| |
and CONST -> const (.c files and internal .h files)
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCompile.c: for #280 to fix the abysmal performance
* generic/tclCompile.h: for deep recursion, replaced the linear
* generic/tclExecute.c: search through the whole stack with
* generic/tclInt.h: another hashtable and simplified the data
structure used by the compiler (array instead of hashtable).
Incidentially this also fixes the memory leak reported via [Bug
2024937].
|
|
|
|
|
| |
* generic/tclExecute.c: let GetCommandSource use it. This solves
* generic/tclInt.h: [Bug 2017146]. Thx dgp for the analysis.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdAH.c: frame), added the ability to track the
* generic/tclCompCmds.c: absolute location of literal procedure
* generic/tclCompile.c: arguments, and making this information
* generic/tclCompile.h: available to uplevel, eval, and
* generic/tclInterp.c: siblings. This allows proper tracking of
* generic/tclInt.h: absolute location through custom (Tcl-coded)
* generic/tclNamesp.c: control structures based on uplevel, etc.
* generic/tclProc.c:
* tests/info.test:
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclBasic.c: [namespace import]; removed
* generic/tclDecls.h: Tcl_NRObjProc, replaced with
* generic/tclExecute.c: Tcl_NRCmdSwap (proposed public
* generic/tclInt.h: NRE API). This should fix
* generic/tclNRE.h: [Bug 582506].
* generic/tclNamesp.c:
* generic/tclStubInit.c:
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c: from the callbacks. Completely
* generic/tclInt.h: redone tailcall implementation
* generic/tclNRE.h: using the new feature.
* generic/tclProc.c:
* tests/NRE.test:
|
|
|
|
| |
were badly defined under mem debugging [Bug 2017240] (thx das)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclIOCmd.c: Integration of transform commands into 'chan' ensemble.
* generic/tclInt.h: Definitions of the transform commands.
* generic/tclIORTrans.c: Implementation of the reflection transforms.
* tests/chan.test: Tests updated for new sub-commands of 'chan'.
* tests/ioCmd.test: Tests updated for new sub-commands of 'chan'.
* tests/ioTrans.test: Whole new set of tests for the reflection transform.
* unix/Makefile.in: Integration of new files into build rules.
* win/Makefile.in: Integration of new files into build rules.
* win/makefile.vc: Integration of new files into build rules.
NOTE: The file 'tclIORTrans.c' has a lot of code in common with
the file 'tclIORChan.c', as that made it much easier to
develop the reference implementation as a separate
module. Now that the transforms have been committed the one
thing left to do is to go over both modules and see which of
the common parts we can factor out and share.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h: Change around some function names and
add some new per-platform declarations for thread-specific data
functions.
* generic/tclThread.c: Make use of of the new function names
that no longer have a Tclp prefix.
* generic/tclThreadStorage.c: Replace the core thread-specific data
(TSD) mechanism with an array offset solution that eliminates the
hash tables, and only uses one slot of native TSD.
Many thanks to Kevin B. Kenny for his help with this.
* unix/tclUnixThrd.c: Add platform-specific TSD functions for use
by tclThreadStorage.c.
* win/tclWinThrd.c: Add platform-specific TSD functions for use
by tclThreadStorage.c.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* generic/tclStubInit.c: export only module-scope pointers to
* generic/tclStubLib.c: the main stubs tables (for package
* tools/genStubs.tcl: initialization). [Patch 1938497]
* generic/tclBasic.c (Tcl_CreateInterp):
* generic/tclTomMathInterface.c (TclTommath_Init):
|
|
|
|
|
|
|
|
| |
* generic/tclNotify.c: module-scope hooks table instead of
* generic/tclStubInit.c: runtime stubs-table modification;
* macosx/tclMacOSXNotify.c: ensure all hookable notifier functions
* win/tclWinNotify.c: check for hooks; remove hook checks in
* unix/tclUnixNotfy.c: notifier API callers. [Patch 1938497]
|
|
|
|
|
|
|
|
|
| |
* unix/configure.in: Added code to the configurator to check for
a standard isnan() macro and use it if one
is found. This change avoids bugs where
the test of ((d) != (d)) is optimized away
by an overaggressive compiler. [Bug 1783544]
* unix/configure: autoconf-2.61
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCompCmds.c: simplify code that might need to grow
* generic/tclCompExpr.c: an array of Tcl_Tokens in the parsePtr
* generic/tclParse.c: field of a Tcl_Parse. Replaces the
TclExpandTokenArray() routine via replacing:
int needed = parsePtr->numTokens + growth;
while (needed > parsePtr->tokensAvailable) {
TclExpandTokenArray(parsePtr);
}
with:
TclGrowParseTokenArray(parsePtr, growth);
This revision merged over from dgp-refactor branch.
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c:
* generic/tclInt.h:
* generic/tclThreadAlloc.c: Fix alignment for memory returned by
TclStackAlloc; insure that all memory allocators align to 16-byte
boundaries on 64 bit platforms [Bug 1851832, 1851524]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclIntDecls.h: to tclInt.h from stubs.
* generic/tclStubInit.c: Add flags var to TclByteArrayMatch for
* generic/tclInt.h: future extensibility
* generic/tcl.h: define TCL_MATCH_EXACT doc for Tcl_StringCaseMatch.
* doc/StrMatch.3: It is compatible with existing usage.
* generic/tclExecute.c (INST_STR_MATCH): flag for TclByteArrayMatch
* generic/tclUtil.c (TclByteArrayMatch, TclStringMatchObj):
* generic/tclRegexp.c (Tcl_RegExpExecObj):
* generic/tclCmdMZ.c (StringMatchCmd): Use TclStringMatchObj
* tests/string.test (11.9.* 11.10.*): more tests
|
| |
|
| |
|
|
|
|
| |
TclMakeEnsemble to do most of the work.
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* unix/tclUnixInit.c:
* unix/tclUnixThrd.c: Fix stack checking via workaround for bug in
glibc's pthread_attr_get_np, patch from [Bug 1815573]. Many thanks
to Sergei Golovan (aka Teo) for detecting the bug and helping
diagnose and develop the fix.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
hash table used in dictionaries to additionally keep all entries in
the hash table in a linked list, which is only ever added to at the
end. This makes iteration over all entries in the dictionary in
key insertion order a trivial operation, and so cleans up a great deal
of complexity relating to dictionary representation and stability of
iteration order.
|
| |
|
|
|
|
|
| |
It is usually not enabled though; only worth it when a subcommand is actually
expected to undergo bytecode compilation.
|
| |
|
| |
|
|
|
|
|
|
| |
THIS PATCH WAS REVERTED: initial (mis)measurements overstated the
perfomance wins, which turn out to be tiny. Not worth the
complication.
|
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c: bit INTERP_RESULT_UNCLEAN: shortcut for
* generic/tclInt.h: Tcl_ResetResult for the "normal" case:
* generic/tclProc.c: TCL_OK, no return options, no errorCode
* generic/tclResult.c: nor errorInfo, return at normal level.
* generic/tclStubLib.c: [Patch 1830184]
* generic/tclUtil.c:
|
|
|
|
| |
objTypes.
|
|
|
|
| |
* generic/tclInt.h: int64_t overflow.
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* unix/tclUnixInit.c:
* win/tclWin32Dll.c: restore simpler behaviour for stack checking,
not adaptive to stack size changes after a thread is
launched. Consensus is that "nobody does that", and so it is not
worth the cost.
|