summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2013-02-03 17:17:47 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2013-02-03 17:17:47 (GMT)
commit3c3f3d4561fe16f54fc6ded233112c6040ab5e77 (patch)
tree85ae40b56e9038a7a38c1898d87851171e1174ea /generic/tclCompile.c
parent1d5118fd6cf705d79ec670284492d9eff6637965 (diff)
parentb0bf6914f1e11ba4b7a127dcda5cd48f96976a33 (diff)
downloadtcl-3c3f3d4561fe16f54fc6ded233112c6040ab5e77.zip
tcl-3c3f3d4561fe16f54fc6ded233112c6040ab5e77.tar.gz
tcl-3c3f3d4561fe16f54fc6ded233112c6040ab5e77.tar.bz2
merge novem
Diffstat (limited to 'generic/tclCompile.c')
-rw-r--r--generic/tclCompile.c15
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;