| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclBasic.c: Line 3843ff: New Tcl_CloneInterp public API.
* generic/tclProc.c (TclCloneProc): See below. New function.
* generic/tclBasic.c: Tcl_Clone... functions. New. Tcl_CloneInterp
is main entry into this.
* Part of work on more sharing of bytecode information between
structurally equivalent interpreters.
* generic/tclCompile.c (EncodeCmdLocMap): Operate on ByteCodeData
instead of ByteCode.
(TclCleanupByteCode): Deref to ByteCodeData in numerous places.
(TclInitByteCodeObj): s.a.
(TclPrintByteCodeObj): s.a.
(TclPrintInstruction): s.a.
(RecordByteCodeStats): s.a.
* generic/tclLiteral.c (TclReleaseLiteral): s.a.
* generic/tclCompile.h: Split struct ByteCode into two
structures. The new structure carries the shareable bytrecode
information and is named 'ByteCodeData'.
* generic/tclExecute.c (GetExceptRangeForPc): s.a.
(TclExecuteByteCode): s.a.
(PrintByteCodeInfo): s.a.
(ValidatePcAndStackTop): s.a.
(GetSrcInfoForPc): s.a.
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCompile.c (TclCleanupByteCode, RecordByteCodeStats):
* generic/tclLiteral.c:
* generic/tclInt.h:
* generic/tclBasic.c (Tcl_CreateInterp, DeleteInterpProc): add
TCL_THREAD_LITERALS conditional support for making global literals
be thread-global instead of interp-global. This adjusts the
placement and management of the LiteralTable and ByteCodeStats.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclLink.c: 'struct Link'.
* generic/tclEncoding.c: 'struct Encoding', and 'struct EscapeEncodingData'.
* generic/tclCmdIL.c: 'struct SortInfo'.
* generic/tclIO.h: 'struct ChannelState'.
* generic/tclRegexp.h: 'struct TclRegexp'.
* generic/tclCompile.h: 'struct CompileEnv', and 'struct ByteCode'.
* generic/tclInt.h: 'struct Var', 'struct ByteCodeStats', and
'struct Interp'.
Reordered fields in various structures for better usage of
memory (less padding).
|
|
|
|
| |
shared object reporting in EvalStatsCmd when used with TCL_MEM_DEBUG.
|
|
|
|
|
|
|
|
|
|
| |
a missing RELTEMP(compEnv) in line 6043 to release the structure
if the object is not of type 'bytecode'. Reported by Gregory
Thompson <gst@cisco.com>.
* generic/tclInt.h: Changed NEWTEMP, NEWSTR, and RELTEMP macros to
use 'ckalloc' and 'ckfree' instead of 'Tcl'_Alloc and
'Tcl_Free'. Suggested by Gregory Thompson <gst@cisco.com>.
|
|
|
|
|
|
|
|
| |
to use a heap variable for the message buffer instead of placing
it on the stack.
* Updated "mod-8-3-1-branch" to head of "core-8-3-1-branch" to get
the newest fixes for tcl 8.3.4 into this branch.
|
|
|
|
|
|
| |
* stack.full.html: Reports from the local version of the core
instrumented to record stack usage. 'base' - Baseline.
'full' - stack controlling macros engaged in full.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
upfront. The original contents remain and are declared to be the
scratchpad.
* tclCmdMZ.c:
* tclCompCmds.c:
* tclCompile.c:
* tclEvent.c:
* tclExecute.c:
* tclNamesp.c:
* tclParse.c:
* tclProc.c:
* tclUtil.c: More places using TCL_STRUCT_ON_HEAP.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tcl.h:
* tclInt.h: Moved the macros to control feature exclusion and
stack manipulation into the private area of the tcl
headers. Renamed the macros for TCL_STRUCT_ON_HEAP to make their
names more sensible.
* tclCmdAH.c:
* tclCompCmds.c:
* tclCompExpr.c:
* tclCompile.c:
* tclExecute.c:
* tclIO.c:
* tclParse.c:
* tclParseExpr.c:
* tclScan.c:
* tclUnixChan.c: Adapted to changed macro names, added some more
places there structures go on the heap instead of the stack.
Fixed a problem with TCL_FMT_STATIC_FLOATBUFFER_SZ which
caused the interp to crash when actually used to reduce the
usage of the stack.
|
|
|
|
|
| |
macros for information on the stack. Parser information on the
stack can now be switched to allocation on the heap.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
interdependencies, implications, etc.
* static.sizes.html: New file. Report on the cuts achieved so
far. Regarding the object files only the files which did change
in size are reported. Usage of the MODULAR_TCL macro currently
cuts about 17 % of the code (measured using strip'ped object
files and libraries).
* Changed files so far .. [cut, see changelog for full list]
* Working on modularization of the tcl core.
***************************
**** mod-8-3-4-branch ****
***************************
|
|
|
|
|
|
| |
cast expression to remove ambiguity and conform with Tcl
Engineering Manual. [Suggestion by Donal Fellows in commentary on
patch #483500]
|
|
|
|
|
| |
when dealing with test sequences that run more than 2**31
microseconds. [Bug 478847]
|
|
|
|
|
| |
* generic/tclVar.c: Corrected bug in [global] when dealing
with variable names matching :*. [Bug 480176]
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
folders
* mac/tclMacLoad.c: : corrected utf8 handling, comparison of
package names to code fragment names changed to only match on the
length of package name, this allows for fragment names with version
numbers appended (backport from 8.4)
|
| |
|
|
|
|
| |
* unix/tcl.m4 (SC_ENABLE_GCC): enabled better recognition of gcc.
|
|
|
|
|
|
|
| |
* generic/tclDate.c (RelativeMonth):
* generic/tclGetDate.y (RelativeMonth): corrected off-by-one-day
error in clock scan with relative months and years during swing
hours. [Bug #413397, Patch #414024] (lavana)
|
|
|
|
|
| |
retry when error is returned with errno == EINTR.
[Bug #415131] (leger)
|
| |
|
| |
|
|
|
|
|
| |
* unix/configure.in: added preset CFLAGS check from HEAD to
prevent --enable-gcc from adding "-g -O2"
|
| |
|
| |
|
|
|
|
|
| |
to $TCL_EXEC_PREFIX/lib. It contains platform-dependent
definitions, and must not be installed under $TCL_PREFIX.
|
|
|
|
|
| |
* 'make mklinks' for Tcl_SetMainLoop.
* 'make dist': Removed copy of files matching mac/*.exp; no such files.
|
|
|
|
| |
and fixed warnings. [Bug #446622] (lim)
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* unix/configure.in:
* win/configure:
* win/configure.in:
* win/tcl.m4: reworked to be a little cleaner in comparison to
each other, and to AC_SUBST even empty vars for win/tclConfig.sh
|
|
|
|
|
|
|
|
|
|
| |
Added to internal stubs table. Tclcompiler (Tclpro project)
needs them if used as loadable package under Windows. Changed
signatures. We don't want to describe compiler internal
structures in "tclInt.h".
* generic/tclCompile.h: S.a. Removed function declarations.
* generic/tclCompile.c: S.a. Adapted to changed signatures.
|
|
|
|
|
| |
* win/tclWinPort.h: moved #define of WIN32 to tcl.h where __WIN32__
is defined and added #ifndef check.
|
|
|
|
|
| |
self-referential bytecodes are properly cleaned up on interpreter
deletion [Bug 467523]
|
| |
|
|
|
|
| |
from 8.4 (from where most of the real fixes stem.)
|
|
|
|
|
| |
tclObjsFreed. These variables only exist when compiling with
TCL_COMPILE_STATS, and are already defined in generic/tclExecute.c
|
| |
|
|
|
|
| |
467523] - cure is worse than the illness.
|
| |
|
| |
|
| |
|
|
|
|
| |
interpreter deletion [Bug 467523]
|
|
|
|
|
|
|
|
| |
did not include some Mac encodings that have special multi-unichar
translations now (like symbols, dingbats and japanese). Also does
not include big5, gb or euc* as those have different formats in
the latest Unicode version that need new conversion tools. Not
all related .enc files changed as some had been updated separately.
|
|
|
|
|
| |
Changed URLs to point to www.tcl-tk.net where appropriate.
Added proper Win64 build support (for SDK RC1).
|
|
|
|
| |
Tcl_GetNameOfExecutable [Bug 219215]
|
|
|
|
|
|
| |
<kennykb@users.sourceforge.net>) two more '(ClientData)' casts
on calls to Tcl_Preserve and Tcl_Release -- ones that Vince
apparently missed.
|
|
|
|
|
|
|
|
| |
and Tcl_Release() to fix segfault introduced by the 2001-09-26
changes. [Bug 465494]
* doc/TCL_MEM_DEBUG.3: Updated out-of-date reference to
#define GUARD_SIZE.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
more than was in the buffers and then blocked in the OS call as
its pty channel driver provides no blockmodeproc through which
the OS could be notified of blocking-behaviour. Because of this
the general I/O core has to take more care than usual to
preserve the semantics of non-blocking channels.
* generic/tclIO.c (Tcl_ReadRaw): Do not read from the driver if
the channel is non-blocking and the fileevent causing the read
was generated by a timer. We do not know if there is data
available from the OS. Instead of going to the OS for more and
potentially blocking we simply signal EWOULDBLOCK to the higher
levels to cause the system to wait for true fileevents.
(GetInput): Same as before.
(ChannelTimerProc): Added set and clear of CHANNEL_TIMER_FEV.
* generic/tclIO.h (CHANNEL_TIMER_FEV): New flag for channels. Is
set if a fileevent was generated by a timer, the channel is not
blocking and the driver did not provide a blockmodeproc. In that
case the I/O core has to be especially careful about going to
the driver for more data.
|