diff options
author | andreas_kupries <akupries@shaw.ca> | 2001-10-15 20:27:23 (GMT) |
---|---|---|
committer | andreas_kupries <akupries@shaw.ca> | 2001-10-15 20:27:23 (GMT) |
commit | 6d887d1f9305c1875ae1ca60584c5739748376e8 (patch) | |
tree | e00a68956eda4c2fa01810e52b5e38fe854e3337 | |
parent | e12ed46cbc4a6c5877e4340170cb1dfc25f00ce1 (diff) | |
download | tcl-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-- | ChangeLog | 11 | ||||
-rw-r--r-- | generic/tclCompile.c | 10 | ||||
-rw-r--r-- | generic/tclCompile.h | 5 | ||||
-rw-r--r-- | generic/tclInt.decls | 21 | ||||
-rw-r--r-- | generic/tclIntDecls.h | 16 | ||||
-rw-r--r-- | generic/tclStubInit.c | 4 |
6 files changed, 56 insertions, 11 deletions
@@ -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 = { |