summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--generic/tclCompile.c25
-rw-r--r--generic/tclCompile.h5
3 files changed, 18 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 7b8e05b..e923588 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2008-07-22 Andreas Kupries <andreask@activestate.com>
+ * generic/tclCompile.c: Made the new TclEnterCmdWordIndex
+ * generic/tclCompile.h: static, and ansified.
+
* generic/tclBasic.c: Reworked the handling of bytecode literals
* generic/tclCompile.c: for #280 to fix the abysmal performance
* generic/tclCompile.h: for deep recursion, replaced the linear
diff --git a/generic/tclCompile.c b/generic/tclCompile.c
index 19011d9..e3ce0c9 100644
--- a/generic/tclCompile.c
+++ b/generic/tclCompile.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclCompile.c,v 1.146.2.3 2008/07/22 21:41:12 andreas_kupries Exp $
+ * RCS: @(#) $Id: tclCompile.c,v 1.146.2.4 2008/07/22 22:26:57 andreas_kupries Exp $
*/
#include "tclInt.h"
@@ -414,6 +414,9 @@ static void EnterCmdExtentData(CompileEnv *envPtr,
int cmdNumber, int numSrcBytes, int numCodeBytes);
static void EnterCmdStartData(CompileEnv *envPtr,
int cmdNumber, int srcOffset, int codeOffset);
+
+static void EnterCmdWordIndex (ExtCmdLoc *eclPtr, Tcl_Obj* obj,
+ int pc, int word);
static void FreeByteCodeInternalRep(Tcl_Obj *objPtr);
static int GetCmdLocEncodingSize(CompileEnv *envPtr);
#ifdef TCL_COMPILE_STATS
@@ -1462,10 +1465,10 @@ TclCompileScript(
tokenPtr[1].start, tokenPtr[1].size);
if (eclPtr->type == TCL_LOCATION_SOURCE) {
- TclEnterCmdWordIndex (eclPtr,
- envPtr->literalArrayPtr[objIndex].objPtr,
- envPtr->codeNext - envPtr->codeStart,
- wordIdx);
+ EnterCmdWordIndex (eclPtr,
+ envPtr->literalArrayPtr[objIndex].objPtr,
+ envPtr->codeNext - envPtr->codeStart,
+ wordIdx);
}
}
TclEmitPush(objIndex, envPtr);
@@ -2435,12 +2438,12 @@ EnterCmdWordData(
eclPtr->nuloc ++;
}
-void
-TclEnterCmdWordIndex (eclPtr, obj, pc, word)
- ExtCmdLoc *eclPtr;
- Tcl_Obj* obj;
- int pc;
- int word;
+static void
+EnterCmdWordIndex (
+ ExtCmdLoc *eclPtr,
+ Tcl_Obj* obj,
+ int pc,
+ int word)
{
ExtIndex* eiPtr;
diff --git a/generic/tclCompile.h b/generic/tclCompile.h
index e5ef895..777fd3e 100644
--- a/generic/tclCompile.h
+++ b/generic/tclCompile.h
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclCompile.h,v 1.90.2.2 2008/07/22 21:41:12 andreas_kupries Exp $
+ * RCS: @(#) $Id: tclCompile.h,v 1.90.2.3 2008/07/22 22:26:58 andreas_kupries Exp $
*/
#ifndef _TCLCOMPILATION
@@ -146,9 +146,6 @@ typedef struct ExtCmdLoc {
int nueiloc;
} ExtCmdLoc;
-EXTERN void TclEnterCmdWordIndex (ExtCmdLoc *eclPtr, Tcl_Obj* obj,
- int pc, int word);
-
/*
* CompileProcs need the ability to record information during compilation that
* can be used by bytecode instructions during execution. The AuxData