summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2013-08-19 15:22:15 (GMT)
committerdgp <dgp@users.sourceforge.net>2013-08-19 15:22:15 (GMT)
commit7f660cabfb7f9a21f1a60e6e2b06cbd9449b8d13 (patch)
tree7e447142914273c86f300adc176e3d72776794aa
parent9feda62fe0318715623c455abe7289bbb7dec34e (diff)
downloadtcl-7f660cabfb7f9a21f1a60e6e2b06cbd9449b8d13.zip
tcl-7f660cabfb7f9a21f1a60e6e2b06cbd9449b8d13.tar.gz
tcl-7f660cabfb7f9a21f1a60e6e2b06cbd9449b8d13.tar.bz2
Testing doing away with the NRRunObjProc routine, which looks like a
useless extra bounce on the NRE trampoline. Normal testing has no problem with it, but debug-enabled testing triggers an assert failure. Either it would be good to have a normal test that fails in the conditions of the assert failure, or it would be good to discover the assert is asserting something not actually required, and then make the purge.
-rw-r--r--generic/tclBasic.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 4a95340..020f2f2 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -133,7 +133,9 @@ static Tcl_NRPostProc NRCoroutineCallerCallback;
static Tcl_NRPostProc NRCoroutineExitCallback;
static int NRCommand(ClientData data[], Tcl_Interp *interp, int result);
+#if 0
static Tcl_NRPostProc NRRunObjProc;
+#endif
static Tcl_ObjCmdProc OldMathFuncProc;
static void OldMathFuncDeleteProc(ClientData clientData);
static void ProcessUnexpectedResult(Tcl_Interp *interp,
@@ -4238,9 +4240,13 @@ TclNREvalObjv(
*/
if (cmdPtr->nreProc) {
+#if 0
TclNRAddCallback(interp, NRRunObjProc, cmdPtr,
INT2PTR(objc), (ClientData) objv, NULL);
return TCL_OK;
+#else
+ return cmdPtr->nreProc(cmdPtr->objClientData, interp, objc, objv);
+#endif
} else {
return cmdPtr->objProc(cmdPtr->objClientData, interp, objc, objv);
}
@@ -4323,6 +4329,7 @@ NRCommand(
return result;
}
+#if 0
static int
NRRunObjProc(
ClientData data[],
@@ -4337,6 +4344,7 @@ NRRunObjProc(
return cmdPtr->nreProc(cmdPtr->objClientData, interp, objc, objv);
}
+#endif
/*