Files
ground-rewrite/src/Bytecode/Program/execute.c

19 lines
502 B
C
Raw Normal View History

2026-06-21 14:35:48 +10:00
#include "../../../include/ground.h"
#include <stdint.h>
void _GroundBytecodeProgramExecute(GroundBytecodeProgram* program, GroundBytecodeHeap* heap) {
2026-06-21 16:39:05 +10:00
GroundSize i = 0;
while (i < program->len) {
2026-06-21 14:35:48 +10:00
int64_t status = Ground.Bytecode.Instruction.execute(&program->at[i], heap);
if (Ground.Flags.error) {
return;
}
switch (status) {
2026-06-21 16:39:05 +10:00
case -1: i++; break;
2026-06-21 14:35:48 +10:00
case -2: return;
default: i = status; break;
}
}
}