Thread safety for status updates, periodically minify

This commit is contained in:
Ian Gulliver
2021-11-22 22:19:38 -08:00
parent 44c6a26f9d
commit 352e1b90be
6 changed files with 59 additions and 4 deletions

View File

@@ -8,8 +8,14 @@ import "github.com/firestuff/subcoding/vm"
const instructionsPerFunctionMean = 15
const instrucitonsPerFunctionStdDev = 10
func Mutate(prog *vm.Program) {
target := int(rand.NormFloat64()*instrucitonsPerFunctionStdDev+instructionsPerFunctionMean)
const minifyPeriodMean = 10000
func Mutate(def *Definition, prog *vm.Program) {
if rand.Intn(minifyPeriodMean) == 0 {
def.minifyProgram(prog) // ignore error
}
target := int(rand.NormFloat64()*instrucitonsPerFunctionStdDev + instructionsPerFunctionMean)
if len(prog.Functions[0].Instructions) < target {
addInstruction(prog, prog.Functions[0])