, |
/*
- * Select the list item based on the index. Negative operand means
- * end-based indexing (-2, ...), and -1 means out of range.
+ * Decode end-offset index values.
*/
- if (opnd < -1) {
- index = opnd+1 + objc;
- } else {
- index = opnd;
- }
+ index = opnd + (opnd <= TCL_INDEX_END)*(objc - 1 - TCL_INDEX_END);
pcAdjustment = 5;
TCL_INDEX_END
(-2)
).index = opnd + cmp(opnd, (-2))==>(0 | 1) * (objc - 1 - (-2));
TEBCresume
), - (JIT TCL). ( 6 + ) , `goto`, , / NRE (nonrecursive evaluation) .. ..if
if/else
, , .