2025-09-15 06:31:32 +02:00
|
|
|
case OP_PRINT: {
|
|
|
|
|
Value v = pop_value(vm);
|
|
|
|
|
Value snap = deep_copy_value(&v);
|
|
|
|
|
free_value(v);
|
|
|
|
|
if (vm->output_count < VM_OUTPUT_SIZE) {
|
2025-09-15 23:26:42 +02:00
|
|
|
vm->output[vm->output_count++] = snap;
|
2025-09-15 06:31:32 +02:00
|
|
|
} else {
|
2025-09-15 23:26:42 +02:00
|
|
|
free_value(snap);
|
2025-09-15 06:31:32 +02:00
|
|
|
fprintf(stderr, "Runtime error: output buffer overflow\n");
|
|
|
|
|
exit(1);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|