| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
automatic vars to reduce indirection, slight perf increase
|
|
|
|
|
|
| |
sizing the new allocation - was ok in comment but wrong in the
code. Triggered by [Bug 3142026] which happened to require
exactly one more than what was in existence.
|
|
|
|
|
|
|
|
|
|
| |
* 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:
|
| |
|
|
|
|
|
|
|
|
| |
* generic/tclCompile.c (tclInstructionTable): of [dict for] so that
* generic/tclExecute.c (TEBCresume): it no longer makes any
use of INST_DICT_DONE now that's not needed, and make it clearer in
the implementation of the instruction that it's just a deprecated form
of unset operation. Followup to my commit of 2010-10-16.
|
|
|
|
|
| |
of the bytecode-level dictionary iterator information so that the
side-conditions on instruction issuing are simpler.
|
|
|
|
| |
* generic/tclExecute.c: sharing of empty scripts is allowed again.
|
|
|
|
| |
(mixing numwords and numbytes)
|
|
|
|
| |
of string representations of dictionaries in some cases.
|
|
|
|
|
|
|
|
|
| |
return data to interp by default, or if given an arg, use that as
filename to output to (accepts 'stdout' and 'stderr').
Fix output to print used inst count data.
* generic/tclCkalloc.c: change TclDumpMemoryInfo sig to allow
* generic/tclInt.decls: objPtr as well as FILE* as output.
* generic/tclIntDecls.h:
|
| |
|
|
|
|
| |
be accomplished by TEBCresume()
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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:
|
|
|
|
|
|
|
| |
* generic/tclExecute.c (TclExecuteByteCode): merge INST_STR_CMP
and INST_STR_EQ/INST_STR_NEQ paths. Speeds up eq/ne/[string eq]
with obj-aware comparisons and eq/==/ne/!= with length equality
check.
|
|
|
|
| |
fixes [Bug 3072640]
|
|
|
|
|
|
|
| |
or ::errorCode with DECACHE_STACK_INFO(), as they could run
traces. The new calls to be protected are Tcl_ResetResult(),
Tcl_SetErrorCode(), IllegalExprOperandType(),
TclExprFloatError(). The error was triggered by [Patch 3072080].
|
|
|
|
|
|
|
|
|
| |
* generic/tclVar.c (TclLookupSimpleVar, CompareVarKeys):
* generic/tclPathObj.c (Tcl_FSGetNormalizedPath, Tcl_FSEqualPaths):
* generic/tclExecute.c (TclExecuteByteCode):
* generic/tclIOUtil.c (TclFSCwdPointerEquals): peephole opt
* generic/tclResult.c (TclMergeReturnOptions): use memcmp where
applicable as possible speedup on some libc variants.
|
|
|
|
|
|
|
| |
* generic/tclVar.c: make the behaviour of lappend in bytecompiled
* tests/append.test: mode consistent with direct-eval and 'append'
* tests/appendComp.test: generally. Added tests (append*-9.*)
showing the difference.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
3009403]: Signature of Tcl_GetHashKey, Tcl_(Create|Find)HashEntry
|
|
|
|
|
|
| |
* generic/tclExecute.c: errors early on, so that errorInfo
* generic/tclInt.h: contains the proper info [Bug 3047235]
* generic/tclNamesp.c:
|
|
|
|
|
|
|
|
|
| |
* 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:
|
| |
|
|
|
|
|
| |
* generic/tclDictObj.c (DictGetCmd): always generates an errorCode on
a failure to look up an entry.
|
|
|
|
|
|
| |
sure that errors caused by an argument to an operator being outside
the domain of the operator all result in ::errorCode being ARITH
DOMAIN and not NONE.
|
|
|
|
| |
with errors.
|
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c: be traversable accross coro
boundaries. Add the special coroutine CallFrame (partially
reverting commit of 2009-12-10), as it is needed for coroutines
that do not push a CF - eg, those with [eval] as command. Thanks
to Colin McCormack (coldstore) and Alexandre Ferrieux for the
hard work on this.
|
| |
|
|
|
|
| |
of instruction-level execution tracing (had been broken by NRE).
|
|
|
|
|
| |
of the fact that INST_DICT_FIRST and INST_DICT_NEXT always have a
conditional jump afterwards.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
included, don't include <limits.h>
again. Follow-up to [Bug 2991415]:
tclport.h #included before limits.h
See comments in [Bug 2991415]
|
|
|
|
|
|
| |
* generic/tclExecute.c: to fix yieldTo, which had not survived
* generic/tclInt.h: the latest mods to tailcall. Thanks kbk
for detecting the problem.
|
|
|
|
| |
reduce indentation for the Invocation Block.
|
| |
|
|
|
|
| |
instructions than before.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* generic/tclExecute.c: [Bug 2910748]
* tests/nre.test:
|
|
|
|
|
| |
* generic/tclExecute.c: tailcall-management duties
* generic/tclNamesp.c:
|
|
|
|
|
| |
* generic/tclExecute.c: from TclNRTailcallObjCmd to TEBC, so that
the pairing of the Enter and Release calls is clearer.
|
| |
|
| |
|