diff options
author | dgp <dgp@users.sourceforge.net> | 2017-06-05 17:57:33 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2017-06-05 17:57:33 (GMT) |
commit | 5c4bb0f4e9e073df2b65f086dd9660cd344dcb26 (patch) | |
tree | 3df97fa81b3475f4cb3e7ef1bc35917075ab52da /generic/tclExecute.c | |
parent | 8129d3e1c3a92117d3993951de496750457c70fa (diff) | |
download | tcl-5c4bb0f4e9e073df2b65f086dd9660cd344dcb26.zip tcl-5c4bb0f4e9e073df2b65f086dd9660cd344dcb26.tar.gz tcl-5c4bb0f4e9e073df2b65f086dd9660cd344dcb26.tar.bz2 |
Revert performance optimization as first step to providing a refactored one.
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r-- | generic/tclExecute.c | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 30ef536..cfcdd26 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.c @@ -2685,34 +2685,11 @@ TEBCresume( opnd = TclGetUInt1AtPtr(pc+1); - objv = &OBJ_AT_DEPTH(opnd-1); - /* minor optimization in simplest cases */ - switch (opnd) { - case 1: /* only one object */ - objResultPtr = *objv; - goto endINST_STR_CONCAT1; - case 2: /* two objects - check empty */ - if (objv[0]->bytes == &tclEmptyString) { - objResultPtr = objv[1]; - goto endINST_STR_CONCAT1; - } - else - if (objv[1]->bytes == &tclEmptyString) { - objResultPtr = objv[0]; - goto endINST_STR_CONCAT1; - } - break; - case 0: /* no objects - use new empty */ - TclNewObj(objResultPtr); - goto endINST_STR_CONCAT1; - } - /* do concat */ if (TCL_OK != TclStringCatObjv(interp, /* inPlace */ 1, - opnd, objv, &objResultPtr)) { + opnd, &OBJ_AT_DEPTH(opnd-1), &objResultPtr)) { TRACE_ERROR(interp); goto gotError; } - endINST_STR_CONCAT1: TRACE_WITH_OBJ(("%u => ", opnd), objResultPtr); NEXT_INST_V(2, opnd, 1); |