diff options
| author | dkf <donal.k.fellows@manchester.ac.uk> | 2013-02-01 15:32:19 (GMT) |
|---|---|---|
| committer | dkf <donal.k.fellows@manchester.ac.uk> | 2013-02-01 15:32:19 (GMT) |
| commit | 6f1c949a42ef60692258e34a5dbb8b920d76be23 (patch) | |
| tree | 0f9df16696586fa30ee3529c7c4cc598a6318a76 /generic/tclCompile.c | |
| parent | e566dc080bf933404305587e4290769e7e620460 (diff) | |
| parent | 1153a9400bcdb471e1475c0e40dcf722dd5afc1a (diff) | |
| download | tcl-6f1c949a42ef60692258e34a5dbb8b920d76be23.zip tcl-6f1c949a42ef60692258e34a5dbb8b920d76be23.tar.gz tcl-6f1c949a42ef60692258e34a5dbb8b920d76be23.tar.bz2 | |
merge trunk
Diffstat (limited to 'generic/tclCompile.c')
| -rw-r--r-- | generic/tclCompile.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c index 45a74d7..33d67ff 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -844,10 +844,9 @@ static void FreeByteCodeInternalRep( register Tcl_Obj *objPtr) /* Object whose internal rep to free. */ { - register ByteCode *codePtr = objPtr->internalRep.otherValuePtr; + register ByteCode *codePtr = objPtr->internalRep.twoPtrValue.ptr1; objPtr->typePtr = NULL; - objPtr->internalRep.otherValuePtr = NULL; codePtr->refCount--; if (codePtr->refCount <= 0) { TclCleanupByteCode(codePtr); @@ -867,9 +866,8 @@ FreeByteCodeInternalRep( * None. * * Side effects: - * Frees objPtr's bytecode internal representation and sets its type and - * objPtr->internalRep.otherValuePtr NULL. Also releases its literals and - * frees its auxiliary data items. + * Frees objPtr's bytecode internal representation and sets its type NULL + * Also releases its literals and frees its auxiliary data items. * *---------------------------------------------------------------------- */ @@ -1144,7 +1142,7 @@ CompileSubstObj( objPtr->typePtr = &substCodeType; TclFreeCompileEnv(&compEnv); - codePtr = objPtr->internalRep.otherValuePtr; + codePtr = objPtr->internalRep.twoPtrValue.ptr1; objPtr->internalRep.ptrAndLongRep.ptr = codePtr; objPtr->internalRep.ptrAndLongRep.value = flags; if (iPtr->varFramePtr->localCachePtr) { @@ -1183,7 +1181,6 @@ FreeSubstCodeInternalRep( register ByteCode *codePtr = objPtr->internalRep.ptrAndLongRep.ptr; objPtr->typePtr = NULL; - objPtr->internalRep.otherValuePtr = NULL; codePtr->refCount--; if (codePtr->refCount <= 0) { TclCleanupByteCode(codePtr); @@ -2639,7 +2636,7 @@ TclInitByteCodeObj( */ TclFreeIntRep(objPtr); - objPtr->internalRep.otherValuePtr = codePtr; + objPtr->internalRep.twoPtrValue.ptr1 = codePtr; objPtr->typePtr = &tclByteCodeType; /* @@ -4058,7 +4055,7 @@ Tcl_Obj * TclDisassembleByteCodeObj( Tcl_Obj *objPtr) /* The bytecode object to disassemble. */ { - ByteCode *codePtr = objPtr->internalRep.otherValuePtr; + ByteCode *codePtr = objPtr->internalRep.twoPtrValue.ptr1; unsigned char *codeStart, *codeLimit, *pc; unsigned char *codeDeltaNext, *codeLengthNext; unsigned char *srcDeltaNext, *srcLengthNext; |
