summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2001-10-15 20:27:23 (GMT)
committerandreas_kupries <akupries@shaw.ca>2001-10-15 20:27:23 (GMT)
commit6d887d1f9305c1875ae1ca60584c5739748376e8 (patch)
treee00a68956eda4c2fa01810e52b5e38fe854e3337
parente12ed46cbc4a6c5877e4340170cb1dfc25f00ce1 (diff)
downloadtcl-6d887d1f9305c1875ae1ca60584c5739748376e8.zip
tcl-6d887d1f9305c1875ae1ca60584c5739748376e8.tar.gz
tcl-6d887d1f9305c1875ae1ca60584c5739748376e8.tar.bz2
* generic/tclInt.decls (TclExpandCodeArray,TclGetInstructionTable):
Added to internal stubs table. Tclcompiler (Tclpro project) needs them if used as loadable package under Windows. Changed signatures. We don't want to describe compiler internal structures in "tclInt.h". * generic/tclCompile.h: S.a. Removed function declarations. * generic/tclCompile.c: S.a. Adapted to changed signatures.
-rw-r--r--ChangeLog11
-rw-r--r--generic/tclCompile.c10
-rw-r--r--generic/tclCompile.h5
-rw-r--r--generic/tclInt.decls21
-rw-r--r--generic/tclIntDecls.h16
-rw-r--r--generic/tclStubInit.c4
6 files changed, 56 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index aa97c34..092207a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2001-10-15 Andreas Kupries <andreas_kupries@users.sourceforge.net>
+
+ * generic/tclInt.decls (TclExpandCodeArray,TclGetInstructionTable):
+ Added to internal stubs table. Tclcompiler (Tclpro project)
+ needs them if used as loadable package under Windows. Changed
+ signatures. We don't want to describe compiler internal
+ structures in "tclInt.h".
+
+ * generic/tclCompile.h: S.a. Removed function declarations.
+ * generic/tclCompile.c: S.a. Adapted to changed signatures.
+
2001-10-15 Jeff Hobbs <jeffh@ActiveState.com>
* generic/tcl.h:
diff --git a/generic/tclCompile.c b/generic/tclCompile.c
index 7a9f64d..56953f2 100644
--- a/generic/tclCompile.c
+++ b/generic/tclCompile.c
@@ -10,7 +10,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.20 2000/03/30 04:36:11 hobbs Exp $
+ * RCS: @(#) $Id: tclCompile.c,v 1.20.2.1 2001/10/15 20:27:23 andreas_kupries Exp $
*/
#include "tclInt.h"
@@ -1895,10 +1895,12 @@ TclInitCompiledLocals(interp, framePtr, nsPtr)
*/
void
-TclExpandCodeArray(envPtr)
- CompileEnv *envPtr; /* Points to the CompileEnv whose code array
+TclExpandCodeArray(envArgPtr)
+ void *envArgPtr; /* Points to the CompileEnv whose code array
* must be enlarged. */
{
+ CompileEnv *envPtr = (CompileEnv*) envArgPtr; /* Points to the CompileEnv whose code array
+ * must be enlarged. */
/*
* envPtr->codeNext is equal to envPtr->codeEnd. The currently defined
* code bytes are stored between envPtr->codeStart and
@@ -2497,7 +2499,7 @@ TclFixupForwardJump(envPtr, jumpFixupPtr, jumpDist, distThreshold)
*----------------------------------------------------------------------
*/
-InstructionDesc *
+void * /* == InstructionDesc* == */
TclGetInstructionTable()
{
return &instructionTable[0];
diff --git a/generic/tclCompile.h b/generic/tclCompile.h
index 310e67e..a6ea61b 100644
--- a/generic/tclCompile.h
+++ b/generic/tclCompile.h
@@ -6,7 +6,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.11 1999/05/23 16:37:14 surles Exp $
+ * RCS: @(#) $Id: tclCompile.h,v 1.11.10.1 2001/10/15 20:27:23 andreas_kupries Exp $
*/
#ifndef _TCLCOMPILATION
@@ -743,11 +743,8 @@ EXTERN void TclEmitForwardJump _ANSI_ARGS_((CompileEnv *envPtr,
EXTERN ExceptionRange * TclGetExceptionRangeForPc _ANSI_ARGS_((
unsigned char *pc, int catchOnly,
ByteCode* codePtr));
-EXTERN InstructionDesc * TclGetInstructionTable _ANSI_ARGS_(());
EXTERN int TclExecuteByteCode _ANSI_ARGS_((Tcl_Interp *interp,
ByteCode *codePtr));
-EXTERN void TclExpandCodeArray _ANSI_ARGS_((
- CompileEnv *envPtr));
EXTERN void TclExpandJumpFixupArray _ANSI_ARGS_((
JumpFixupArray *fixupArrayPtr));
EXTERN void TclFinalizeAuxDataTypeTable _ANSI_ARGS_((void));
diff --git a/generic/tclInt.decls b/generic/tclInt.decls
index 1ed5fb7..dfa914b 100644
--- a/generic/tclInt.decls
+++ b/generic/tclInt.decls
@@ -10,7 +10,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: tclInt.decls,v 1.20.2.4 2001/09/10 17:15:13 andreas_kupries Exp $
+# RCS: @(#) $Id: tclInt.decls,v 1.20.2.5 2001/10/15 20:27:23 andreas_kupries Exp $
library tcl
@@ -614,6 +614,25 @@ declare 162 generic {
void TclChannelEventScriptInvoker(ClientData clientData, int flags)
}
+# New in 8.3.4, support for shared library version of tclcompiler.
+
+# ALERT: The result of 'TclGetInstructionTable' is actually an
+# InstructionDesc*" but we do not want to describe this structure in
+# "tclInt.h". It is described in "tclCompile.h". Use a cast to the
+# correct type when calling this procedure.
+
+declare 163 generic {
+ void * TclGetInstructionTable (void)
+}
+
+# ALERT: The argument of 'TclExpandCodeArray' is actually a
+# "CompileEnv*" but we do not want to describe this structure in
+# "tclInt.h". It is described in "tclCompile.h".
+
+declare 164 generic {
+ void TclExpandCodeArray (void *envPtr)
+}
+
##############################################################################
# Define the platform specific internal Tcl interface. These functions are
diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h
index 21ef8ba..b085fcd 100644
--- a/generic/tclIntDecls.h
+++ b/generic/tclIntDecls.h
@@ -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: tclIntDecls.h,v 1.19.2.1 2000/07/27 01:39:18 hobbs Exp $
+ * RCS: @(#) $Id: tclIntDecls.h,v 1.19.2.2 2001/10/15 20:27:23 andreas_kupries Exp $
*/
#ifndef _TCLINTDECLS
@@ -530,6 +530,10 @@ EXTERN int TclChannelTransform _ANSI_ARGS_((Tcl_Interp * interp,
/* 162 */
EXTERN void TclChannelEventScriptInvoker _ANSI_ARGS_((
ClientData clientData, int flags));
+/* 163 */
+EXTERN void * TclGetInstructionTable _ANSI_ARGS_((void));
+/* 164 */
+EXTERN void TclExpandCodeArray _ANSI_ARGS_((void * envPtr));
typedef struct TclIntStubs {
int magic;
@@ -730,6 +734,8 @@ typedef struct TclIntStubs {
int (*tclpMatchFilesTypes) _ANSI_ARGS_((Tcl_Interp * interp, char * separators, Tcl_DString * dirPtr, char * pattern, char * tail, GlobTypeData * types)); /* 160 */
int (*tclChannelTransform) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Channel chan, Tcl_Obj * cmdObjPtr)); /* 161 */
void (*tclChannelEventScriptInvoker) _ANSI_ARGS_((ClientData clientData, int flags)); /* 162 */
+ void * (*tclGetInstructionTable) _ANSI_ARGS_((void)); /* 163 */
+ void (*tclExpandCodeArray) _ANSI_ARGS_((void * envPtr)); /* 164 */
} TclIntStubs;
#ifdef __cplusplus
@@ -1385,6 +1391,14 @@ extern TclIntStubs *tclIntStubsPtr;
#define TclChannelEventScriptInvoker \
(tclIntStubsPtr->tclChannelEventScriptInvoker) /* 162 */
#endif
+#ifndef TclGetInstructionTable
+#define TclGetInstructionTable \
+ (tclIntStubsPtr->tclGetInstructionTable) /* 163 */
+#endif
+#ifndef TclExpandCodeArray
+#define TclExpandCodeArray \
+ (tclIntStubsPtr->tclExpandCodeArray) /* 164 */
+#endif
#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index d6003a6..7cee438 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclStubInit.c,v 1.35.2.5 2001/09/10 17:15:13 andreas_kupries Exp $
+ * RCS: @(#) $Id: tclStubInit.c,v 1.35.2.6 2001/10/15 20:27:23 andreas_kupries Exp $
*/
#include "tclInt.h"
@@ -238,6 +238,8 @@ TclIntStubs tclIntStubs = {
TclpMatchFilesTypes, /* 160 */
TclChannelTransform, /* 161 */
TclChannelEventScriptInvoker, /* 162 */
+ TclGetInstructionTable, /* 163 */
+ TclExpandCodeArray, /* 164 */
};
TclIntPlatStubs tclIntPlatStubs = {