![]() | Fun 0.41.5 The programming language that makes You have fun |
Implements the OP_SHL opcode logical left shift (uint32). More...

Go to the source code of this file.
Functions | |
| free_value (vs) | |
| free_value (va) | |
| push_value (vm, make_int((int64_t)(uint64_t) r)) | |
Variables | |
| case | OP_SHL |
| Value | va = pop_value(vm) |
| uint32_t | a = (va.type == VAL_INT) ? (uint32_t)va.i : 0u |
| uint32_t | s = (vs.type == VAL_INT) ? (uint32_t)vs.i : 0u |
| s &uint32_t | r = (s == 0u) ? a : (a << s) |
| break | |
Implements the OP_SHL opcode logical left shift (uint32).
Opcode snippet included by vm.c. Performs a 32-bit unsigned logical left shift of an integer operand by a masked shift count.
Stack effects:
Notes:
Definition in file shl.c.
| free_value | ( | va | ) |
| free_value | ( | vs | ) |