| | 1051 | case UT_SELECT: |
| | 1052 | // TODO: select! needs to call functions, block on unset, etc. |
| | 1053 | if( ! ur_getSelector( ur_thread, val, UR_S_GROW ) ) |
| | 1054 | { |
| | 1055 | _appendTraceBlk( &UR_TOS->err, blkN, pc - start - 1 ); |
| | 1056 | goto throw_cc; |
| | 1057 | } |
| | 1058 | break; |
| | 1059 | |
| | 1060 | case UT_SETSELECT: |
| | 1061 | if( ! ur_setSelector( ur_thread, val, UR_TOS ) ) |
| | 1062 | { |
| | 1063 | _appendTraceBlk( &UR_TOS->err, blkN, pc - start - 1 ); |
| | 1064 | goto throw_cc; |
| | 1065 | } |
| | 1066 | UR_S_DROP; |
| | 1067 | break; |
| | 1068 | |
| | 1069 | case UT_PAREN: |
| | 1070 | DO_BLOCK( val ); |
| | 1071 | break; |
| | 1072 | |
| 1059 | | UR_S_PUSH( *val ); |
| 1060 | | break; |
| 1061 | | |
| 1062 | | case UT_SELECT: |
| 1063 | | // TODO: select! needs to call functions, block on unset, etc. |
| 1064 | | if( ! ur_getSelector( ur_thread, val, UR_S_GROW ) ) |
| 1065 | | { |
| 1066 | | _appendTraceBlk( &UR_TOS->err, blkN, pc - start - 1 ); |
| 1067 | | goto throw_cc; |
| 1068 | | } |
| 1069 | | break; |
| 1070 | | |
| 1071 | | case UT_SETSELECT: |
| 1072 | | if( ! ur_setSelector( ur_thread, val, UR_TOS ) ) |
| 1073 | | { |
| 1074 | | _appendTraceBlk( &UR_TOS->err, blkN, pc - start - 1 ); |
| 1075 | | goto throw_cc; |
| 1076 | | } |
| 1077 | | UR_S_DROP; |
| 1078 | | break; |
| 1079 | | |
| 1080 | | case UT_PAREN: |
| 1081 | | DO_BLOCK( val ); |
| 1082 | | break; |
| | 1077 | // Fall through to push. |