2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
|
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
|
-
+
|
CmdFrame *newCfPtr = (CmdFrame *) Tcl_Alloc(sizeof(CmdFrame));
const CmdFrame *origCfPtr = (CmdFrame *) Tcl_GetHashValue(origHePtr);
// Copy info, then fix up bits that need different treatment.
memcpy(newCfPtr, origCfPtr, sizeof(CmdFrame));
newCfPtr->line = (int *)Tcl_Alloc(sizeof(int));
newCfPtr->line[0] = origCfPtr->line[0];
Tcl_IncrRefCount(newCfPtr->data.eval.path);
Tcl_IncrRefCount(newCfPtr->path);
Tcl_HashEntry *hePtr = Tcl_CreateHashEntry(iPtr->linePBodyPtr,
newProc, NULL);
Tcl_SetHashValue(hePtr, newCfPtr);
}
// Optimize for no-op procs. Note that this is simpler than in [proc]; we
|