summaryrefslogtreecommitdiffstats
path: root/generic/tclExecute.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2017-06-05 17:57:33 (GMT)
committerdgp <dgp@users.sourceforge.net>2017-06-05 17:57:33 (GMT)
commit5c4bb0f4e9e073df2b65f086dd9660cd344dcb26 (patch)
tree3df97fa81b3475f4cb3e7ef1bc35917075ab52da /generic/tclExecute.c
parent8129d3e1c3a92117d3993951de496750457c70fa (diff)
downloadtcl-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.c25
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);