Lines Matching refs:cls
80 kobj_class_compile_common(kobj_class_t cls, kobj_ops_t ops)
88 if (cls->ops)
94 for (i = 0, m = cls->methods; m->desc; i++, m++) {
104 ops->cls = cls;
105 cls->ops = ops;
109 kobj_class_compile(kobj_class_t cls)
129 if (cls->ops) {
135 kobj_class_compile_common(cls, ops);
140 kobj_class_compile_static(kobj_class_t cls, kobj_ops_t ops)
149 cls->refs++;
150 kobj_class_compile_common(cls, ops);
154 kobj_lookup_method_class(kobj_class_t cls, kobjop_desc_t desc)
156 kobj_method_t *methods = cls->methods;
169 kobj_lookup_method_mi(kobj_class_t cls,
175 ce = kobj_lookup_method_class(cls, desc);
179 basep = cls->baseclasses;
192 kobj_lookup_method(kobj_class_t cls,
198 ce = kobj_lookup_method_mi(cls, desc);
207 kobj_class_free(kobj_class_t cls)
218 if (cls->refs == 0) {
227 ops = cls->ops;
228 cls->ops = NULL;
238 kobj_create(kobj_class_t cls,
247 obj = bsd_malloc(cls->size, mtype, mflags | M_ZERO);
250 kobj_init(obj, cls);
256 kobj_init_common(kobj_t obj, kobj_class_t cls)
259 obj->ops = cls->ops;
260 cls->refs++;
264 kobj_init(kobj_t obj, kobj_class_t cls)
273 if (!cls->ops) {
280 kobj_class_compile(cls);
284 kobj_init_common(obj, cls);
290 kobj_init_static(kobj_t obj, kobj_class_t cls)
296 kobj_init_common(obj, cls);
302 kobj_class_t cls = obj->ops->cls;
312 cls->refs--;
313 refs = cls->refs;
317 kobj_class_free(cls);