Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | merge trunk |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | novem |
Files: | files | file ages | folders |
SHA1: |
4115262f80f4d6e7f044b117ff608778 |
User & Date: | jan.nijtmans 2016-11-24 20:31:42.274 |
Context
2016-11-25
| ||
12:58 | merge trunk check-in: 742389b703 user: jan.nijtmans tags: novem | |
2016-11-24
| ||
20:31 | merge trunk check-in: 4115262f80 user: jan.nijtmans tags: novem | |
19:21 | Partially backout [ef4da65408] because AppendPrintfToObjVA() (used indirectly by [tcl::unsupported::... check-in: ad557c91a9 user: andy tags: trunk | |
11:57 | merge trunk. Make epoch in Tcl_DictSearch "unsigned int". This doubles the epoch range here. Use 0... check-in: 5fe02150a3 user: jan.nijtmans tags: novem | |
Changes
Changes to generic/tclBasic.c.
︙ | ︙ | |||
565 566 567 568 569 570 571 | iPtr->packagePrefer = PKG_PREFER_STABLE; } else #endif iPtr->packagePrefer = PKG_PREFER_LATEST; iPtr->cmdCount = 0; TclInitLiteralTable(&iPtr->literalTable); | | | 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 | iPtr->packagePrefer = PKG_PREFER_STABLE; } else #endif iPtr->packagePrefer = PKG_PREFER_LATEST; iPtr->cmdCount = 0; TclInitLiteralTable(&iPtr->literalTable); iPtr->compileEpoch = 1; iPtr->compiledProcPtr = NULL; iPtr->resolverPtr = NULL; iPtr->evalFlags = 0; iPtr->scriptFile = NULL; iPtr->flags = 0; iPtr->tracePtr = NULL; iPtr->tracesForbiddingInline = 0; |
︙ | ︙ |
Changes to generic/tclDisassemble.c.
︙ | ︙ | |||
250 251 252 253 254 255 256 | ByteCode *codePtr = BYTECODE(objPtr); unsigned char *codeStart, *codeLimit, *pc; unsigned char *codeDeltaNext, *codeLengthNext; unsigned char *srcDeltaNext, *srcLengthNext; int codeOffset, codeLen, srcOffset, srcLen, numCmds, delta, i, line; Interp *iPtr = (Interp *) *codePtr->interpHandle; Tcl_Obj *bufferObj, *fileObj; | | < | < | > | > | 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | ByteCode *codePtr = BYTECODE(objPtr); unsigned char *codeStart, *codeLimit, *pc; unsigned char *codeDeltaNext, *codeLengthNext; unsigned char *srcDeltaNext, *srcLengthNext; int codeOffset, codeLen, srcOffset, srcLen, numCmds, delta, i, line; Interp *iPtr = (Interp *) *codePtr->interpHandle; Tcl_Obj *bufferObj, *fileObj; char buf[128]; TclNewObj(bufferObj); if (codePtr->refCount <= 0) { return bufferObj; /* Already freed. */ } codeStart = codePtr->codeStart; codeLimit = codeStart + codePtr->numCodeBytes; numCmds = codePtr->numCommands; /* * Print header lines describing the ByteCode. */ sprintf(buf, "%p, refCt %" TCL_LL_MODIFIER "u, epoch %" TCL_LL_MODIFIER "u, " "interp 0x%p (epoch %" TCL_LL_MODIFIER "u", codePtr, (Tcl_WideInt)codePtr->refCount, (Tcl_WideInt)codePtr->compileEpoch, iPtr, (Tcl_WideInt)iPtr->compileEpoch); Tcl_AppendPrintfToObj(bufferObj, "ByteCode 0x%s)\n", buf); Tcl_AppendToObj(bufferObj, " Source ", -1); PrintSourceToObj(bufferObj, codePtr->source, TclMin(codePtr->numSrcBytes, 55)); GetLocationInformation(interp, codePtr->procPtr, &fileObj, &line); if (line > -1 && fileObj != NULL) { Tcl_AppendPrintfToObj(bufferObj, "\n File \"%s\" Line %d", Tcl_GetString(fileObj), line); |
︙ | ︙ | |||
312 313 314 315 316 317 318 | * procedure's name since ByteCode's can be shared among procedures. */ if (codePtr->procPtr != NULL) { Proc *procPtr = codePtr->procPtr; int numCompiledLocals = procPtr->numCompiledLocals; | | | | | 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 | * procedure's name since ByteCode's can be shared among procedures. */ if (codePtr->procPtr != NULL) { Proc *procPtr = codePtr->procPtr; int numCompiledLocals = procPtr->numCompiledLocals; sprintf(buf, "%p, refCt %" TCL_LL_MODIFIER "u", procPtr, (Tcl_WideInt) procPtr->refCount); Tcl_AppendPrintfToObj(bufferObj, " Proc 0x%s, args %d, compiled locals %d\n", buf, procPtr->numArgs, numCompiledLocals); if (numCompiledLocals > 0) { CompiledLocal *localPtr = procPtr->firstLocalPtr; for (i = 0; i < numCompiledLocals; i++) { Tcl_AppendPrintfToObj(bufferObj, " slot %d%s%s%s%s%s%s", i, |
︙ | ︙ |
Changes to generic/tclStringObj.c.
︙ | ︙ | |||
3440 3441 3442 3443 3444 3445 3446 | */ if (numChars <= (INT_MAX - size)/TCL_UTF_MAX && stringPtr->allocated >= size + numChars * TCL_UTF_MAX) { goto copyBytes; } | | | 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 | */ if (numChars <= (INT_MAX - size)/TCL_UTF_MAX && stringPtr->allocated >= size + numChars * TCL_UTF_MAX) { goto copyBytes; } for (i = 0; i < numChars; i++) { size += TclUtfCount(unicode[i]); } if ((int)size < 0) { Tcl_Panic("max size for a Tcl value (%d bytes) exceeded", INT_MAX); } /* |
︙ | ︙ |