Compare commits

..

3 Commits

1 changed files with 2 additions and 2 deletions

View File

@ -225,7 +225,6 @@ impl WorkerRegistry {
let mut errors = HashSet::new();
while let Some(task) = self.receiver.recv().unwrap() {
let prev_module = module.write_bitcode_to_memory();
match gen_func(&context, generator, self, builder, module, task) {
Ok(result) => {
builder = result.0;
@ -235,7 +234,8 @@ impl WorkerRegistry {
Err((old_builder, e)) => {
builder = old_builder;
errors.insert(e);
module = context.create_module_from_ir(prev_module).unwrap();
// create a new empty module just to continue codegen and collect errors
module = context.create_module(&format!("{}_recover", generator.get_name()));
}
}
*self.task_count.lock() -= 1;