diff options
author | dgp <dgp@users.sourceforge.net> | 2016-07-13 17:02:24 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2016-07-13 17:02:24 (GMT) |
commit | 059410842de73f5f43cf23d263880114756fbf20 (patch) | |
tree | bb5f864c4861209c4ad40eebd5ca840b4c089f98 /generic/tclOOMethod.c | |
parent | a13a6885072371776b76ca638da45c6d274a79db (diff) | |
download | tcl-059410842de73f5f43cf23d263880114756fbf20.zip tcl-059410842de73f5f43cf23d263880114756fbf20.tar.gz tcl-059410842de73f5f43cf23d263880114756fbf20.tar.bz2 |
another
Diffstat (limited to 'generic/tclOOMethod.c')
-rw-r--r-- | generic/tclOOMethod.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/generic/tclOOMethod.c b/generic/tclOOMethod.c index 3d9fc35..ce397f8 100644 --- a/generic/tclOOMethod.c +++ b/generic/tclOOMethod.c @@ -791,6 +791,7 @@ PushMethodCallFrame( register int result; const char *namePtr; CallFrame **framePtrPtr = &fdPtr->framePtr; + ByteCode *codePtr; /* * Compute basic information on the basis of the type of method it is. @@ -856,10 +857,8 @@ PushMethodCallFrame( * alternative is *so* slow... */ - if (pmPtr->procPtr->bodyPtr->typePtr == &tclByteCodeType) { - ByteCode *codePtr = - pmPtr->procPtr->bodyPtr->internalRep.twoPtrValue.ptr1; - + ByteCodeGetIntRep(pmPtr->procPtr->bodyPtr, &tclByteCodeType, codePtr); + if (codePtr) { codePtr->nsPtr = nsPtr; } result = TclProcCompileProc(interp, pmPtr->procPtr, @@ -1314,7 +1313,7 @@ CloneProcedureMethod( */ bodyObj = Tcl_DuplicateObj(pmPtr->procPtr->bodyPtr); - TclFreeIntRep(bodyObj); + Tcl_StoreIntRep(pmPtr->procPtr->bodyPtr, &tclByteCodeType, NULL); /* * Create the actual copy of the method record, manufacturing a new proc |