diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-03-31 16:33:47 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-03-31 16:33:47 (GMT) |
commit | c21ba3a0d2f147398eaea4649b607d9eb72ba0ad (patch) | |
tree | 7a665667dcd8c092cacc72e3fad57fe2b3ef2be7 /generic | |
parent | 471418d41a9b6c90ad576b6c85ae7764d4b04326 (diff) | |
download | tcl-c21ba3a0d2f147398eaea4649b607d9eb72ba0ad.zip tcl-c21ba3a0d2f147398eaea4649b607d9eb72ba0ad.tar.gz tcl-c21ba3a0d2f147398eaea4649b607d9eb72ba0ad.tar.bz2 |
more progress
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclAssembly.c | 12 | ||||
-rw-r--r-- | generic/tclCompile.c | 2 | ||||
-rw-r--r-- | generic/tclCompile.h | 4 | ||||
-rw-r--r-- | generic/tclDisassemble.c | 14 |
4 files changed, 16 insertions, 16 deletions
diff --git a/generic/tclAssembly.c b/generic/tclAssembly.c index 3abd4fa..4faf679 100644 --- a/generic/tclAssembly.c +++ b/generic/tclAssembly.c @@ -1940,7 +1940,7 @@ MoveExceptionRangesToBasicBlock( envPtr->exceptArrayPtr + savedExceptArrayNext, exceptionCount * sizeof(ExceptionRange)); for (i = 0; i < exceptionCount; ++i) { - curr_bb->foreignExceptions[i].nestingLevel -= envPtr->exceptDepth; + curr_bb->foreignExceptions[i].nestingLevel1 -= envPtr->exceptDepth; } envPtr->exceptArrayNext = savedExceptArrayNext; } @@ -4125,9 +4125,9 @@ StackFreshCatches( catchIndices[catchDepth] = TclCreateExceptRange(CATCH_EXCEPTION_RANGE, envPtr); range = envPtr->exceptArrayPtr + catchIndices[catchDepth]; - range->nestingLevel = envPtr->exceptDepth + catchDepth; + range->nestingLevel1 = envPtr->exceptDepth + catchDepth; envPtr->maxExceptDepth= - TclMax(range->nestingLevel + 1, (int)envPtr->maxExceptDepth); + TclMax(range->nestingLevel1 + 1, envPtr->maxExceptDepth); range->codeOffset = bbPtr->startOffset; entryPtr = Tcl_FindHashEntry(&assemEnvPtr->labelHash, @@ -4187,11 +4187,11 @@ RestoreEmbeddedExceptionRanges( for (i = 0; i < bbPtr->foreignExceptionCount; ++i) { range = bbPtr->foreignExceptions + i; rangeIndex = TclCreateExceptRange(range->type, envPtr); - range->nestingLevel += envPtr->exceptDepth + bbPtr->catchDepth; + range->nestingLevel1 += envPtr->exceptDepth + bbPtr->catchDepth; memcpy(envPtr->exceptArrayPtr + rangeIndex, range, sizeof(ExceptionRange)); - if (range->nestingLevel >= (int)envPtr->maxExceptDepth) { - envPtr->maxExceptDepth = range->nestingLevel + 1; + if ((int)range->nestingLevel1 >= (int)envPtr->maxExceptDepth) { + envPtr->maxExceptDepth = range->nestingLevel1 + 1; } } diff --git a/generic/tclCompile.c b/generic/tclCompile.c index 72f5a32..96832a9 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -3409,7 +3409,7 @@ TclCreateExceptRange( rangePtr = &envPtr->exceptArrayPtr[index]; rangePtr->type = type; - rangePtr->nestingLevel = envPtr->exceptDepth; + rangePtr->nestingLevel1 = envPtr->exceptDepth; rangePtr->codeOffset = TCL_INDEX_NONE; rangePtr->numCodeBytes = TCL_INDEX_NONE; rangePtr->breakOffset = TCL_INDEX_NONE; diff --git a/generic/tclCompile.h b/generic/tclCompile.h index 297d9cb..50a43d6 100644 --- a/generic/tclCompile.h +++ b/generic/tclCompile.h @@ -89,7 +89,7 @@ typedef enum { typedef struct { ExceptionRangeType type; /* The kind of ExceptionRange. */ - int nestingLevel; /* Static depth of the exception range. Used + size_t nestingLevel1; /* Static depth of the exception range. Used * to find the most deeply-nested range * surrounding a PC at runtime. */ size_t codeOffset; /* Offset of the first instruction byte of the @@ -1584,7 +1584,7 @@ MODULE_SCOPE int TclPushProcCallFrame(void *clientData, #define ExceptionRangeStarts(envPtr, index) \ (((envPtr)->exceptDepth++), \ ((envPtr)->maxExceptDepth = \ - TclMax((int)(envPtr)->exceptDepth, (int)(envPtr)->maxExceptDepth)), \ + TclMax((envPtr)->exceptDepth, (envPtr)->maxExceptDepth)), \ ((envPtr)->exceptArrayPtr[(index)].codeOffset= CurrentOffset(envPtr))) #define ExceptionRangeEnds(envPtr, index) \ (((envPtr)->exceptDepth--), \ diff --git a/generic/tclDisassemble.c b/generic/tclDisassemble.c index cf8a154..260fdde 100644 --- a/generic/tclDisassemble.c +++ b/generic/tclDisassemble.c @@ -281,7 +281,7 @@ DisassembleByteCodeObj( codePtr, codePtr->refCount, codePtr->compileEpoch, iPtr, iPtr->compileEpoch); Tcl_AppendToObj(bufferObj, " Source ", -1); PrintSourceToObj(bufferObj, codePtr->source, - TclMin((int)codePtr->numSrcBytes, 55)); + TclMin(codePtr->numSrcBytes, 55)); GetLocationInformation(codePtr->procPtr, &fileObj, &line); if (line >= 0 && fileObj != NULL) { Tcl_AppendPrintfToObj(bufferObj, "\n File \"%s\" Line %d", @@ -358,8 +358,8 @@ DisassembleByteCodeObj( ExceptionRange *rangePtr = &codePtr->exceptArrayPtr[i]; Tcl_AppendPrintfToObj(bufferObj, - " %d: level %d, %s, pc %" TCL_Z_MODIFIER "u-%" TCL_Z_MODIFIER "u, ", - i, rangePtr->nestingLevel, + " %d: level %" TCL_Z_MODIFIER "u, %s, pc %" TCL_Z_MODIFIER "u-%" TCL_Z_MODIFIER "u, ", + i, rangePtr->nestingLevel1, (rangePtr->type==LOOP_EXCEPTION_RANGE ? "loop" : "catch"), rangePtr->codeOffset, (rangePtr->codeOffset + rangePtr->numCodeBytes - 1)); @@ -1144,15 +1144,15 @@ DisassembleByteCodeAsDicts( switch (rangePtr->type) { case LOOP_EXCEPTION_RANGE: Tcl_ListObjAppendElement(NULL, exn, Tcl_ObjPrintf( - "type %s level %d from %" TCL_Z_MODIFIER "u to %" TCL_Z_MODIFIER "u break %" TCL_Z_MODIFIER "u continue %" TCL_Z_MODIFIER "u", - "loop", rangePtr->nestingLevel, rangePtr->codeOffset, + "type %s level %" TCL_Z_MODIFIER "u from %" TCL_Z_MODIFIER "u to %" TCL_Z_MODIFIER "u break %" TCL_Z_MODIFIER "u continue %" TCL_Z_MODIFIER "u", + "loop", rangePtr->nestingLevel1, rangePtr->codeOffset, rangePtr->codeOffset + rangePtr->numCodeBytes - 1, rangePtr->breakOffset, rangePtr->continueOffset)); break; case CATCH_EXCEPTION_RANGE: Tcl_ListObjAppendElement(NULL, exn, Tcl_ObjPrintf( - "type %s level %d from %" TCL_Z_MODIFIER "u to %" TCL_Z_MODIFIER "u catch %" TCL_Z_MODIFIER "u", - "catch", rangePtr->nestingLevel, rangePtr->codeOffset, + "type %s level %" TCL_Z_MODIFIER "u from %" TCL_Z_MODIFIER "u to %" TCL_Z_MODIFIER "u catch %" TCL_Z_MODIFIER "u", + "catch", rangePtr->nestingLevel1, rangePtr->codeOffset, rangePtr->codeOffset + rangePtr->numCodeBytes - 1, rangePtr->catchOffset)); break; |