android & benitlux: use NitObject in clients
[nit.git] / src / compiler / separate_compiler.nit
index 45790b3..15b6f05 100644 (file)
@@ -344,7 +344,7 @@ class SeparateCompiler
 
                for m in mainmodule.in_importation.greaters do for cd in m.mclassdefs do
                        var mclass = cd.mclass
-                       # Collect methods ad attributes
+                       # Collect methods and attributes
                        for p in cd.intro_mproperties do
                                if p isa MMethod then
                                        if rta == null then
@@ -982,6 +982,10 @@ class SeparateCompiler
                                var alloc = v.nit_alloc("sizeof(struct instance) + {attrs.length}*sizeof(nitattribute_t)", mclass.full_name)
                                v.add("{res} = {alloc};")
                        end
+                       if modelbuilder.toolcontext.opt_trace.value then
+                               v.add("tracepoint(Nit_Compiler, Object_Instance,\"{mtype}\", (uintptr_t)self);")
+                               v.add("GC_register_finalizer(self, object_destroy_callback, NULL, NULL, NULL);")
+                       end
                        v.add("{res}->type = type;")
                        hardening_live_type(v, "type")
                        v.require_declaration("class_{c_name}")