Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Push fixup on the stack only when needed. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
8678be299560c4e48c72d6c577380ad6 |
User & Date: | dgp 2013-09-12 19:27:48 |
Context
2013-09-13
| ||
03:33 | More macro use. check-in: bd7b545d09 user: dgp tags: trunk | |
2013-09-12
| ||
19:49 | merge trunk check-in: 2f43fe91b6 user: dgp tags: dgp-refactor | |
19:27 | Push fixup on the stack only when needed. check-in: 8678be2995 user: dgp tags: trunk | |
19:21 | Swap the two fixups used when compiling the ternary operator. Push them on the stack only when neede... check-in: 750f5a8d1f user: dgp tags: trunk | |
Changes
Changes to generic/tclCompExpr.c.
︙ | ︙ | |||
2250 2251 2252 2253 2254 2255 2256 | while (1) { int next; JumpList *freePtr, *newJump; if (nodePtr->mark == MARK_LEFT) { next = nodePtr->left; | | < < < < < < < < | 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 | while (1) { int next; JumpList *freePtr, *newJump; if (nodePtr->mark == MARK_LEFT) { next = nodePtr->left; if (nodePtr->lexeme == QUESTION) { convert = 1; } } else if (nodePtr->mark == MARK_RIGHT) { next = nodePtr->right; switch (nodePtr->lexeme) { case FUNCTION: { Tcl_DString cmdName; |
︙ | ︙ | |||
2310 2311 2312 2313 2314 2315 2316 | TclAdjustStackDepth(-1, envPtr); if (convert) { jumpPtr->jump.jumpType = TCL_TRUE_JUMP; } convert = 1; break; case AND: | < < > > > | > | 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 | TclAdjustStackDepth(-1, envPtr); if (convert) { jumpPtr->jump.jumpType = TCL_TRUE_JUMP; } convert = 1; break; case AND: case OR: newJump = TclStackAlloc(interp, sizeof(JumpList)); newJump->next = jumpPtr; jumpPtr = newJump; TclEmitForwardJump(envPtr, (nodePtr->lexeme == AND) ? TCL_FALSE_JUMP : TCL_TRUE_JUMP, &jumpPtr->jump); break; } } else { int pc1, pc2, target; switch (nodePtr->lexeme) { case START: |
︙ | ︙ |