1 void {{ name }}(struct Thread* thread, const union Argument argument) {
2 // We're going to reuse result as both the addend and the sum
3 assert(!Stack_isEmpty(&(thread->stack)));
4 Object result = Stack_pop(&(thread->stack));
5 assert(result.type == INTEGER);
7 assert(!Stack_isEmpty(&(thread->stack)));
8 Object other = Stack_pop(&(thread->stack));
9 assert(result.type == INTEGER);
11 result.value.integer = other.value.integer {{ operation }} result.value.integer;
13 Stack_push(&(thread->stack), result);