summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* mergeKevin B Kenny2010-12-162-10/+5
|
* * tclAssembly.c:Kevin B Kenny2010-12-161-89/+234
| | | | | | | * assemble.test: Reworked beginCatch/endCatch handling to enforce the more severe (but more correct) restrictions on catch handling that appeared in the discussion of [Bug 3098302] and in tcl-core traffic beginning about 2010-10-29.
* mergeKevin B Kenny2010-12-1126-2043/+2994
|
* mergeKevin B Kenny2010-12-0123-497/+3087
|
* mergeKevin B Kenny2010-11-031-67/+104
|
* mergeKevin B Kenny2010-10-301-5/+21
|
* mergeKevin B Kenny2010-10-281-9/+14
|
* * generic/tclAssembly.c:Kevin B Kenny2010-10-281-21/+395
| | | | * tests/assembly.test (assemble-31.*): Added jump tables.
* * tclAssembly.c:Kevin B Kenny2010-10-241-234/+342
| | | | | | | * assembly.test (assemble-17.15): Reworked branch handling so that forward branches can use jump1 (jumpTrue1, jumpFalse1). Added test cases that the forward branches will expand to jump4, jumpTrue4, jumpFalse4 when needed.
* removed useless separation between tclAssembly.h and tclAssembly.cKevin B Kenny2010-10-232-207/+236
|
* mergeKevin B Kenny2010-10-237-49/+369
|
* mergeKevin B Kenny2010-10-207-1072/+1147
|
* mergeKevin B Kenny2010-10-093-8/+16
|
* Added catches. Still needs a lot of testing.Kevin B Kenny2010-10-062-350/+1277
|
* nop and regexpKevin B Kenny2010-10-022-0/+17
|
* added missing tests: nsupvar, variable, upvarKevin B Kenny2010-10-021-3/+3
|
* * generic/tclAssembly.c:Kevin B Kenny2010-10-024-15/+129
| | | | | | | | * generic/tclAssembly.h: * tests/assemble.test: Added dictAppend, dictIncrImm, dictLappend, dictSet, dictUnset, nsupvar, upvar, and variable. (Still need tests for the last three.) Merged changes from HEAD.
* mergeKevin B Kenny2010-10-024-113/+144
|
* mergeKevin B Kenny2010-10-0111-64/+73
|
* Added listIn, listNotIn, and dictGet.Kevin B Kenny2010-10-012-1/+20
|
* MergeKevin B Kenny2010-09-301-24/+72
|
* * tests/assemble.test: Added tryCvtToNumeric and several more listKevin B Kenny2010-09-302-8/+140
| | | | * generic/tclAssemble.c: operations.
* * tests/assemble.test: Completed conversion of tests to aKevin B Kenny2010-09-291-2/+37
| | | | | | * generic/tclAssemble.c: "white box" structure that follows the C code. Added missing safety checks on the operands of 'over' and 'reverse' so that negative operand counts don't smash the stack.
* mergeKevin B Kenny2010-09-282-2/+151
|
* * tests/assemble.test: Added more "white box" tests.Kevin B Kenny2010-09-282-135/+199
| | | | | | | | | | | | * generic/tclAssembly.c: Added the error checking and reporting for undefined labels. Revised code so that no pointers into the bytecode sequence are held (because the sequence can move!), that no Tcl_HashEntry pointers are held (because the hash table doesn't guarantee their stability!) and to eliminate the BBHash table, which is merely additional information indexed by jump labels and can just as easily be held in the 'label' structure. Renamed shared structures to CamelCase, and renamed 'label' to JumpLabel because other types of labels may eventually be possible.
* Merged from HEAD.Kevin B Kenny2010-09-2715-827/+499
| | | | Also replaced a funky NRCallTEBC with the new call TclNRExecuteByteCode.
* * tests/assemble.test: Added more "white box" tests.Kevin B Kenny2010-09-271-16/+43
| | | | | | | | * generic/tclAssembly.c: Fixed bugs exposed by the new tests. (a) [eval] and [expr] had incorrect stack balance computed if the arg was not a simple word. (b) [concat] accepted a negative operand count. (c) [invoke] accepted a zero or negative operand count. (d) more misspelt error messages.
* * tests/assemble.test: Added many new tests moving toward a moreKevin B Kenny2010-09-261-22/+61
| | | | | | | | | | comprehensive test suite for the assembler. * generic/tclAssembly.c: Fixed bugs exposed by the new tests: (a) [bitnot] and [not] had incorrect operand counts. (b) INST_CONCAT cannot concatenate zero objects. (c) misspelt error messages. (d) the "assembly code" internal representation lacked a duplicator, which caused double-frees of the Bytecode object if assembly code ever was duplicated.
* added more tests; fixed a bug in initialization of BasicBlock objKevin B Kenny2010-09-251-0/+10
|
* * tclAssembly.c: Massive refactoring of the assemblerKevin B Kenny2010-09-257-740/+1324
| | | | | | | | | * tclAssembly.h: to use a Tcl-like syntax (and use * tests/assemble.test: Tcl_ParseCommand to parse it). The * tests/assemble1.bench: refactoring also ensures that Tcl_Tokens in the assembler have string ranges inside the source code, which allows for [eval] and [expr] assembler directives that simply call TclCompileScript and TclCompileExpr recursively.
* merge changes from HEADKevin B Kenny2010-09-226-43/+40
|
* initial commit of Ozgur Dogan Ugurlu's (SF user:dogeen) assembler for the ↵Kevin B Kenny2010-09-214-2/+1642
| | | | Tcl bytecode language
* Make Tcl_FindExecutable() work in UNICODE compiles (windows-only) as well as ↵nijtmans2010-09-163-8/+11
| | | | | | ASCII. Needed for [FRQ 491789]: setargv() doesn't support a unicode cmdline
* * generic/tclBinary.c (TclAppendBytesToByteArray): [Bug 3067036]: Makedkf2010-09-151-4/+19
| | | | | sure we never try to double zero repeatedly to get a buffer size. Also added a check for sanity on the size of buffer being appended.
* [Patch 3034251] backport ttkGenStubs.tclnijtmans2010-09-154-985/+989
| | | | | | | | features to genStubs.tcl. Make the "generic" argument in the *.decls files optional (no change to any tcl*Decls.h files) This allows genStubs.tcl to generate the ttk stub files as well, while keeping full compatibility with existing *.decls files.
* * generic/tclExecute.c: [Bug 3057639]. Applied patch by Jeff toandreas_kupries2010-09-012-10/+12
| | | | | | | * 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.
* [Patch 2997642] many type casts needed when using Tcl_Pkg* API. Remaining part.nijtmans2010-08-317-22/+22
| | | | Typo in rules.vc
* * generic/tclBasic.c: New implementation for [tailcall]:Miguel Sofer2010-08-306-152/+55
| | | | | | | | | * 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.
* [Patch 2997642] many type casts needed when using Tcl_Pkg* API. Partly.nijtmans2010-08-305-28/+27
|
* [Patch 2994165]: Change signature of Tcl_FSGetNativePath and TclpDeleteFile ↵nijtmans2010-08-253-30/+9
| | | | | | follow-up: move stub entry back to original location.
* [Bug 3007895] Tcl_(Find|Create)HashEntry stub entries can never be called.nijtmans2010-08-243-14/+34
|
* Remove many type casts which are no longernecessary as a result of [Patch ↵nijtmans2010-08-2215-70/+67
| | | | 3009403]: Signature of Tcl_GetHashKey, Tcl_(Create|Find)HashEntry
* [Patch 3034251]: Backport ttkGenStubs.tcl features to genStubs.tcl, partly:nijtmans2010-08-215-226/+226
| | | | Use void (*reserved$i)(void) = 0 instead of void *reserved$i = NULL for unused stub entries, in case pointer-to-function and pointer-to-object are different sizes.
* * generic/tclTrace.c (TraceExecutionObjCmd, TraceCommandObjCmd)dkf2010-08-191-4/+4
| | | | | | (TraceVariableObjCmd): [Patch 3048354]: Use memcpy() instead of strcpy() to avoid buffer overflow; we have the correct length of data to copy anyway since we've just allocated the target buffer.
* [Patch 3034251] backport ttkGenStubs.tcl features to genStubs.tcl, partly: ↵nijtmans2010-08-197-4800/+64
| | | | remove unneeded ifdeffery and put C++ guard around stubs pointer definition.
* * generic/tclBasic.c: New redesign of [tailcall]: findMiguel Sofer2010-08-184-65/+115
| | | | | | * generic/tclExecute.c: errors early on, so that errorInfo * generic/tclInt.h: contains the proper info [Bug 3047235] * generic/tclNamesp.c:
* * generic/tclCmdAH.c (TclNRTryObjCmd): block tailcalling out ofMiguel Sofer2010-08-181-2/+4
| | | | the body of a non-bc'ed [try], #3046594
* * generic/tclBasic.c: Redesign of [tailcall] toMiguel Sofer2010-08-186-82/+45
| | | | | | | | | * 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/tclProc.c (ProcWrongNumArgs): [Bug 3045010]: Make thedkf2010-08-151-6/+8
| | | | | handling of passing the wrong number of arguments to [apply] somewhat less verbose when a lambda term is present.
* [Patch 3009403] Signature of Tcl_GetHashKey, Tcl_(Create|Find)HashEntrynijtmans2010-08-141-4/+4
|