loci: replace of_object_wire_init in list accessors

The of_object_t was already initialized in the list_first accessor. Most of the
work done by the init call in of_object_init is redundant, and as an indirect
call from a central function it is likely to be mispredicted.
diff --git a/c_gen/codegen.py b/c_gen/codegen.py
index b88c111..1629641 100644
--- a/c_gen/codegen.py
+++ b/c_gen/codegen.py
@@ -159,8 +159,11 @@
     for oftype in sorted(list(list_oftypes)):
         cls, e_cls = loxi_utils_legacy.list_name_extract(oftype)
         e_cls = e_cls[:-2]
+        e_uclass = loxi_globals.unified.class_by_name(e_cls)
+        has_wire_length = any(isinstance(m, ir.OFLengthMember) for m in e_uclass.members)
         with template_utils.open_output(install_dir, "loci/src/%s.c" % cls) as out:
-            util.render_template(out, "list.c", cls=cls, e_cls=e_cls)
+            util.render_template(out, "list.c", cls=cls, e_cls=e_cls, e_uclass=e_uclass,
+                                 has_wire_length=has_wire_length)
             # Append legacy generated code
             c_code_gen.gen_new_function_definitions(out, cls)