Home / Function/ release0() — netty Function Reference

release0() — netty Function Reference

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

Function java CommonUtil Internal calls 2 called by 1

Entity Profile

Dependency Diagram

graph TD
  f2601aa0_4731_5bcb_b1a1_5c76b00280c1["release0()"]
  f3598a09_a371_18eb_921b_dedcb34850b7["VarHandleRefCnt"]
  f2601aa0_4731_5bcb_b1a1_5c76b00280c1 -->|defined in| f3598a09_a371_18eb_921b_dedcb34850b7
  f09c698a_6bc7_6ced_8737_2b648c1562a3["release0()"]
  f09c698a_6bc7_6ced_8737_2b648c1562a3 -->|calls| f2601aa0_4731_5bcb_b1a1_5c76b00280c1
  430389be_c1ee_77a2_9ce8_43f5fe849582["throwIllegalRefCountOnRelease()"]
  f2601aa0_4731_5bcb_b1a1_5c76b00280c1 -->|calls| 430389be_c1ee_77a2_9ce8_43f5fe849582
  f09c698a_6bc7_6ced_8737_2b648c1562a3["release0()"]
  f2601aa0_4731_5bcb_b1a1_5c76b00280c1 -->|calls| f09c698a_6bc7_6ced_8737_2b648c1562a3
  style f2601aa0_4731_5bcb_b1a1_5c76b00280c1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

common/src/main/java/io/netty/util/internal/RefCnt.java lines 359–373

        private static boolean release0(RefCnt instance, int decrement) {
            int curr, next;
            do {
                curr = (int) VH.get(instance);
                if (curr == decrement) {
                    next = 1;
                } else {
                    if (curr < decrement || (curr & 1) == 1) {
                        throwIllegalRefCountOnRelease(decrement, curr);
                    }
                    next = curr - decrement;
                }
            } while (!(boolean) VH.compareAndSet(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/RefCnt.java.
Where is release0() defined?
release0() is defined in common/src/main/java/io/netty/util/internal/RefCnt.java at line 359.
What does release0() call?
release0() calls 2 function(s): release0, throwIllegalRefCountOnRelease.
What calls release0()?
release0() is called by 1 function(s): release0.

Analyze Your Own Codebase

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

Try Supermodel Free