trIntroSort() — netty Function Reference
Architecture documentation for the trIntroSort() function in Bzip2DivSufSort.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8["trIntroSort()"] 5a60cb70_bf06_95bf_9c73_ed3a4dc24eba["Bzip2DivSufSort"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|defined in| 5a60cb70_bf06_95bf_9c73_ed3a4dc24eba 0800d61f_d4b4_d698_736e_dd03b4e4c519["trSort()"] 0800d61f_d4b4_d698_736e_dd03b4e4c519 -->|calls| 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 4c249bdc_e1de_688c_e0ef_eef3cf5d1d8e["trLog()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| 4c249bdc_e1de_688c_e0ef_eef3cf5d1d8e 3426b691_4b60_1cf9_75ca_2dec8e5ad8f7["update()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| 3426b691_4b60_1cf9_75ca_2dec8e5ad8f7 8c543c23_a272_46a8_3a5c_8091f5ca961f["StackEntry()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| 8c543c23_a272_46a8_3a5c_8091f5ca961f 518cdcfc_c453_fbf6_8931_1df7888ee839["trCopy()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| 518cdcfc_c453_fbf6_8931_1df7888ee839 7eb66a35_f63d_2360_9104_c44d45edb4e6["trInsertionSort()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| 7eb66a35_f63d_2360_9104_c44d45edb4e6 c78162df_9286_60d4_6559_0e9faf4d41b8["trHeapSort()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| c78162df_9286_60d4_6559_0e9faf4d41b8 f0480673_1fb7_0aeb_3cd1_591ddf267014["trGetC()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| f0480673_1fb7_0aeb_3cd1_591ddf267014 26cc1f74_19a2_7ef0_44ac_3c7506a18ac4["trPivot()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| 26cc1f74_19a2_7ef0_44ac_3c7506a18ac4 6cd08680_5bba_3632_1ac7_b77001ad18fa["swapElements()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| 6cd08680_5bba_3632_1ac7_b77001ad18fa 0b62cdbf_da8d_5a4f_a35f_229e259044c1["lsUpdateGroup()"] 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 -->|calls| 0b62cdbf_da8d_5a4f_a35f_229e259044c1 style 3a0e84e1_ef8e_7654_d7c8_b99b9f0abfe8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java lines 1452–1800
private void trIntroSort(final int isa, int isaD, int isaN, int first,
int last, final TRBudget budget, final int size) {
final int[] SA = this.SA;
final StackEntry[] stack = new StackEntry[STACK_SIZE];
int a, b, c, d, e, f;
int s, t;
int v, x = 0;
int limit, next;
int ssize;
for (ssize = 0, limit = trLog(last - first);;) {
if (limit < 0) {
if (limit == -1) {
if (!budget.update(size, last - first)) {
break;
}
PartitionResult result = trPartition(isa, isaD - 1, isaN, first, last, last - 1);
a = result.first;
b = result.last;
if (first < a || b < last) {
if (a < last) {
for (c = first, v = a - 1; c < a; ++c) {
SA[isa + SA[c]] = v;
}
}
if (b < last) {
for (c = a, v = b - 1; c < b; ++c) {
SA[isa + SA[c]] = v;
}
}
stack[ssize++] = new StackEntry(0, a, b, 0);
stack[ssize++] = new StackEntry(isaD - 1, first, last, -2);
if (a - first <= last - b) {
if (1 < a - first) {
stack[ssize++] = new StackEntry(isaD, b, last, trLog(last - b));
last = a; limit = trLog(a - first);
} else if (1 < last - b) {
first = b; limit = trLog(last - b);
} else {
if (ssize == 0) {
return;
}
StackEntry entry = stack[--ssize];
isaD = entry.a;
first = entry.b;
last = entry.c;
limit = entry.d;
}
} else {
if (1 < last - b) {
stack[ssize++] = new StackEntry(isaD, first, a, trLog(a - first));
first = b;
limit = trLog(last - b);
} else if (1 < a - first) {
last = a;
limit = trLog(a - first);
} else {
if (ssize == 0) {
return;
}
StackEntry entry = stack[--ssize];
isaD = entry.a;
first = entry.b;
last = entry.c;
limit = entry.d;
}
}
} else {
for (c = first; c < last; ++c) {
SA[isa + SA[c]] = c;
}
if (ssize == 0) {
return;
}
StackEntry entry = stack[--ssize];
isaD = entry.a;
first = entry.b;
last = entry.c;
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does trIntroSort() do?
trIntroSort() is a function in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java.
Where is trIntroSort() defined?
trIntroSort() is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2DivSufSort.java at line 1452.
What does trIntroSort() call?
trIntroSort() calls 10 function(s): StackEntry, lsUpdateGroup, swapElements, trCopy, trGetC, trHeapSort, trInsertionSort, trLog, and 2 more.
What calls trIntroSort()?
trIntroSort() is called by 1 function(s): trSort.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free