Home / Function/ release0() — netty Function Reference

release0() — netty Function Reference

Architecture documentation for the release0() function in ReferenceCountUpdater.java from the netty codebase.

Function java CommonUtil Internal calls 3 called by 1

Entity Profile

Dependency Diagram

graph TD
  f3501fc7_63b0_989a_4790_5139429fd60c["release0()"]
  f036d2ef_3ffa_eba6_5ed8_a93c1a7f1682["ReferenceCountUpdater"]
  f3501fc7_63b0_989a_4790_5139429fd60c -->|defined in| f036d2ef_3ffa_eba6_5ed8_a93c1a7f1682
  26fafbc4_7e5a_9992_b853_0c8f2800b864["release()"]
  26fafbc4_7e5a_9992_b853_0c8f2800b864 -->|calls| f3501fc7_63b0_989a_4790_5139429fd60c
  59a2cd6a_9318_b154_f406_342a54f60b55["getRawRefCnt()"]
  f3501fc7_63b0_989a_4790_5139429fd60c -->|calls| 59a2cd6a_9318_b154_f406_342a54f60b55
  5dc44bbc_3400_76ce_7516_2f088189a42e["throwIllegalRefCountOnRelease()"]
  f3501fc7_63b0_989a_4790_5139429fd60c -->|calls| 5dc44bbc_3400_76ce_7516_2f088189a42e
  70ed524f_2bd6_7440_cd91_b03e06e3a597["casRawRefCnt()"]
  f3501fc7_63b0_989a_4790_5139429fd60c -->|calls| 70ed524f_2bd6_7440_cd91_b03e06e3a597
  style f3501fc7_63b0_989a_4790_5139429fd60c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

common/src/main/java/io/netty/util/internal/ReferenceCountUpdater.java lines 121–135

    private boolean release0(final T instance, final int decrement) {
        int curr, next;
        do {
            curr = getRawRefCnt(instance);
            if (curr == decrement) {
                next = 1;
            } else {
                if (curr < decrement || (curr & 1) == 1) {
                    throwIllegalRefCountOnRelease(decrement, curr);
                }
                next = curr - decrement;
            }
        } while (!casRawRefCnt(instance, curr, next));
        return (next & 1) == 1;
    }

Domain

Subdomains

Called By

Frequently Asked Questions

What does release0() do?
release0() is a function in the netty codebase, defined in common/src/main/java/io/netty/util/internal/ReferenceCountUpdater.java.
Where is release0() defined?
release0() is defined in common/src/main/java/io/netty/util/internal/ReferenceCountUpdater.java at line 121.
What does release0() call?
release0() calls 3 function(s): casRawRefCnt, getRawRefCnt, throwIllegalRefCountOnRelease.
What calls release0()?
release0() is called by 1 function(s): release.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free