Differences From Artifact [2cd02fadff]:
- File generic/tclCompExpr.c — part of check-in [b98f550ddf] at 2013-03-05 22:13:30 on branch trunk — New internal routine TclFetchLiteral() for better CompileEnv encapsulation. (user: dgp size: 84319) [more...]
To Artifact [7fa05cec58]:
- File generic/tclCompExpr.c — part of check-in [f77c2158c2] at 2013-06-01 04:05:14 on branch mig-review — Work in progress auditing the stack usage estimates of the bytecode compiler routines. Much of this code is ugly and will never find a place on the trunk, but the problems it pinpoints will be fixed there. This is now at the point where the test suite of a --enable-symbols=all build will usefully panic on those tests where stack estimates are not correct (or where the auditing code itself is still faulty). (user: dgp size: 84354) [more...]
| ︙ | |||
2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 | 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 | + |
TclEmitForwardJump(envPtr, (nodePtr->lexeme == AND)
? TCL_FALSE_JUMP : TCL_TRUE_JUMP,
&jumpPtr->next->jump);
TclEmitPush(TclRegisterNewLiteral(envPtr,
(nodePtr->lexeme == AND) ? "1" : "0", 1), envPtr);
TclEmitForwardJump(envPtr, TCL_UNCONDITIONAL_JUMP,
&jumpPtr->next->next->jump);
TclAdjustStackDepth(-1, envPtr);
TclFixupForwardJumpToHere(envPtr, &jumpPtr->next->jump, 127);
if (TclFixupForwardJumpToHere(envPtr, &jumpPtr->jump, 127)) {
jumpPtr->next->next->jump.codeOffset += 3;
}
TclEmitPush(TclRegisterNewLiteral(envPtr,
(nodePtr->lexeme == AND) ? "0" : "1", 1), envPtr);
TclFixupForwardJumpToHere(envPtr, &jumpPtr->next->next->jump,
|
| ︙ |