| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* generic/tclCompile.h: 'info frame' affects not only 8.6 but 8.5 as
* generic/tclExecute.h: well. Backported the fix done in 8.6, without
* tests/info.test: changes. New testcase info-39.1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TclArgumentBCRelease, TclArgumentGet):
* generic/tclCompile.c (EnterCmdWordIndex, TclCleanupByteCode,
TclInitCompileEnv, TclCompileScript):
* generic/tclCompile.h (ExtCmdLoc):
* generic/tclExecute.c (TclExecuteByteCode):
* generic/tclInt.h (ExtIndex, CFWordBC):
* tests/info.test (info-39.0):
Backport of some changes made to the Tcl head, to handle literal
sharing better. The code here is much simpler (trimmed down)
compared to the head as the 8.5 branch is not bytecode compiling
whole files, and doesn't compile eval'd code either.
Reworked the handling of literal command arguments in bytecode to
be saved (compiler) and used (execution) per command (See the
TCL_INVOKE_STK* instructions), and not per the whole bytecode.
This removes the problems with location data caused by literal
sharing in proc bodies. Simplified the associated datastructures
(ExtIndex is gone, as is the function EnterCmdWordIndex).
|
|
|
|
| |
(silence msvc6 warnings)
|
|
|
|
|
| |
a table of static constants in the lookup table for exponent operator
computations that fit in a 64 bit integer result.
|
|
|
|
| |
logic of the INST_EXPON instruction to fix [Bug 2798543].
|
|
|
|
| |
[string repeat]. [Bug 2582327]
|
|
|
|
| |
the max length of a Tcl value. [Bug 2669109]
|
| |
|
| |
|
|
|
|
|
|
| |
* tests/execute.test: stack trace when a compile epoch bump triggers
fallback to direct evaluation of commands in a compiled script.
[Bug 2037338]
|
|
|
|
|
| |
TclStackRealloc to panic on rare corner cases. Thx ajpasadyn for
diagnose and patch.
|
|
|
|
|
|
|
|
|
|
| |
* 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].
|
| |
|
| |
|
|
|
|
| |
alignment of memory allocated by GrowEvaluationStack(). [Bug 1914503]
|
| |
|
| |
|
|
|
|
|
|
| |
compiling so that bytecodes invalid due to changing context or due
to the difference between expressions and scripts are not reused.
[Bug 1899164].
|
|
|
|
|
|
|
|
|
|
| |
management of Tcl_SetReturnOptions to become that of a conventional
Consumer routine. Thanks to Peter Spjuth for pointing out the
difficulties calling Tcl_SetReturnOptions with non-0-count value for
options.
* generic/tclExecute.c (INST_RETURN_STK): Revised the one caller
within Tcl itself which passes a non-0-count value to
Tcl_SetReturnOptions().
|
| |
|
|
|
|
| |
in-place concatenation (was going over String type)
|
| |
|
|
|
|
|
|
| |
* generic/tclCompile.c: TclCompileExpr() to profit from better
* generic/tclCompile.h: literal management according to usage.
* generic/tclExecute.c:
|
|
|
|
| |
* generic/tclExecute.c: (dgp)
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
| |
* generic/tclCompCmds.c (TclCompileRegexpCmd): Pass correct RE
compile flags at compile time, and use TCL_REG_NOSUB.
|
|
|
|
| |
TCL_REG_NOSUB as we come here without capture vars.
|
| |
|
| |
|
|
|
|
| |
traces not firing on non-existent array elements. [Bug 1833522]
|
| |
|
| |
|
|
|
|
|
|
| |
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:
|
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c, generic/tclInt.decls, generic/tclIntDecls.h:
* generic/tclRegexp.c, generic/tclRegexp.h: Add INST_REGEXP and fully
* generic/tclStubInit.c, generic/tclUtil.c: compiled [regexp] for the
* tests/regexpComp.test: [Bug 1830166] simple cases. Also
added TclReToGlob function to convert RE to glob patterns and use
these in the possible cases.
|
|
|
|
| |
objTypes.
|
|
|
|
| |
index is not a list.
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclBasic.c:
* generic/tclExecute.c:
* generic/tclInt.h:
* generic/tclUnixInit.c:
* generic/tclUnixPort.h: new fields in interp (ekeko!) to cache
TSD data that is accessed at each command invocation, access
macros to replace Tcl_AsyncReady and TclpCheckStackSpace by much
faster variants [Patch 1829248]
|
|
|
|
|
|
| |
* generic/tclExecute.c, generic/tclUtil.c: TclByteArrayMatch
and don't allow a nocase option. [Bug 1828296]
For INST_STR_MATCH, ignore pattern type for TclByteArrayMatch case.
|
| |
|
|
|
|
|
|
|
| |
* generic/tclInt.decls, generic/tclIntDecls.h: added TclByteArrayMatch
* generic/tclUtil.c (TclByteArrayMatch): for efficient glob
* generic/tclExecute.c (TclExecuteByteCode): matching of ByteArray
Tcl_Objs, used in INST_STR_MATCH. [Bug 1827996]
|
|
|
|
| |
* generic/tclExecute.c:
|
|
|
|
|
|
| |
compilation on VC++.
* generic/tclExecute.c: Silenced several VC++ compiler warnings about
converting 'long' to 'unsigned short'.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCompile.h: tracing of proc and command entry &
* generic/tclBasic.c: return, bytecode execution, object
* generic/tclExecute.c: allocation and more; with essentially
* generic/tclInt.h: zero cost when tracing is inactive;
* generic/tclObj.c: enable with --enable-dtrace configure
* generic/tclProc.c: arg (disabled by default, will only
* unix/Makefile.in: enable if DTrace is present).
* unix/configure.in: [Patch 1793984]
* macosx/GNUmakefile: enable DTrace support.
* macosx/Tcl-Common.xcconfig:
* macosx/Tcl.xcodeproj/project.pbxproj:
* unix/configure: autoconf-2.59
* unix/tclConfig.h.in: autoheader-2.59
|
|
|
|
|
|
| |
* generic/tclCompile.c (tclInstructionTable):
* generic/tclExecute.c (INST_DICT_UPDATE_END): fix stack
management in [dict update] [Bug 1786481].
|
|
|
|
|
| |
setting of MaxBaseWide for certain powers. [Bug 1767293 -
problem reported in comments when bug was reopened].
|
|
|
|
|
|
|
| |
dictUpdateEnd
* generic/tclExecute.c: remove unneeded setting of 'cleanup'
variable before jumping to checkForCatch.
|