summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | [Bug 3030870] make itcl 3.x built with pre-8.6 work in 8.6nijtmans2010-07-171-1/+2
| | | |
| | * | [Bug 2991415]: tclport.h #included before limits.hnijtmans2010-05-251-7/+2
| | | |
| | * | Various CYGWIN-related fixesnijtmans2010-01-311-220/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | backported from HEAD. Still configure script not modified, so CYGWIN build is still disabled. Reason: although the build succeeds with those changes, many tests still fail.
| | * | Fix for [Bug 988703, 1565466]Joe Mistachkin2009-10-181-3/+5
| | | |
| | * | * generic/tclAlloc.c: Cleaned up various routines in thedgp2009-09-291-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCkalloc.c: call stacks for memory allocation to * generic/tclInt.h: guarantee that any size values computed * generic/tclThreadAlloc.c: are within the domains of the routines they get passed to. [Bugs 2557696 and 2557796].
| | * | * generic/tclBasic.c (Tcl_CreateInterp, Tcl_EvalTokensStandard,andreas_kupries2009-08-251-5/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations, TclEvalObjEx): * generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines): * generic/tclCompCmds.c (*): * generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv, TclFreeCompileEnv, TclCompileScript): * generic/tclCompile.h (CompileEnv): * generic/tclInt.h (ContLineLoc, Interp): * generic/tclObj.c (ThreadSpecificData, ContLineLocFree, TclThreadFinalizeObjects, TclInitObjSubsystem, TclContinuationsEnter, TclContinuationsEnterDerived, TclContinuationsCopy, TclContinuationsGet, TclFreeObj): * generic/tclParse.c (TclSubstTokens, Tcl_SubstObj): * generic/tclProc.c (TclCreateProc): * generic/tclVar.c (TclPtrSetVar): * tests/info.test (info-30.0-24): Extended parser, compiler, and execution with code and attendant data structures tracking the positions of continuation lines which are not visible in script Tcl_Obj*'s, to properly account for them while counting lines for #280.
| | * | * generic/tclBasic.c (DeleteInterpProc,TclArgumentBCEnter,andreas_kupries2009-07-141-12/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| | * | Backport fix for [Bug 1028264]: WSACleanup() too early. The fix introduces ↵ferrieux2009-04-271-1/+5
| | | | | | | | | | | | | | | | "late exit handlers" for similar late process-wide cleanups.
| | * | Fixed [Bug 2269431]: load of shared objectsnijtmans2008-11-141-2/+3
| | | | | | | | | | | | | | | | leaves emporary files on windows
| | * | * generic/tclInt.h: Correct the TclGetLongFromObj,dgp2008-09-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | TclGetIntFromObj, and TclGetIntForIndexM macros so that they retrieve the internalRep.longValue field instead of casting the internalRep.otherValuePtr field to type long.
| | * | * generic/tclBasic.c: Reworked the handling of bytecode literalsandreas_kupries2008-07-221-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/tclBasic.c: Extended the existing TIP #280 system (infoandreas_kupries2008-07-211-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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:
| | * | merge updates from HEAD dgp2008-03-311-5/+9
| | | |
| | | |
| \ \ \
*-. \ \ \ merge trunk into dogeen-assembler-branchKevin B Kenny2011-03-021-0/+16
|\ \ \ \ \ | | |/ / /
| | * | | This is [Patch 3168398], Joe Mistachkin's optimisation of Tip #285mig2011-03-011-0/+16
| |/ / /
* | | | merge trunkKevin B Kenny2011-03-011-1/+1
|\ \ \ \ | |/ / /
| * | | [Bug 3129448]: Possible over-allocation on 64-bit platforms, part 2nijtmans2010-12-101-2/+2
| | | |
| * | | * generic/tclCmdAH.c (TclInitFileCmd, TclMakeFileCommandSafe, ...):dkf2010-12-091-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Break up [file] into an ensemble. Note that the ensemble is safe in itself, but the majority of its subcommands are not. * generic/tclFCmd.c (FileCopyRename,TclFileDeleteCmd,TclFileAttrsCmd) (TclFileMakeDirsCmd): Adjust these subcommand implementations to work inside an ensemble. (TclFileLinkCmd, TclFileReadLinkCmd, TclFileTemporaryCmd): Move these subcommand implementations from tclCmdAH.c, where they didn't really belong. * generic/tclIOCmd.c (TclChannelNamesCmd): Move to more appropriate source file. * generic/tclEnsemble.c (TclMakeEnsemble): Start of code to make partially-safe ensembles. Currently does not function as expected due to various shortcomings in how safe interpreters are constructed. * tests/cmdAH.test, tests/fCmd.test, tests/interp.test: Test updates to take into account systematization of error messages.
| * | | * generic/tclInt.decls, generic/tclInt.h, generic/tclIntDecls.h:hobbs2010-11-301-13/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclStubInit.c: TclFormatInt restored at slot 24 * generic/tclUtil.c (TclFormatInt): restore TclFormatInt func from 2005-07-05 macro-ization. Benchmarks indicate it is faster, as a key int->string routine (e.g. int-indexed arrays).
| * | | 2010-11-29 Kevin B. Kenny <kennykb@acm.org>Kevin B Kenny2010-11-281-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclInt.decls: * generic/tclInt.h: * generic/tclStrToD.c: * generic/tclTest.c: * generic/tclTomMath.decls: * generic/tclUtil.c: * tests/util.test: * unix/Makefile.in: * win/Makefile.in: * win/makefile.vc: Rewrite of Tcl_PrintDouble and TclDoubleDigits that (a) fixes a severe performance problem with floating point shimmering reported by Karl Lehenbauer, (b) allows TclDoubleDigits to generate the digit strings for 'e' and 'f' format, so that it can be used for tcl_precision != 0 (and possibly later for [format]), (c) fixes [Bug 3120139] by making TclPrintDouble inherently locale-independent, (d) adds test cases to util.test for correct rounding in difficult cases of TclDoubleDigits where fixed- precision results are requested. (e) adds test cases to util.test for the controversial aspects of [Bug 3105247]. As a side effect, two more modules from libtommath (bn_mp_set_int.c and bn_mp_init_set_int.c) are brought into the build, since the new code uses them.
| * | | * doc/interp.n: [3081184] TIP #378.andreas_kupries2010-11-151-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/tclvars.n: Performance fix for TIP #280. * generic/tclBasic.c: * generic/tclExecute.c: * generic/tclInt.h: * generic/tclInterp.c: * tests/info.test: * tests/interp.test:
| * | | [Patch 2995655] Report inner contexts in [info errorstack]ferrieux2010-10-201-1/+5
| | | |
| * | | * doc/socket.n: Document the changes to the [socket] and rmax2010-09-281-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [fconfiguyre] commands. * generic/tclInt.h: Introduce TclCreateSocketAddress() as a * generic/tclIOSock.c: replacement for the platform-dependent * unix/tclUnixSock.c: TclpCreateSocketAddress() functions. * unix/tclUnixChan.c: Extend the [socket] and [fconfigure] * unix/tclUnixPort.h: commands to behave as proposed in * win/tclWinSock.c: TIP #162. * win/tclWinPort.h: * compat/fake-rfc2553.c: A compat implementation of the APIs * compat/fake-rfc2553.h: defined in RFC-2553 (getaddrinfo() and friends) on top of the existing gethostbyname() etc. * unix/configure.in: Test whether the fake-implementation is * unix/tcl.m4: needed. * unix/Makefile.in: Add a compile target for fake-rfc2553. * win/configure.in: Allow cross-compilation by default * tests/socket.test: Improve the test suite to make more use of * tests/remote.tcl: randomized ports to reduce interference with tests running in parallel or other services on the machine.
| * | | * generic/tclBasic.c: [Patch 3072080] (minus the itclMiguel Sofer2010-09-271-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdIL.c: update): a saner NRE. * generic/tclCompExpr.c: * generic/tclCompile.c: This makes TclNRExecuteByteCode * generic/tclCompile.h: (ex TEBC) to be a normal NRE * generic/tclExecute.c: citizen: it loses its special status. * generic/tclInt.decls: The logic flow within the BC engine is * generic/tclInt.h: simplified considerably. * generic/tclIntDecls.h: * generic/tclObj.c: * generic/tclProc.c: * generic/tclTest.c:
* | | | mergeKevin B Kenny2010-12-111-15/+15
| | | |
* | | | mergeKevin B Kenny2010-12-011-14/+31
| | | |
* | | | mergeKevin B Kenny2010-10-231-1/+5
| | | |
* | | | mergeKevin B Kenny2010-09-281-1/+5
| | | |
* | | | Merged from HEAD.Kevin B Kenny2010-09-271-7/+2
| | | | | | | | | | | | | | | | Also replaced a funky NRCallTEBC with the new call TclNRExecuteByteCode.
* | | | initial commit of Ozgur Dogan Ugurlu's (SF user:dogeen) assembler for the ↵Kevin B Kenny2010-09-211-1/+14
|/ / / | | | | | | | | | Tcl bytecode language
* | | * generic/tclBasic.c: New implementation for [tailcall]:Miguel Sofer2010-08-301-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdAH.c: it now schedules the command and returns * generic/tclCmdMZ.c: TCL_RETURN. This fixes all issues with * generic/tclExecute.c: [catch] and [try] - [Bug 3046594], * generic/tclInt.h: [Bug 3047235] and [Bug 3048771]. Thanks * generic/tclNamesp.c: dgp for exploring the dark corners. * tests/tailcall.test: More thorough testing is required.
* | | * generic/tclBasic.c: New redesign of [tailcall]: findMiguel Sofer2010-08-181-9/+9
| | | | | | | | | | | | | | | | | | * generic/tclExecute.c: errors early on, so that errorInfo * generic/tclInt.h: contains the proper info [Bug 3047235] * generic/tclNamesp.c:
* | | * generic/tclBasic.c: Redesign of [tailcall] toMiguel Sofer2010-08-181-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclCmdAH.c: (a) fix #3047235 * generic/tclCompile.h: (b) enable fix for #3046594 * generic/tclExecute.c: (c) enable recursive tailcalls * generic/tclInt.h: * generic/tclNamesp.c: * tests/tailcall.test:
* | | [Patch #2994165] Change signature of Tcl_FSGetNativePath and TclpDeleteFilenijtmans2010-08-141-2/+2
| | |
* | | Simplify Tcl_AppInit and *_Init definitions.nijtmans2010-06-161-8/+8
| | | | | | | | | | | | | | | | | | Change TclpThreadCreate and Tcl_CreateThread signature, making clear that "proc" is a function pointer, as in all other "proc" function parameters.
* | | [tcl-Patches-3008541] order of TIP #348 fields in Interp structurenijtmans2010-05-281-14/+18
| | |
* | | CONSTify various useful internal functionsnijtmans2010-05-031-4/+4
| | | | | | | | | | | | | | | (TclBignumToDouble, TclCeil, TclFloor), and related tommath functions.
* | | * generic/tclBinary.c (TclAppendBytesToByteArray): Add commentsdgp2010-04-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclInt.h (TclAppendBytesToByteArray): placing overflow protection responsibility on caller. Convert "len" argument to signed int which any value already vetted for overflow issues will fit into. * generic/tclStringObj.c: Update caller; standardize panic msg. * generic/tclBinary.c (UpdateStringOfByteArray): Add panic when the generated string representation would grow beyond Tcl's size limits. [Bug 2994924]
* | | * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 2992970]: Makedkf2010-04-291-1/+3
| | | | | | | | | | | | | | | | | | * generic/tclStringObj.c (Tcl_AppendObjToObj): an append of a byte array to another into an efficent operation. The problem was the (lack of) a proper growth management strategy for the byte array.
* | | Remove unused @MAN2TCLFLAGS@nijtmans2010-04-281-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move <limits.h> include from tclInt.h to tclWinPort.h, and eliminate unneeded <stdlib.h>, <stdio.h> and <string.h>, which are already in tclInt.h Move "tclInt.h" from regcustom.h up to regex.h. tclAlloc.c: Unneeded <stdio.h> include tclExecute.c: Fix gcc warning: comparison between signed and unsigned
* | | * generic/tclInt.h (TclIsVarDirectUnsettable): Corrected flags so thatdkf2010-04-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deletion of traces is not optimized out... * generic/tclExecute.c (ExecuteExtendedBinaryMathOp) (TclCompareTwoNumbers,ExecuteExtendedUnaryMathOp,TclExecuteByteCode): [Patch 2981677]: Move the less common arithmetic operations (i.e., exponentiation and operations on non-longs) out of TEBC for a big drop in the overall size of the stack frame for most code. Net effect on speed is minimal (slightly faster overall in tclbench). Also extended the number of places where TRESULT handling is replaced with a jump to dedicated code.
* | | * generic/tclBasic.c: add unsupported [yieldm] command.Miguel Sofer2010-04-251-1/+5
| | | | | | | | | | | | * generic/tclInt.h:
* | | * generic/tclBasic.test: modify api of TclSpliceTailcall()Miguel Sofer2010-04-241-2/+3
| | | | | | | | | | | | | | | | | | * generic/tclExecute.c: to fix yieldTo, which had not survived * generic/tclInt.h: the latest mods to tailcall. Thanks kbk for detecting the problem.
* | | Move TCHAR fallback typedef from tcl.h to tclPlatDecls.h (as suggested by dgp)nijtmans2010-04-221-2/+2
| | | | | | | | | | | | Eliminate various unnecessary type casts.
* | | TIP #348 IMPLEMENTATION - Substituted error stackferrieux2010-04-051-1/+5
| | |
* | | * generic/tcl.decls: [TIP #357]: First round of changesKevin B Kenny2010-04-021-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclDecls.h: to export Tcl_LoadFile, Tcl_FindSymbol, * generic/tclIOUtil.c: and Tcl_FSUnloadFile to the public API. * generic/tclInt.h: * generic/tclLoad.c: * generic/tclLoadNone.c: * generic/tclStubInit.c: * tests/fileSystem.test: * tests/load.test: * tests/unload.test: * unix/tclLoadDl.c: * unix/tclLoadDyld.c: * unix/tclLoadNext.c: * unix/tclLoadOSF.c: * unix/tclLoadShl.c: * unix/tclUnixPipe.c: * win/Makefile.in: * win/tclWinLoad.c:
* | | [Freq 2974744] share exception codes (ObjType?)nijtmans2010-03-271-1/+3
| | |
* | | Compile the [throw] command.dkf2010-03-191-1/+4
| | |
* | | Code Audit results:dkf2010-03-051-107/+135
| | | | | | | | | | | | | | | | | | | | | | | | * use do { ... } while (0) in macros * avoid shadowing one local variable with another * use clearer 'foo.bar++;' instead of '++foo.bar;' where result not required (i.e., semantically equivalent) * follow Engineering Manual rules on spacing and declarations
* | | Change order of various struct members,nijtmans2010-02-161-63/+55
| | | | | | | | | | | | restoring potential binary incompatibility with Tcl 8.5