diff options
| author | dgp <dgp@users.sourceforge.net> | 2016-04-29 18:02:55 (GMT) |
|---|---|---|
| committer | dgp <dgp@users.sourceforge.net> | 2016-04-29 18:02:55 (GMT) |
| commit | 8c36db11d063107be166030b8ac38fe25f27953f (patch) | |
| tree | facf9bcde61423b2025c72ceaeab4de8fda1bf10 | |
| parent | a3838de0f973ec277e51e5613c7e736e0c33aaca (diff) | |
| download | tcl-8c36db11d063107be166030b8ac38fe25f27953f.zip tcl-8c36db11d063107be166030b8ac38fe25f27953f.tar.gz tcl-8c36db11d063107be166030b8ac38fe25f27953f.tar.bz2 | |
No longer need to create Tcl_Obj just to make some bytecode.
| -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; } |
