Port: win32 DLLs don't support hidden symbols
[babeltrace.git] / include / babeltrace / ref-internal.h
index 8578de97b2ec1808eded8e9887961c1e3e7f4644..c5d8143a61caa1ac0202ffb379afe9337c5a4291 100644 (file)
@@ -50,6 +50,11 @@ static inline
 void bt_ref_get(struct bt_ref *ref)
 {
        assert(ref);
+
+       if (unlikely(!ref->release)) {
+               return;
+       }
+
        ref->count++;
        /* Overflow check. */
        assert(ref->count);
@@ -60,7 +65,7 @@ void bt_ref_put(struct bt_ref *ref)
 {
        assert(ref);
        /* Only assert if the object has opted-in for reference counting. */
-       if ((--ref->count) == 0 && ref->release) {
+       if (unlikely((--ref->count) == 0 && ref->release)) {
                ref->release((struct bt_object *) ref);
        }
 }
This page took 0.024821 seconds and 4 git commands to generate.