module.code_dir.extend(code_dir);
module.op_dir.extend(op_dir.into_iter());
+ for (name, arity) in module.code_dir.keys().cloned() {
+ wam.indices.dynamic_code_dir.remove(&(name.owning_module(), name, arity));
+ }
+
wam.add_module(module, code);
}
let mut clause_code_generator = ClauseCodeGenerator::new(code.len());
clause_code_generator.generate_clause_code(dynamic_clause_map, wam)?;
-
+
add_toplevel_code(wam, code, indices);
clause_code_generator.add_clause_code(wam);
try_eval_session!(wam.check_toplevel_code(&results.toplevel_indices));
try_eval_session!(clause_code_generator.generate_clause_code(results.dynamic_clause_map,
wam));
-
+
add_module_code(wam, module, module_code, indices);
add_toplevel_code(wam, toplvl_code, results.toplevel_indices);