diff options
author | mig <mig> | 2013-12-20 21:59:28 (GMT) |
---|---|---|
committer | mig <mig> | 2013-12-20 21:59:28 (GMT) |
commit | db7ebfac4369ff2b956e1f5d7a8865e88d4ffc50 (patch) | |
tree | 369c1986c44ad9e1aca2cebf078fb10f90fc3b31 /generic/tclCompile.h | |
parent | 40ee4723305e14d61c083785f230b614b2829361 (diff) | |
download | tcl-db7ebfac4369ff2b956e1f5d7a8865e88d4ffc50.zip tcl-db7ebfac4369ff2b956e1f5d7a8865e88d4ffc50.tar.gz tcl-db7ebfac4369ff2b956e1f5d7a8865e88d4ffc50.tar.bz2 |
remove INST_TRY_CVT_TO_NUMERIC when it is known not be necessary (cherrypick from mig-optimize)
Diffstat (limited to 'generic/tclCompile.h')
-rw-r--r-- | generic/tclCompile.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/generic/tclCompile.h b/generic/tclCompile.h index b421aaf..287ab1d 100644 --- a/generic/tclCompile.h +++ b/generic/tclCompile.h @@ -1309,6 +1309,18 @@ MODULE_SCOPE Tcl_Obj *TclNewInstNameObj(unsigned char inst); } while (0) /* + * If the expr compiler finished with TRY_CONVERT, macro to remove it when the + * job is done by the following instruction. + */ + +#define TclClearNumConversion(envPtr) \ + do { \ + if (*(envPtr->codeNext - 1) == INST_TRY_CVT_TO_NUMERIC) { \ + envPtr->codeNext--; \ + } \ + } while (0) + +/* * Macros to update a (signed or unsigned) integer starting at a pointer. The * two variants depend on the number of bytes. The ANSI C "prototypes" for * these macros are: |