optimise
This commit is contained in:
@@ -1,5 +1,16 @@
|
||||
#include "../../../include/ground.h"
|
||||
|
||||
void _GroundBytecodeProgramOptimise(GroundBytecodeProgram* program) {
|
||||
// TODO: Implement optimisation
|
||||
|
||||
for (GroundSize i = 0; i < program->len; i++) {
|
||||
if (program->at[i].type == GroundInstruction_JUMP) {
|
||||
GroundSize target = program->at[i].args.at[0];
|
||||
|
||||
while (target < program->len && program->at[target].type == GroundInstruction_JUMP) {
|
||||
target = program->at[target].args.at[0];
|
||||
}
|
||||
|
||||
program->at[i].args.at[0] = target;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user