release0() — netty Function Reference
Architecture documentation for the release0() function in ReferenceCountUpdater.java from the netty codebase.
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
Source
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