| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
expression syntax errors are found when compiling expressions. With
this in place, convert TclCompileExpr to return void, since there's no
longer any need to report TCL_ERROR.
* generic/tclCompile.c: Update callers.
* generic/tclExecute.c:
* generic/tclCompCmds.c: New routine TclCompileSyntaxError()
* generic/tclCompile.h: to directly compile bytecodes that report a
* generic/tclCompile.c: syntax error, rather than (ab)use a call to
TclCompileReturnCmd. Also, undo the most recent commit that papered
over some issues with that (ab)use. New routine produces a new
opcode INST_SYNTAX, which is a minor variation of INST_RETURN_IMM.
Also a bit of constification.
|
|
|
|
|
| |
* generic/tclCompExpr.c: entries into TclFreeCompileEnv().
* generic/tclExecute.c: Update callers.
|
|
|
|
|
| |
in expressions to register with their intreps intact, even if that
means overwriting existing intreps in already registered literals.
|
|
|
|
| |
i.e. unsigned!)
|
|
|
|
|
|
|
| |
* tests/expr.test (expr-23.48-53) integer exponentiation
that results in 32- and 64-bit integer results, avoiding calls to
wide integer exponentiation routines in this common case.
[Bug 1767293]
|
|
|
|
|
|
| |
* tests/compExpr.test: to restore literal sharing. Preserve numeric
intreps when literals are created for the first time. Correct memleak
in ExecConstantExprTree() and add test for the leak.
|
|
|
|
| |
compilers with memmove [Bug 1780870]
|
|
|
|
|
| |
to handle callers other than TclCompileScript() failing to meet the
initialization assumptions of the TIP 280 code in CompileWord().
|
|
|
|
| |
numeric when pre-compiling a constant expresion indicates an error.
|
| |
|
|
|
|
| |
INSTs for debug builds. REVERTED (collision with alternative fix)
|
|
|
|
| |
Label needs debug build exposure in TEBC.
|
|
|
|
| |
INSTs for debug builds.
|
|
|
|
|
| |
* tests/main.test: newline from an interactively typed command.
[Bug 1775878].
|
|
|
|
|
| |
overflow detection in sums, adapt to subtraction. Lenghty comment
added.
|
|
|
|
| |
Donal): check first the condition most likely to fail in its usage by [incr].
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
reducing objsize, number of branches and cache misses (according
to cachegrind). Non-overflow for s=a+b:
previous
((a >= 0 || b >= 0 || s < 0) && (s >= 0 || b < 0 || a < 0))
now
(((a^s) >= 0) || ((a^b) < 0))
This expresses: "a and s have the same sign or else a and b have
different sign".
|
|
|
|
|
| |
the new availability of Tcl_Obj in variable names, avoiding string
comparisons to verify that the cached value is usable.
|
|
|
|
| |
before the switch. Reduces both runtime and obj size a tiny bit.
|
|
|
|
|
|
|
|
| |
struct (again "free" due to alignment requirements) to mark those
subexpressions that are completely known at compile time. Enhanced
CompileExprTree() and its callers to precompute these constant
subexpressions at compile time. This resolves the issue raised
in [Bug 1564517].
|
| |
|
|
|
|
| |
the interp's result if it will be pushed/popped.
|
| |
|
|
|
|
|
|
| |
* tests/thread.test: ::errorInfo and ::errorCode so that string
* tests/trace.test: reported to variable traces are fully
qualified in agreement with Tcl 8.4 operations.
|
|
|
|
| |
* tests/trace.test: Tcl_LogCommandInfo() call. [Bug 1773040]
|
|
|
|
| |
instead of calling the function.
|
|
|
|
| |
memset to 0 of all allocated objects.
|
| |
|
|
|
|
| |
causing a leak.
|
|
|
|
| |
eliminate duplication.
|
|
|
|
|
|
|
|
| |
OpNode mark field scheme of tree traversal. This eliminates the need
to use magic values in the left and right fields for that purpose.
Also stop abusing the left field within ParseExpr() to store the
number of arguments in a parsed function call. CompileExprTree() now
determines that for itself at compile time.
|
|
|
|
| |
required varflag values when loading precompiled procs.
|
|
|
|
|
| |
* tests/trace.test (trace-2.6): whole array write traces on
compiled local variables were not firing [Bug 1770591]
|
|
|
|
| |
procPtr. codePtr->procPtr == NULL exposed by tbcload.
|
|
|
|
| |
in the -DNO_WIDE_TYPE configuration.
|
|
|
|
| |
* tests/expr.test: to *SHIFT operations. [Bug 1770224].
|
|
|
|
| |
is not called in the normal case.
|
|
|
|
|
|
| |
that flag bit does not exist any longer.
* generic/tclProc.c (InitCompiledLocals): removed optimisation for
non-resolved case, as the function is never called in that case.
|
|
|
|
|
|
| |
* generic/tclInt.h: xotcl adapt to VarReform.
* generic/tclIntDecls.h:
* generic/tclStubInit.c:
|
|
|
|
| |
* unix/tclUnixPort.h: from Apple changes in Darwin tcl-64).
|
|
|
|
|
|
|
|
|
| |
* generic/tclCompExpr.c: Added a "mark" field to the OpNode
struct, which is used to guide tree traversal. This field costs
nothing since alignement requirements used the memory already.
Rewrote ConvertTreeToTokens() to use the new field, which permitted
consolidation of utility routines CopyTokens() and
GenerateTokensForLiteral().
|
|
|
|
|
|
|
|
| |
silence compiler warnings.
* generic/tclDate.c: Regenerated
* win/tclWinTest.c: Added a cast to the call to
GetSecurityDescriptorDacl to silence compiler
warnings.
|
| |
|
| |
|
| |
|
|
|
|
| |
compilation with MSVC6 and anything else that may not define this macro.
|
|
|
|
| |
Virden.
|
|
|
|
| |
*** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
|
| |
|