diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2016-06-26 07:51:22 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2016-06-26 07:51:22 (GMT) |
commit | 2b756b48f0fcb3c5117930e9ad1be22561d9728b (patch) | |
tree | 18e0110c3a4f6b3589872553b3e0db9a7209d300 /generic/tclCompExpr.c | |
parent | 8211d5bc63a57a3d51b8f6c605a9e4e4a992a6ec (diff) | |
parent | 94c255833358445b9edae73af1ffbe1cc2c8ab42 (diff) | |
download | tcl-drh_micro_optimization.zip tcl-drh_micro_optimization.tar.gz tcl-drh_micro_optimization.tar.bz2 |
Merge trunkdrh_micro_optimization
Diffstat (limited to 'generic/tclCompExpr.c')
-rw-r--r-- | generic/tclCompExpr.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/generic/tclCompExpr.c b/generic/tclCompExpr.c index 4390282..654666a 100644 --- a/generic/tclCompExpr.c +++ b/generic/tclCompExpr.c @@ -2181,7 +2181,6 @@ ExecConstantExprTree( CompileEnv *envPtr; ByteCode *byteCodePtr; int code; - Tcl_Obj *byteCodeObj = Tcl_NewObj(); NRE_callback *rootPtr = TOP_CB(interp); /* @@ -2195,14 +2194,12 @@ ExecConstantExprTree( CompileExprTree(interp, nodes, index, litObjvPtr, NULL, NULL, envPtr, 0 /* optimize */); TclEmitOpcode(INST_DONE, envPtr); - Tcl_IncrRefCount(byteCodeObj); - TclInitByteCodeObj(byteCodeObj, envPtr); + byteCodePtr = TclInitByteCode(envPtr); TclFreeCompileEnv(envPtr); TclStackFree(interp, envPtr); - byteCodePtr = byteCodeObj->internalRep.twoPtrValue.ptr1; TclNRExecuteByteCode(interp, byteCodePtr); code = TclNRRunCallbacks(interp, TCL_OK, rootPtr); - Tcl_DecrRefCount(byteCodeObj); + TclReleaseByteCode(byteCodePtr); return code; } |