Home / Function/ pages2pageIdxCompute() — netty Function Reference

pages2pageIdxCompute() — netty Function Reference

Architecture documentation for the pages2pageIdxCompute() function in SizeClasses.java from the netty codebase.

Function java Buffer Search called by 2

Entity Profile

Dependency Diagram

graph TD
  cd3cd0eb_1dc6_a1cc_5aff_28af8d0716ea["pages2pageIdxCompute()"]
  d1cbce7b_bd0a_5553_8e62_6deeb38137ff["SizeClasses"]
  cd3cd0eb_1dc6_a1cc_5aff_28af8d0716ea -->|defined in| d1cbce7b_bd0a_5553_8e62_6deeb38137ff
  6f53d4d9_a4b5_17ff_fa8e_0d7908756327["pages2pageIdx()"]
  6f53d4d9_a4b5_17ff_fa8e_0d7908756327 -->|calls| cd3cd0eb_1dc6_a1cc_5aff_28af8d0716ea
  03ebf358_f670_0537_28b8_67802e214062["pages2pageIdxFloor()"]
  03ebf358_f670_0537_28b8_67802e214062 -->|calls| cd3cd0eb_1dc6_a1cc_5aff_28af8d0716ea
  style cd3cd0eb_1dc6_a1cc_5aff_28af8d0716ea fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

buffer/src/main/java/io/netty/buffer/SizeClasses.java lines 355–380

    private int pages2pageIdxCompute(int pages, boolean floor) {
        int pageSize = pages << pageShifts;
        if (pageSize > chunkSize) {
            return nPSizes;
        }

        int x = log2((pageSize << 1) - 1);

        int shift = x < LOG2_SIZE_CLASS_GROUP + pageShifts
                ? 0 : x - (LOG2_SIZE_CLASS_GROUP + pageShifts);

        int group = shift << LOG2_SIZE_CLASS_GROUP;

        int log2Delta = x < LOG2_SIZE_CLASS_GROUP + pageShifts + 1?
                pageShifts : x - LOG2_SIZE_CLASS_GROUP - 1;

        int mod = pageSize - 1 >> log2Delta & (1 << LOG2_SIZE_CLASS_GROUP) - 1;

        int pageIdx = group + mod;

        if (floor && pageIdx2sizeTab[pageIdx] > pages << pageShifts) {
            pageIdx--;
        }

        return pageIdx;
    }

Domain

Subdomains

Frequently Asked Questions

What does pages2pageIdxCompute() do?
pages2pageIdxCompute() is a function in the netty codebase, defined in buffer/src/main/java/io/netty/buffer/SizeClasses.java.
Where is pages2pageIdxCompute() defined?
pages2pageIdxCompute() is defined in buffer/src/main/java/io/netty/buffer/SizeClasses.java at line 355.
What calls pages2pageIdxCompute()?
pages2pageIdxCompute() is called by 2 function(s): pages2pageIdx, pages2pageIdxFloor.

Analyze Your Own Codebase

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

Try Supermodel Free