Skip to content

Conversation

@easyice
Copy link
Contributor

@easyice easyice commented Nov 24, 2023

From issue: #12826

The JMH benchmark with this PR on my Mac (Intel chip) :

java 17

Benchmark                                   (size)   Mode  Cnt  Score   Error   Units
GroupVIntBenchmark.byteArrayReadGroupVInt       64  thrpt    5  5.519 ± 0.270  ops/us
GroupVIntBenchmark.byteArrayReadVInt            64  thrpt    5  4.075 ± 2.868  ops/us
GroupVIntBenchmark.byteBufferReadGroupVInt      64  thrpt    5  7.464 ± 1.618  ops/us
GroupVIntBenchmark.byteBufferReadVInt           64  thrpt    5  5.179 ± 0.470  ops/us

java 21

Benchmark                                   (size)   Mode  Cnt   Score   Error   Units
GroupVIntBenchmark.byteArrayReadGroupVInt       64  thrpt    5   5.768 ± 0.305  ops/us
GroupVIntBenchmark.byteArrayReadVInt            64  thrpt    5   5.255 ± 0.110  ops/us
GroupVIntBenchmark.byteBufferReadGroupVInt      64  thrpt    5  11.551 ± 0.252  ops/us
GroupVIntBenchmark.byteBufferReadVInt           64  thrpt    5   5.611 ± 0.266  ops/us

@easyice easyice marked this pull request as ready for review November 24, 2023 11:49
Copy link
Contributor

@jpountz jpountz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still don't feel great about the API taking longs, but otherwise I like this change. @uschindler might have opinions on the MemorySegmentIndexInput implementation.

Should we optimize ByteBuffersDataInput similarly (and then delegate in ByteBuffersIndexInput) to yield speedups with older Java releases as well?

final int chunkSizePower;
final Arena arena;
final MemorySegment[] segments;
private static final int[] MASKS = new int[] {0xFF, 0xFFFF, 0xFFFFFF, 0xFFFFFFFF};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe rename to GROUP_VINT_MASKS or something along these lines now that this logic moved to a class which is not only about group vint?

Also in general I prefer having constants before instance members in the class definition.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, great suggestion!

* internal state like file position).
*/
public abstract class DataOutput {
BytesRef groupVIntBytes;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BytesRefBuilder feels like a better fit for how you're using it (using length rather than offset to track the number of written bytes). Also let's make it private?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, Thanks for the suggestion!


final GroupVIntWriter w = new GroupVIntWriter();
byte[] encoded = new byte[(int) (Integer.BYTES * ForUtil.BLOCK_SIZE * 1.25)];
Directory dir = FSDirectory.open(createTempDir());
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use newFSDirectory to add coverage for all Directory implementations?

Suggested change
Directory dir = FSDirectory.open(createTempDir());
Directory dir = newFSDirectory(createTempDir());

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

if (curSegment.byteSize() - curPosition < 17) {
super.readGroupVInt(docs, pos);
return;
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we have a test that covers this case well at the moment.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In TestGroupVInt#testEncodeDecode we use a range of [1-31] bpv and a ragne of [1-128] numValues, For instance if the bpv==2 and numValues==4 it will cover this case?

* @param docs the array to read ints into.
* @param offset the offset in the array to start storing ints.
*/
public void readGroupVInt(long[] docs, int offset) throws IOException {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's make this method private? This would force MemorySegmentIndexInput to copy the logic of readGroupVInts but this would also be better encapsulated?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, This also reduces virtual function calls.


// tail vints
for (; off < limit; off++) {
writeVInt((int) values[off]);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that we're moving this to DataOutput, we probably need to check these casts, e.g. with Math.toIntExact.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, i like that!

@jpountz
Copy link
Contributor

jpountz commented Nov 24, 2023

And maybe BufferedIndexInput too for folks using NIOFSDirectory?

Copy link
Contributor Author

@easyice easyice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the fast review! I will try to do the similarly optimize use BitUtil.VH_LE_INT#get() in ByteBuffersDataInput and BufferedIndexInput

* @param docs the array to read ints into.
* @param offset the offset in the array to start storing ints.
*/
public void readGroupVInt(long[] docs, int offset) throws IOException {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, This also reduces virtual function calls.

* internal state like file position).
*/
public abstract class DataOutput {
BytesRef groupVIntBytes;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, Thanks for the suggestion!


// tail vints
for (; off < limit; off++) {
writeVInt((int) values[off]);
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea, i like that!

final int chunkSizePower;
final Arena arena;
final MemorySegment[] segments;
private static final int[] MASKS = new int[] {0xFF, 0xFFFF, 0xFFFFFF, 0xFFFFFFFF};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, great suggestion!

if (curSegment.byteSize() - curPosition < 17) {
super.readGroupVInt(docs, pos);
return;
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In TestGroupVInt#testEncodeDecode we use a range of [1-31] bpv and a ragne of [1-128] numValues, For instance if the bpv==2 and numValues==4 it will cover this case?


final GroupVIntWriter w = new GroupVIntWriter();
byte[] encoded = new byte[(int) (Integer.BYTES * ForUtil.BLOCK_SIZE * 1.25)];
Directory dir = FSDirectory.open(createTempDir());
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@easyice
Copy link
Contributor Author

easyice commented Nov 26, 2023

I did the similarly optimize in BufferedIndexInput and BufferedIndexInput, The benchmark with java 17 looks fine. In order to observe the diff after overriding readGroupVInts,I add DataInput#readGroupVIntsBaseline which is copy from readGroupVInts, it will be removed after code review.

Here is the JMH output for newly optimized, byteBuffersReadGroupVIntBaseline and nioReadGroupVIntBaseline means use the default implementation (DataInput#readGroupVIntsBaseline), the other is their own optimized implementations

Benchmark                                            (size)   Mode  Cnt  Score   Error   Units
GroupVIntBenchmark.byteBuffersReadGroupVInt              64  thrpt    5  5.384 ± 1.074  ops/us
GroupVIntBenchmark.byteBuffersReadGroupVIntBaseline      64  thrpt    5  2.056 ± 0.365  ops/us
GroupVIntBenchmark.nioReadGroupVInt                      64  thrpt    5  8.787 ± 1.405  ops/us
GroupVIntBenchmark.nioReadGroupVIntBaseline              64  thrpt    5  5.281 ± 0.741  ops/us

int curPosition = blockOffset;

byte[] bytes = blocks[blockIndex(pos)].array();
docs[offset] = (int) BitUtil.VH_LE_INT.get(bytes, curPosition) & GROUP_VINT_MASKS[n1Minus1];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd rather work on the ByteBuffer (ie. do ByteBuffer#getInt rather than using var handles on the underlying byte[]), even if performance is a bit better by working directly on the byte[].

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jpountz Thanks for this suggestion, the performance is similar

public abstract class DataInput implements Cloneable {
// the maximum length of a single group-varint is 4 integers + 1 byte flag.
static final int MAX_LENGTH_PER_GROUP = 17;
static final int[] GROUP_VINT_MASKS = new int[] {0xFF, 0xFFFF, 0xFFFFFF, 0xFFFFFFFF};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I would like it better if these constants and fallbackReadGroupVInt were moved to a helper class, e.g. org.apache.lucene.util.GroupVIntUtil.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

}

/**
* Encode integers using group-varint. It uses VInt to encode tail values that are not enough for
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a javadoc link to #writeVInt? Also mention that all longs are actually required to be integers?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, Thanks, i like that

import org.apache.lucene.util.ArrayUtil;
import org.apache.lucene.util.packed.PackedInts;

public class TestGroupVInt extends LuceneTestCase {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we move these tests to BaseDirectoryTestCase now, to automatically get coverage across all directories?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, cool!

@uschindler
Copy link
Contributor

uschindler commented Dec 2, 2023

Hi,
I have no time to review at moment, will come back next week.

Some thoughts:

  • there's copy-paste code missing to MemorySegmentIndexInput for 20 and 19. But we can do this later. 19 might need slight changes.
  • ByteBufferIndexInput needs code to support MMapDirectory in older Java versions.

For both cases above make sure to exactly follow all try-catch blocks and calling to super as done in other bulk read methods.

It may also be needed to add a separate test to TestMultiMMap. In general all tests should be in BaseDirecoryTestCase, except specific ones to check reads across buffer/segment borders

Also make sure to run tests with Java 17 and Java 19, 20, 21.

@uschindler
Copy link
Contributor

In general I am not sure if we really need specialization in Mmapdir. Without a benchmark showing improvement, I'd cancel this. Counting number of virtual calls is bullshit. This is all optimized away by Hotspot's inlining, so don't repeat code just because of a few method calls. CC @rmuir

@uschindler
Copy link
Contributor

uschindler commented Dec 2, 2023

Hi,
We do not even implement readVInt for memory segments. Why should we implement it for this complex case?

Please share assembly output of optimized code, otherwise -1 to apply any changes to MemorySegmentIndexInput and (Mapped)ByteBufferIndexInput.

This normally inlines perfectly.

@easyice
Copy link
Contributor Author

easyice commented Dec 3, 2023

Thank you very much for your suggestions, i had fixed the comments from @jpountz, but the related to Mmapdir will be later(such as java19, java20 support), because we need to confirm whether to change it. i agree that we should be cautious here. in my understanding the optimized code is faster than the main branch probably because the optimized code doesn't need a switch statement in GroupVIntUtil#readLongInGroup, although it was inlined.

The JMH output for currently, it's similar to before we replaced varHander with ByteBuffer#getInt()
java17

Benchmark                                                 (size)   Mode  Cnt   Score   Error   Units
GroupVIntBenchmark.byteBuffersReadGroupVInt                   64  thrpt    5   4.698 ± 2.039  ops/us
GroupVIntBenchmark.byteBuffersReadGroupVIntBaseline           64  thrpt    5   2.167 ± 0.064  ops/us
GroupVIntBenchmark.mmap_byteBufferReadGroupVInt               64  thrpt    5   7.386 ± 0.524  ops/us
GroupVIntBenchmark.mmap_byteBufferReadGroupVIntBaseline       64  thrpt    5   7.358 ± 1.316  ops/us
GroupVIntBenchmark.nioReadGroupVInt                           64  thrpt    5   8.236 ± 1.052  ops/us
GroupVIntBenchmark.nioReadGroupVIntBaseline                   64  thrpt    5   5.381 ± 1.134  ops/us

java21

Benchmark                                                 (size)   Mode  Cnt   Score   Error   Units
GroupVIntBenchmark.byteBuffersReadGroupVInt                   64  thrpt    5   4.622 ± 0.880  ops/us
GroupVIntBenchmark.byteBuffersReadGroupVIntBaseline           64  thrpt    5   1.674 ± 0.245  ops/us
GroupVIntBenchmark.mmap_byteBufferReadGroupVInt               64  thrpt    5  10.165 ± 1.083  ops/us
GroupVIntBenchmark.mmap_byteBufferReadGroupVIntBaseline       64  thrpt    5   5.104 ± 0.388  ops/us
GroupVIntBenchmark.nioReadGroupVInt                           64  thrpt    5   9.527 ± 1.556  ops/us
GroupVIntBenchmark.nioReadGroupVIntBaseline                   64  thrpt    5   5.351 ± 0.621  ops/us

@uschindler Thank you for take a look at this, here is the assembly output for MemorySegmentIndexInput#readGroupVInt, using command: java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly --module-path lucene/benchmark-jmh/build/benchmarks --module org.apache.lucene.benchmark.jmh GroupVIntBenchmark.mmap

assembly code
============================ C1-compiled nmethod ==============================
----------------------------------- Assembly -----------------------------------

Compiled method (c1)   15767 3247   !   2       org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt (243 bytes)
 total in heap  [0x00007f03a8efd210,0x00007f03a8f01060] = 15952
 relocation     [0x00007f03a8efd368,0x00007f03a8efd5d0] = 616
 main code      [0x00007f03a8efd5e0,0x00007f03a8efe700] = 4384
 stub code      [0x00007f03a8efe700,0x00007f03a8efe7c0] = 192
 oops           [0x00007f03a8efe7c0,0x00007f03a8efe7d0] = 16
 metadata       [0x00007f03a8efe7d0,0x00007f03a8efe8e0] = 272
 scopes data    [0x00007f03a8efe8e0,0x00007f03a8eff6e8] = 3592
 scopes pcs     [0x00007f03a8eff6e8,0x00007f03a8f00628] = 3904
 dependencies   [0x00007f03a8f00628,0x00007f03a8f00688] = 96
 handler table  [0x00007f03a8f00688,0x00007f03a8f00f70] = 2280
 nul chk table  [0x00007f03a8f00f70,0x00007f03a8f01060] = 240

[Constant Pool (empty)]

[MachCode]
[Entry Point]
  # {method} {0x00007f03534696b8} 'readGroupVInt' '([JI)V' in 'org/apache/lucene/store/MemorySegmentIndexInput'
  # this:     rsi:rsi   = 'org/apache/lucene/store/MemorySegmentIndexInput'
  # parm0:    rdx:rdx   = '[J'
  # parm1:    rcx       = int
  #           [sp+0x230]  (sp of caller)
  0x00007f03a8efd5e0: 448b 5608 | 49bb 0000 | 005f 037f | 0000 4d03 | d34c 3bd0 

  0x00007f03a8efd5f4: ;   {runtime_call ic_miss_stub}
  0x00007f03a8efd5f4: 0f85 86b9 | 0907 660f | 1f44 0000 
[Verified Entry Point]
  0x00007f03a8efd600: 8984 2400 | c0fe ff55 | 4881 ec20 | 0200 0090 | 4181 7f20 | 0000 0000 

  0x00007f03a8efd618: ;   {runtime_call StubRoutines (final stubs)}
  0x00007f03a8efd618: 7405 e8e1 | ad08 0748 | 89b4 2480 | 0100 0048 | 8994 2488 | 0100 0089 | 8c24 9001 | 0000 48bf 
  0x00007f03a8efd638: 3095 9253 | 037f 0000 | 8b5f 0883 | c302 895f | 0881 e3fe | 0f00 0083 | fb00 0f84 

  0x00007f03a8efd654: ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@0 (line 319)
  0x00007f03a8efd654: f40d 0000 

  0x00007f03a8efd658: ;*getfield curSegment {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@1 (line 319)
  0x00007f03a8efd658: 8b7e 3848 | 83ff 000f | 842a 0000 

  0x00007f03a8efd664: ;   {metadata('jdk/internal/foreign/AbstractMemorySegmentImpl')}
  0x00007f03a8efd664: 0049 b908 | bb0c 6003 | 7f00 0044 | 8b47 0849 | ba00 0000 | 5f03 7f00 | 004d 03c2 | 4d3b 4838 
  0x00007f03a8efd684: 0f85 e30d | 0000 e900 | 0000 0048 

  0x00007f03a8efd690: ;*invokeinterface byteSize {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@4 (line 319)
  0x00007f03a8efd690: 8bdf 488b 

  0x00007f03a8efd694: ;*getfield length {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::byteSize@1 (line 244)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@4 (line 319)
  0x00007f03a8efd694: 5f10 488b 

  0x00007f03a8efd698: ;*getfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@10 (line 319)
  0x00007f03a8efd698: 7e20 482b | df48 bf11 | 0000 0000 | 0000 0048 | 3bdf 0f8c 

  0x00007f03a8efd6ac: ;*lcmp {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@17 (line 319)
  0x00007f03a8efd6ac: f506 0000 | 488b fe48 

  0x00007f03a8efd6b4: ;*invokevirtual readByte {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@29 (line 325)
                      ;   {optimized virtual_call}
  0x00007f03a8efd6b4: 8bf7 90e8 

  0x00007f03a8efd6b8: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*invokevirtual readByte {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@29 (line 325)
  0x00007f03a8efd6b8: c4bd 0907 

  0x00007f03a8efd6bc: ;   {other}
  0x00007f03a8efd6bc: 0f1f 8400 

  0x00007f03a8efd6c0: ;*invokevirtual readByte {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@29 (line 325)
  0x00007f03a8efd6c0: ac04 0000 | 25ff 0000 | 0048 8bf8 | c1ff 0689 | bc24 9401 | 0000 488b | d0c1 fa04 | 83e2 0389 
  0x00007f03a8efd6e0: 9424 9801 | 0000 488b | c8c1 f902 | 83e1 0389 | 8c24 9c01 | 0000 83e0 | 0389 8424 | a001 0000 
  0x00007f03a8efd700: 488b b424 | 8001 0000 

  0x00007f03a8efd708: ;*getfield curSegment {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@65 (line 332)
  0x00007f03a8efd708: 448b 4638 

  0x00007f03a8efd70c: ;*getfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@72 (line 332)
  0x00007f03a8efd70c: 488b 5e20 | 4983 f800 | 0f84 2a00 

  0x00007f03a8efd718: ;   {metadata('jdk/internal/foreign/AbstractMemorySegmentImpl')}
  0x00007f03a8efd718: 0000 49be | 08bb 0c60 | 037f 0000 | 458b 6808 | 49ba 0000 | 005f 037f | 0000 4d03 | ea4d 3b75 
  0x00007f03a8efd738: 380f 8538 | 0d00 00e9 | 0000 0000 | 4d8b c849 

  0x00007f03a8efd748: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd748: 3b00 4983 | f800 0f84 

  0x00007f03a8efd750: ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@1 (line 232)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd750: 8209 0000 | 4983 f800 | 0f84 2a00 

  0x00007f03a8efd75c: ;   {metadata('jdk/internal/foreign/AbstractMemorySegmentImpl')}
  0x00007f03a8efd75c: 0000 49bd | 08bb 0c60 | 037f 0000 | 458b 5808 | 49ba 0000 | 005f 037f | 0000 4d03 | da4d 3b6b 
  0x00007f03a8efd77c: 380f 85fe | 0c00 00e9 

  0x00007f03a8efd784: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@4 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd784: 0000 0000 

  0x00007f03a8efd788: ; implicit exception: dispatches to 0x00007f03a8efe48a
                      ;*getfield length {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@8 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd788: 4d8b 4810 | 49bb 0400 | 0000 0000 | 0000 4d2b | cb49 bb01 | 0000 0000 | 0000 004d | 03cb 49bb 
  0x00007f03a8efd7a8: 0000 0000 | 0000 0000 | 493b db0f | 8cd6 0c00 | 0049 3bd9 | 0f8d da0c | 0000 4c8b 

  0x00007f03a8efd7c4: ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd7c4: cb45 8b48 

  0x00007f03a8efd7c8: ;*getfield scope {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::sessionImpl@1 (line 422)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@24 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd7c8: 184d 8b58 

  0x00007f03a8efd7cc: ;*getfield min {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.NativeMemorySegmentImpl::unsafeGetOffset@1 (line 103)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::offsetNoVMAlignCheck@1 (line 96)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@40 (line 111)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd7cc: 204c 03db | 4983 f900 | 0f84 2f00 

  0x00007f03a8efd7d8: ;*ifnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@1 (line 1906)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd7d8: 0000 458b 

  0x00007f03a8efd7dc: ;*getfield owner {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@1 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd7dc: 4114 4983 | f800 0f84 

  0x00007f03a8efd7e4: ;*ifnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@4 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd7e4: 1300 0000 | 498b 9f80 | 0300 0048 

  0x00007f03a8efd7f0: ;*invokestatic currentThread {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@11 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd7f0: 8b1b 4c3b | c30f 85be 

  0x00007f03a8efd7f8: ;*if_acmpeq {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@14 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd7f8: 0800 0045 

  0x00007f03a8efd7fc: ;*getfield state {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@22 (line 205)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd7fc: 8b41 0c41 | 83f8 000f | 8c8b 0800 

  0x00007f03a8efd808: ;*ifge {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@25 (line 205)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd808: 004c 898c | 24a8 0100 

  0x00007f03a8efd810: ;   {oop(a 'jdk/internal/misc/Unsafe'{0x00000000800e9c28})}
  0x00007f03a8efd810: 0049 be28 | 9c0e 8000 

  0x00007f03a8efd818: ;   {oop(nullptr)}
  0x00007f03a8efd818: 0000 0048 | ba00 0000 | 0000 0000 | 0049 8bcb | 41b8 0000 | 0000 498b 

  0x00007f03a8efd830: ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd830: f666 0f1f 

  0x00007f03a8efd834: ;   {optimized virtual_call}
  0x00007f03a8efd834: 4400 00e8 

  0x00007f03a8efd838: ; ImmutableOopMap {[384]=Oop [392]=Oop [424]=Oop }
                      ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd838: 44bc 0907 

  0x00007f03a8efd83c: ;   {other}
  0x00007f03a8efd83c: 0f1f 8400 

  0x00007f03a8efd840: ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efd840: 2c06 0001 

  0x00007f03a8efd844: ;   {oop([I{0x00000000dca1ddd0})}
  0x00007f03a8efd844: 48ba d0dd | a1dc 0000 | 0000 b904 | 0000 003b | 8c24 9401 | 0000 8bbc | 2494 0100 | 000f 8647 
  0x00007f03a8efd864: 0c00 0048 | 63cf 8b54 

  0x00007f03a8efd86c: ;*iaload {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@85 (line 333)
  0x00007f03a8efd86c: 8a10 4823 | c248 63c0 | 8b8c 2490 | 0100 0048 | 8b94 2488 | 0100 003b | 4a0c 0f83 | 3f0c 0000 
  0x00007f03a8efd88c: 4c63 c14a 

  0x00007f03a8efd890: ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@88 (line 333)
  0x00007f03a8efd890: 8944 c210 | 488b b424 | 8001 0000 

  0x00007f03a8efd89c: ;*getfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@91 (line 334)
  0x00007f03a8efd89c: 4c8b 4620 | 488b dfff | c348 63db | 4c03 c34c 

  0x00007f03a8efd8ac: ;*putfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@100 (line 334)
  0x00007f03a8efd8ac: 8946 2048 | 8bd9 ffc3 | 899c 24a4 | 0100 008b 

  0x00007f03a8efd8bc: ;*getfield curSegment {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@108 (line 335)
  0x00007f03a8efd8bc: 4638 4883 | f800 0f84 | 2a00 0000 

  0x00007f03a8efd8c8: ;   {metadata('jdk/internal/foreign/AbstractMemorySegmentImpl')}
  0x00007f03a8efd8c8: 49be 08bb | 0c60 037f | 0000 448b | 6808 49ba | 0000 005f | 037f 0000 | 4d03 ea4d | 3b75 380f 
  0x00007f03a8efd8e8: 85ec 0b00 | 00e9 0000 | 0000 4c8b 

  0x00007f03a8efd8f4: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd8f4: c848 3b00 | 4883 f800 | 0f84 fb06 

  0x00007f03a8efd900: ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@1 (line 232)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd900: 0000 4883 | f800 0f84 | 2a00 0000 

  0x00007f03a8efd90c: ;   {metadata('jdk/internal/foreign/AbstractMemorySegmentImpl')}
  0x00007f03a8efd90c: 49bb 08bb | 0c60 037f | 0000 448b | 4808 49ba | 0000 005f | 037f 0000 | 4d03 ca4d | 3b59 380f 
  0x00007f03a8efd92c: 85b2 0b00 | 00e9 0000 | 0000 488b 

  0x00007f03a8efd938: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@4 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd938: f848 8b47 

  0x00007f03a8efd93c: ;*getfield length {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@8 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd93c: 1049 b904 | 0000 0000 | 0000 0049 | 2bc1 49b9 | 0100 0000 | 0000 0000 | 4903 c149 | b900 0000 
  0x00007f03a8efd95c: 0000 0000 | 004d 3bc1 | 0f8c 870b | 0000 4c3b | c00f 8d8b | 0b00 0049 

  0x00007f03a8efd974: ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd974: 8bc0 8b47 

  0x00007f03a8efd978: ;*getfield scope {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::sessionImpl@1 (line 422)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@24 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd978: 184c 8b4f 

  0x00007f03a8efd97c: ;*getfield min {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.NativeMemorySegmentImpl::unsafeGetOffset@1 (line 103)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::offsetNoVMAlignCheck@1 (line 96)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@40 (line 111)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd97c: 204d 03c8 | 4883 f800 | 0f84 2f00 

  0x00007f03a8efd988: ;*ifnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@1 (line 1906)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd988: 0000 448b 

  0x00007f03a8efd98c: ;*getfield owner {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@1 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd98c: 4014 4983 | f800 0f84 

  0x00007f03a8efd994: ;*ifnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@4 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd994: 1300 0000 | 498b bf80 | 0300 0048 

  0x00007f03a8efd9a0: ;*invokestatic currentThread {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@11 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd9a0: 8b3f 4c3b | c70f 8528 

  0x00007f03a8efd9a8: ;*if_acmpeq {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@14 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd9a8: 0600 0044 

  0x00007f03a8efd9ac: ;*getfield state {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@22 (line 205)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd9ac: 8b40 0c41 | 83f8 000f | 8ceb 0500 

  0x00007f03a8efd9b8: ;*ifge {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@25 (line 205)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd9b8: 0048 8984 | 24b0 0100 

  0x00007f03a8efd9c0: ;   {oop(a 'jdk/internal/misc/Unsafe'{0x00000000800e9c28})}
  0x00007f03a8efd9c0: 0049 bb28 | 9c0e 8000 

  0x00007f03a8efd9c8: ;   {oop(nullptr)}
  0x00007f03a8efd9c8: 0000 0048 | ba00 0000 | 0000 0000 | 0049 8bc9 | 41b8 0000 | 0000 498b 

  0x00007f03a8efd9e0: ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd9e0: f366 0f1f 

  0x00007f03a8efd9e4: ;   {optimized virtual_call}
  0x00007f03a8efd9e4: 4400 00e8 

  0x00007f03a8efd9e8: ; ImmutableOopMap {[384]=Oop [392]=Oop [432]=Oop }
                      ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd9e8: 94ba 0907 

  0x00007f03a8efd9ec: ;   {other}
  0x00007f03a8efd9ec: 0f1f 8400 

  0x00007f03a8efd9f0: ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efd9f0: dc07 0002 

  0x00007f03a8efd9f4: ;   {oop([I{0x00000000dca1ddd0})}
  0x00007f03a8efd9f4: 48ba d0dd | a1dc 0000 | 0000 8b9c | 2498 0100 | 0048 63cb 

  0x00007f03a8efda08: ;*iaload {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@128 (line 336)
  0x00007f03a8efda08: 8b54 8a10 | 4823 c248 | 63c0 488b | 9424 8801 | 0000 448b | 8424 a401 | 0000 443b | 420c 0f83 
  0x00007f03a8efda28: e40a 0000 | 4963 c848 

  0x00007f03a8efda30: ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@131 (line 336)
  0x00007f03a8efda30: 8944 ca10 | 488b b424 | 8001 0000 

  0x00007f03a8efda3c: ;*getfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@134 (line 337)
  0x00007f03a8efda3c: 488b 4e20 | 488b fbff | c748 63ff | 4803 cf48 

  0x00007f03a8efda4c: ;*putfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@143 (line 337)
  0x00007f03a8efda4c: 894e 208b | bc24 9001 | 0000 83c7 | 0289 bc24 | b801 0000 

  0x00007f03a8efda60: ;*getfield curSegment {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@151 (line 338)
  0x00007f03a8efda60: 8b46 3848 | 83f8 000f | 842a 0000 

  0x00007f03a8efda6c: ;   {metadata('jdk/internal/foreign/AbstractMemorySegmentImpl')}
  0x00007f03a8efda6c: 0049 be08 | bb0c 6003 | 7f00 0044 | 8b68 0849 | ba00 0000 | 5f03 7f00 | 004d 03ea | 4d3b 7538 
  0x00007f03a8efda8c: 0f85 8c0a | 0000 e900 | 0000 004c | 8bc8 483b 

  0x00007f03a8efda9c: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efda9c: 0048 83f8 | 000f 8465 

  0x00007f03a8efdaa4: ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@1 (line 232)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdaa4: 0400 0048 | 83f8 000f | 842a 0000 

  0x00007f03a8efdab0: ;   {metadata('jdk/internal/foreign/AbstractMemorySegmentImpl')}
  0x00007f03a8efdab0: 0049 b908 | bb0c 6003 | 7f00 0044 | 8b40 0849 | ba00 0000 | 5f03 7f00 | 004d 03c2 | 4d3b 4838 
  0x00007f03a8efdad0: 0f85 520a | 0000 e900 | 0000 004c 

  0x00007f03a8efdadc: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@4 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdadc: 8bc0 498b 

  0x00007f03a8efdae0: ;*getfield length {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@8 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdae0: 5810 48b8 | 0400 0000 | 0000 0000 | 482b d848 | b801 0000 | 0000 0000 | 0048 03d8 | 48b8 0000 
  0x00007f03a8efdb00: 0000 0000 | 0000 483b | c80f 8c27 | 0a00 0048 | 3bcb 0f8d | 2b0a 0000 

  0x00007f03a8efdb18: ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb18: 488b d941 

  0x00007f03a8efdb1c: ;*getfield scope {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::sessionImpl@1 (line 422)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@24 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb1c: 8b58 1849 

  0x00007f03a8efdb20: ;*getfield min {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.NativeMemorySegmentImpl::unsafeGetOffset@1 (line 103)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::offsetNoVMAlignCheck@1 (line 96)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@40 (line 111)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb20: 8b40 204c | 8bc0 4c03 | c148 83fb | 000f 842c 

  0x00007f03a8efdb30: ;*ifnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@1 (line 1906)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb30: 0000 008b 

  0x00007f03a8efdb34: ;*getfield owner {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@1 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb34: 4b14 4883 | f900 0f84 

  0x00007f03a8efdb3c: ;*ifnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@4 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb3c: 1300 0000 | 498b 8780 | 0300 0048 

  0x00007f03a8efdb48: ;*invokestatic currentThread {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@11 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb48: 8b00 483b | c80f 8595 

  0x00007f03a8efdb50: ;*if_acmpeq {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@14 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb50: 0300 008b 

  0x00007f03a8efdb54: ;*getfield state {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@22 (line 205)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb54: 4b0c 83f9 | 000f 8c5d 

  0x00007f03a8efdb5c: ;*ifge {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@25 (line 205)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb5c: 0300 0048 | 899c 24c0 

  0x00007f03a8efdb64: ;   {oop(a 'jdk/internal/misc/Unsafe'{0x00000000800e9c28})}
  0x00007f03a8efdb64: 0100 0048 | b828 9c0e | 8000 0000 

  0x00007f03a8efdb70: ;   {oop(nullptr)}
  0x00007f03a8efdb70: 0048 ba00 | 0000 0000 | 0000 0049 | 8bc8 41b8 | 0000 0000 

  0x00007f03a8efdb84: ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
                      ;   {optimized virtual_call}
  0x00007f03a8efdb84: 488b f0e8 

  0x00007f03a8efdb88: ; ImmutableOopMap {[384]=Oop [392]=Oop [448]=Oop }
                      ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb88: f4b8 0907 

  0x00007f03a8efdb8c: ;   {other}
  0x00007f03a8efdb8c: 0f1f 8400 

  0x00007f03a8efdb90: ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdb90: 7c09 0003 

  0x00007f03a8efdb94: ;   {oop([I{0x00000000dca1ddd0})}
  0x00007f03a8efdb94: 48ba d0dd | a1dc 0000 | 0000 8b8c | 249c 0100 | 004c 63c1 | 428b 5482 

  0x00007f03a8efdbac: ;*iaload {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@171 (line 339)
  0x00007f03a8efdbac: 1048 23c2 | 4863 c048 | 8b94 2488 | 0100 008b | bc24 b801 | 0000 3b7a | 0c0f 838a | 0900 004c 
  0x00007f03a8efdbcc: 63c7 4a89 

  0x00007f03a8efdbd0: ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@174 (line 339)
  0x00007f03a8efdbd0: 44c2 1048 | 8bb4 2480 | 0100 004c 

  0x00007f03a8efdbdc: ;*getfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@177 (line 340)
  0x00007f03a8efdbdc: 8b46 2048 | 8bd9 ffc3 | 4863 db4c | 03c3 4c89 

  0x00007f03a8efdbec: ;*putfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@186 (line 340)
  0x00007f03a8efdbec: 4620 8b9c | 2490 0100 | 0083 c303 | 899c 24bc | 0100 008b 

  0x00007f03a8efdc00: ;*getfield curSegment {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@194 (line 341)
  0x00007f03a8efdc00: 4638 4883 | f800 0f84 | 2a00 0000 

  0x00007f03a8efdc0c: ;   {metadata('jdk/internal/foreign/AbstractMemorySegmentImpl')}
  0x00007f03a8efdc0c: 49be 08bb | 0c60 037f | 0000 448b | 6808 49ba | 0000 005f | 037f 0000 | 4d03 ea4d | 3b75 380f 
  0x00007f03a8efdc2c: 8532 0900 | 00e9 0000 | 0000 4c8b 

  0x00007f03a8efdc38: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdc38: c848 3b00 | 4883 f800 | 0f84 e201 

  0x00007f03a8efdc44: ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@1 (line 232)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdc44: 0000 4883 | f800 0f84 | 2900 0000 

  0x00007f03a8efdc50: ;   {metadata('jdk/internal/foreign/AbstractMemorySegmentImpl')}
  0x00007f03a8efdc50: 49b9 08bb | 0c60 037f | 0000 8b48 | 0849 ba00 | 0000 5f03 | 7f00 0049 | 03ca 4c3b | 4938 0f85 
  0x00007f03a8efdc70: f908 0000 | e900 0000 

  0x00007f03a8efdc78: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@4 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdc78: 0048 8bc8 

  0x00007f03a8efdc7c: ; implicit exception: dispatches to 0x00007f03a8efe576
                      ;*getfield length {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@8 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdc7c: 488b 7910 | 48b8 0400 | 0000 0000 | 0000 482b | f848 b801 | 0000 0000 | 0000 0048 | 03f8 48b8 
  0x00007f03a8efdc9c: 0000 0000 | 0000 0000 | 4c3b c00f | 8cce 0800 | 004c 3bc7 | 0f8d d208 | 0000 498b 

  0x00007f03a8efdcb8: ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdcb8: f88b 7918 

  0x00007f03a8efdcbc: ;*getfield min {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.NativeMemorySegmentImpl::unsafeGetOffset@1 (line 103)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::offsetNoVMAlignCheck@1 (line 96)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@40 (line 111)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdcbc: 488b 4120 | 488b c849 | 03c8 4883 | ff00 0f84 

  0x00007f03a8efdccc: ;*ifnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@1 (line 1906)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdccc: 2f00 0000 

  0x00007f03a8efdcd0: ; implicit exception: dispatches to 0x00007f03a8efe595
                      ;*getfield owner {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@1 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdcd0: 448b 4714 | 4983 f800 | 0f84 1300 

  0x00007f03a8efdcdc: ;*ifnull {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@4 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdcdc: 0000 498b | 8780 0300 

  0x00007f03a8efdce4: ;*invokestatic currentThread {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@11 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdce4: 0048 8b00 | 4c3b c00f | 8510 0100 

  0x00007f03a8efdcf0: ;*if_acmpeq {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@14 (line 202)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdcf0: 0044 8b47 

  0x00007f03a8efdcf4: ;*getfield state {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@22 (line 205)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdcf4: 0c41 83f8 | 000f 8cd3 

  0x00007f03a8efdcfc: ;*ifge {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@25 (line 205)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdcfc: 0000 0048 | 89bc 24c8 

  0x00007f03a8efdd04: ;   {oop(a 'jdk/internal/misc/Unsafe'{0x00000000800e9c28})}
  0x00007f03a8efdd04: 0100 0049 | b928 9c0e | 8000 0000 

  0x00007f03a8efdd10: ;   {oop(nullptr)}
  0x00007f03a8efdd10: 0048 ba00 | 0000 0000 | 0000 0041 | b800 0000 

  0x00007f03a8efdd20: ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdd20: 0049 8bf1 

  0x00007f03a8efdd24: ;   {optimized virtual_call}
  0x00007f03a8efdd24: 6666 90e8 

  0x00007f03a8efdd28: ; ImmutableOopMap {[384]=Oop [392]=Oop [456]=Oop }
                      ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdd28: 54b7 0907 

  0x00007f03a8efdd2c: ;   {other}
  0x00007f03a8efdd2c: 0f1f 8400 

  0x00007f03a8efdd30: ;*invokevirtual getIntUnaligned {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@15 (line 1909)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdd30: 1c0b 0004 

  0x00007f03a8efdd34: ;   {oop([I{0x00000000dca1ddd0})}
  0x00007f03a8efdd34: 48be d0dd | a1dc 0000 | 0000 8b9c | 24a0 0100 | 0048 63d3 

  0x00007f03a8efdd48: ;*iaload {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@214 (line 342)
  0x00007f03a8efdd48: 8b74 9610 | 4823 c648 | 63c0 488b | 9424 8801 | 0000 448b | 8424 bc01 | 0000 443b | 420c 0f83 
  0x00007f03a8efdd68: 2e08 0000 | 4963 f048 

  0x00007f03a8efdd70: ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@217 (line 342)
  0x00007f03a8efdd70: 8944 f210 | 488b b424 | 8001 0000 

  0x00007f03a8efdd7c: ;*getfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@220 (line 343)
  0x00007f03a8efdd7c: 488b 4e20 | 488b c3ff | c048 63c0 | 4803 c848 

  0x00007f03a8efdd8c: ;*putfield curPosition {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@229 (line 343)
  0x00007f03a8efdd8c: 894e 2048 | 81c4 2002 

  0x00007f03a8efdd94: ;   {poll_return}
  0x00007f03a8efdd94: 0000 5d49 | 3ba7 5004 | 0000 0f87 | 0408 0000 

  0x00007f03a8efdda4: ;*return {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@242 (line 347)
  0x00007f03a8efdda4: c38b 8c24 

  0x00007f03a8efdda8: ;*invokestatic fallbackReadGroupVInt {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@24 (line 320)
  0x00007f03a8efdda8: 9001 0000 

  0x00007f03a8efddac: ;   {static_call}
  0x00007f03a8efddac: 6666 90e8 

  0x00007f03a8efddb0: ; ImmutableOopMap {}
                      ;*invokestatic fallbackReadGroupVInt {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@24 (line 320)
  0x00007f03a8efddb0: ccc0 0907 

  0x00007f03a8efddb4: ;   {other}
  0x00007f03a8efddb4: 0f1f 8400 

  0x00007f03a8efddb8: ;*invokestatic fallbackReadGroupVInt {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@24 (line 320)
  0x00007f03a8efddb8: a40b 0005 | 4881 c420 | 0200 005d 

  0x00007f03a8efddc4: ;   {poll_return}
  0x00007f03a8efddc4: 493b a750 | 0400 000f | 87ed 0700 

  0x00007f03a8efddd0: ;*return {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@27 (line 321)
  0x00007f03a8efddd0: 00c3 4889 | bc24 c801 | 0000 4c8b | c38b 9c24 | a001 0000 

  0x00007f03a8efdde4: ;   {oop(a 'jdk/internal/misc/ScopedMemoryAccess$ScopedAccessError'{0x00000000d59129c0})}
  0x00007f03a8efdde4: 48b8 c029 | 91d5 0000 | 0000 483b 

  0x00007f03a8efddf0: ; ImmutableOopMap {rsi=Oop rax=Oop [384]=Oop [392]=Oop [456]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
                      ;   {section_word}
  0x00007f03a8efddf0: 0048 baf1 | ddef a803 

  0x00007f03a8efddf8: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efddf8: 7f00 00e8 | 80c4 1407 

  0x00007f03a8efde00: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efde00: 904c 8bc3 | 8b9c 24a0 

  0x00007f03a8efde08: ;   {oop(a 'jdk/internal/misc/ScopedMemoryAccess$ScopedAccessError'{0x00000000d5914d48})}
  0x00007f03a8efde08: 0100 0048 | b848 4d91 | d500 0000 

  0x00007f03a8efde14: ; ImmutableOopMap {rsi=Oop rdi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efde14: 0048 3b00 

  0x00007f03a8efde18: ;   {section_word}
  0x00007f03a8efde18: 48ba 18de | efa8 037f 

  0x00007f03a8efde20: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efde20: 0000 e859 

  0x00007f03a8efde24: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efde24: c414 0790 | 4c89 8424 | d801 0000 

  0x00007f03a8efde30: ;   {no_reloc}
  0x00007f03a8efde30: e9b8 0700 | 0000 0000 | 0000 498b | 87b8 0100 | 0048 8d78 | 3049 3bbf | c801 0000 | 0f87 a507 
  0x00007f03a8efde50: 0000 4989 | bfb8 0100 | 0048 c700 | 0100 0000 | 488b ca49 | ba00 0000 | 5f03 7f00 | 0049 2bca 
  0x00007f03a8efde70: 8948 0848 | 33c9 8948 | 0c48 33c9 | 4889 4810 | 4889 4818 | 4889 4820 

  0x00007f03a8efde88: ;*new {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efde88: 4889 4828 

  0x00007f03a8efde8c: ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efde8c: 488b f048 | 8984 24d0 

  0x00007f03a8efde94: ;   {optimized virtual_call}
  0x00007f03a8efde94: 0100 00e8 

  0x00007f03a8efde98: ; ImmutableOopMap {[384]=Oop [392]=Oop [464]=Oop }
                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efde98: e4b5 0907 

  0x00007f03a8efde9c: ;   {other}
  0x00007f03a8efde9c: 0f1f 8400 

  0x00007f03a8efdea0: ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdea0: 8c0c 0008 | 488b 8424 

  0x00007f03a8efdea8: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) java.util.Objects::requireNonNull@11 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdea8: d001 0000 

  0x00007f03a8efdeac: ;   {section_word}
  0x00007f03a8efdeac: 48ba acde | efa8 037f 

  0x00007f03a8efdeb4: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efdeb4: 0000 e8c5 

  0x00007f03a8efdeb8: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@11 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efdeb8: c314 0790 | 4889 9c24 | c001 0000 | 8b8c 249c 

  0x00007f03a8efdec8: ;   {oop(a 'jdk/internal/misc/ScopedMemoryAccess$ScopedAccessError'{0x00000000d59129c0})}
  0x00007f03a8efdec8: 0100 0048 | b8c0 2991 | d500 0000 

  0x00007f03a8efded4: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop [448]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efded4: 0048 3b00 

  0x00007f03a8efded8: ;   {section_word}
  0x00007f03a8efded8: 48ba d8de | efa8 037f 

  0x00007f03a8efdee0: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efdee0: 0000 e899 

  0x00007f03a8efdee4: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdee4: c314 0790 | 8b8c 249c 

  0x00007f03a8efdeec: ;   {oop(a 'jdk/internal/misc/ScopedMemoryAccess$ScopedAccessError'{0x00000000d5914d48})}
  0x00007f03a8efdeec: 0100 0048 | b848 4d91 | d500 0000 

  0x00007f03a8efdef8: ; ImmutableOopMap {rbx=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdef8: 0048 3b00 

  0x00007f03a8efdefc: ;   {section_word}
  0x00007f03a8efdefc: 48ba fcde | efa8 037f 

  0x00007f03a8efdf04: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efdf04: 0000 e875 

  0x00007f03a8efdf08: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdf08: c314 0790 | 4889 8c24 | e801 0000 | 0f1f 4000 

  0x00007f03a8efdf18: ;   {no_reloc}
  0x00007f03a8efdf18: e900 0700 | 0000 0000 | 0000 498b | 87b8 0100 | 0048 8d78 | 3049 3bbf | c801 0000 | 0f87 ed06 
  0x00007f03a8efdf38: 0000 4989 | bfb8 0100 | 0048 c700 | 0100 0000 | 488b ca49 | ba00 0000 | 5f03 7f00 | 0049 2bca 
  0x00007f03a8efdf58: 8948 0848 | 33c9 8948 | 0c48 33c9 | 4889 4810 | 4889 4818 | 4889 4820 

  0x00007f03a8efdf70: ;*new {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdf70: 4889 4828 

  0x00007f03a8efdf74: ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdf74: 488b f048 | 8984 24e0 

  0x00007f03a8efdf7c: ;   {optimized virtual_call}
  0x00007f03a8efdf7c: 0100 00e8 

  0x00007f03a8efdf80: ; ImmutableOopMap {[384]=Oop [392]=Oop [480]=Oop }
                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdf80: fcb4 0907 

  0x00007f03a8efdf84: ;   {other}
  0x00007f03a8efdf84: 0f1f 8400 

  0x00007f03a8efdf88: ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdf88: 740d 000c | 488b 8424 

  0x00007f03a8efdf90: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) java.util.Objects::requireNonNull@11 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdf90: e001 0000 

  0x00007f03a8efdf94: ;   {section_word}
  0x00007f03a8efdf94: 48ba 94df | efa8 037f 

  0x00007f03a8efdf9c: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efdf9c: 0000 e8dd 

  0x00007f03a8efdfa0: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@11 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efdfa0: c214 0790 | 4889 8424 | b001 0000 | 4c8b c38b | 9c24 9801 

  0x00007f03a8efdfb4: ;   {oop(a 'jdk/internal/misc/ScopedMemoryAccess$ScopedAccessError'{0x00000000d59129c0})}
  0x00007f03a8efdfb4: 0000 48b8 | c029 91d5 | 0000 0000 

  0x00007f03a8efdfc0: ; implicit exception: dispatches to 0x00007f03a8efe634
                      ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop [432]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
                      ;   {section_word}
  0x00007f03a8efdfc0: 483b 0048 | bac3 dfef | a803 7f00 

  0x00007f03a8efdfcc: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efdfcc: 00e8 aec2 

  0x00007f03a8efdfd0: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efdfd0: 1407 904c | 8bc3 8b9c | 2498 0100 | 0048 8bf0 

  0x00007f03a8efdfe0: ;   {oop(a 'jdk/internal/misc/ScopedMemoryAccess$ScopedAccessError'{0x00000000d5914d48})}
  0x00007f03a8efdfe0: 48b8 484d | 91d5 0000 | 0000 483b 

  0x00007f03a8efdfec: ; ImmutableOopMap {rsi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
                      ;   {section_word}
  0x00007f03a8efdfec: 0048 baed | dfef a803 

  0x00007f03a8efdff4: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efdff4: 7f00 00e8 | 84c2 1407 

  0x00007f03a8efdffc: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efdffc: 904c 8984 | 24f8 0100 | 0066 6690 

  0x00007f03a8efe008: ;   {no_reloc}
  0x00007f03a8efe008: e940 0600 | 0000 0000 | 0000 498b | 87b8 0100 | 0048 8d78 | 3049 3bbf | c801 0000 | 0f87 2d06 
  0x00007f03a8efe028: 0000 4989 | bfb8 0100 | 0048 c700 | 0100 0000 | 488b ca49 | ba00 0000 | 5f03 7f00 | 0049 2bca 
  0x00007f03a8efe048: 8948 0848 | 33c9 8948 | 0c48 33c9 | 4889 4810 | 4889 4818 | 4889 4820 

  0x00007f03a8efe060: ;*new {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe060: 4889 4828 

  0x00007f03a8efe064: ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe064: 488b f048 | 8984 24f0 

  0x00007f03a8efe06c: ;   {optimized virtual_call}
  0x00007f03a8efe06c: 0100 00e8 

  0x00007f03a8efe070: ; ImmutableOopMap {[384]=Oop [392]=Oop [496]=Oop }
                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe070: 0cb4 0907 

  0x00007f03a8efe074: ;   {other}
  0x00007f03a8efe074: 0f1f 8400 

  0x00007f03a8efe078: ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe078: 640e 0010 | 488b 8424 

  0x00007f03a8efe080: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) java.util.Objects::requireNonNull@11 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe080: f001 0000 

  0x00007f03a8efe084: ;   {section_word}
  0x00007f03a8efe084: 48ba 84e0 | efa8 037f 

  0x00007f03a8efe08c: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe08c: 0000 e8ed 

  0x00007f03a8efe090: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@11 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe090: c114 0790 | 4c89 8c24 | a801 0000 

  0x00007f03a8efe09c: ;   {oop(a 'jdk/internal/misc/ScopedMemoryAccess$ScopedAccessError'{0x00000000d59129c0})}
  0x00007f03a8efe09c: 48b8 c029 | 91d5 0000 | 0000 483b 

  0x00007f03a8efe0a8: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop [424]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {section_word}
  0x00007f03a8efe0a8: 0048 baa9 | e0ef a803 

  0x00007f03a8efe0b0: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe0b0: 7f00 00e8 | c8c1 1407 

  0x00007f03a8efe0b8: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {oop(a 'jdk/internal/misc/ScopedMemoryAccess$ScopedAccessError'{0x00000000d5914d48})}
  0x00007f03a8efe0b8: 9048 b848 | 4d91 d500 | 0000 0048 

  0x00007f03a8efe0c4: ; ImmutableOopMap {r9=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {section_word}
  0x00007f03a8efe0c4: 3b00 48ba | c6e0 efa8 | 037f 0000 

  0x00007f03a8efe0d0: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe0d0: e8ab c114 

  0x00007f03a8efe0d4: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe0d4: 0790 4889 | 9c24 0802 | 0000 6690 

  0x00007f03a8efe0e0: ;   {no_reloc}
  0x00007f03a8efe0e0: e998 0500 | 0000 0000 | 0000 498b | 87b8 0100 | 0048 8d78 | 3049 3bbf | c801 0000 | 0f87 8505 
  0x00007f03a8efe100: 0000 4989 | bfb8 0100 | 0048 c700 | 0100 0000 | 488b ca49 | ba00 0000 | 5f03 7f00 | 0049 2bca 
  0x00007f03a8efe120: 8948 0848 | 33c9 8948 | 0c48 33c9 | 4889 4810 | 4889 4818 | 4889 4820 

  0x00007f03a8efe138: ;*new {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe138: 4889 4828 

  0x00007f03a8efe13c: ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe13c: 488b f048 | 8984 2400 

  0x00007f03a8efe144: ;   {optimized virtual_call}
  0x00007f03a8efe144: 0200 00e8 

  0x00007f03a8efe148: ; ImmutableOopMap {[384]=Oop [392]=Oop [512]=Oop }
                      ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe148: 34b3 0907 

  0x00007f03a8efe14c: ;   {other}
  0x00007f03a8efe14c: 0f1f 8400 

  0x00007f03a8efe150: ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@8 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe150: 3c0f 0014 | 488b 8424 

  0x00007f03a8efe158: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) java.util.Objects::requireNonNull@11 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe158: 0002 0000 

  0x00007f03a8efe15c: ;   {section_word}
  0x00007f03a8efe15c: 48ba 5ce1 | efa8 037f 

  0x00007f03a8efe164: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe164: 0000 e815 

  0x00007f03a8efe168: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@11 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe168: c114 0790 | 498b 8700 | 0500 004d | 33d2 4d89 | 9700 0500 | 004d 33d2 | 4d89 9708 

  0x00007f03a8efe184: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@35 (line 1912)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {section_word}
  0x00007f03a8efe184: 0500 0048 | ba87 e1ef | a803 7f00 

  0x00007f03a8efe190: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe190: 00e8 eac0 

  0x00007f03a8efe194: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@35 (line 1912)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe194: 1407 9049 | 8b87 0005 | 0000 4d33 | d24d 8997 | 0005 0000 | 4d33 d24d | 8997 0805 | 0000 8b70 
  0x00007f03a8efe1b4: ;*getfield runtimeExceptionSupplier {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@1 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe1b4: 2448 b8ff | ffff ffff 

  0x00007f03a8efe1bc: ;   {virtual_call}
  0x00007f03a8efe1bc: ffff ffe8 

  0x00007f03a8efe1c0: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@4 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe1c0: bcb7 0907 

  0x00007f03a8efe1c4: ;   {other}
  0x00007f03a8efe1c4: 0f1f 8400 

  0x00007f03a8efe1c8: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@4 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe1c8: b40f 0017 | 4883 f800 | 0f84 2900 

  0x00007f03a8efe1d4: ;   {metadata('java/lang/RuntimeException')}
  0x00007f03a8efe1d4: 0000 48bf | 20f0 055f | 037f 0000 | 8b70 0849 | ba00 0000 | 5f03 7f00 | 0049 03f2 | 483b 7e48 
  0x00007f03a8efe1f4: 0f85 9a04 | 0000 e900 

  0x00007f03a8efe1fc: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@9 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe1fc: 0000 0048 

  0x00007f03a8efe200: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {section_word}
  0x00007f03a8efe200: 3b00 48ba | 02e2 efa8 | 037f 0000 

  0x00007f03a8efe20c: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe20c: e86f c014 

  0x00007f03a8efe210: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe210: 0790 498b | 8700 0500 | 004d 33d2 | 4d89 9700 | 0500 004d | 33d2 4d89 | 9708 0500 

  0x00007f03a8efe22c: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@35 (line 1912)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
                      ;   {section_word}
  0x00007f03a8efe22c: 0048 ba2d | e2ef a803 

  0x00007f03a8efe234: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe234: 7f00 00e8 | 44c0 1407 

  0x00007f03a8efe23c: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@35 (line 1912)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe23c: 9049 8b87 | 0005 0000 | 4d33 d24d | 8997 0005 | 0000 4d33 | d24d 8997 | 0805 0000 

  0x00007f03a8efe258: ;*getfield runtimeExceptionSupplier {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@1 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe258: 8b70 2466 | 9048 b8ff | ffff ffff 

  0x00007f03a8efe264: ;   {virtual_call}
  0x00007f03a8efe264: ffff ffe8 

  0x00007f03a8efe268: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@4 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe268: 14b7 0907 

  0x00007f03a8efe26c: ;   {other}
  0x00007f03a8efe26c: 0f1f 8400 

  0x00007f03a8efe270: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@4 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe270: 5c10 001a | 4883 f800 | 0f84 2900 

  0x00007f03a8efe27c: ;   {metadata('java/lang/RuntimeException')}
  0x00007f03a8efe27c: 0000 48bf | 20f0 055f | 037f 0000 | 8b70 0849 | ba00 0000 | 5f03 7f00 | 0049 03f2 | 483b 7e48 
  0x00007f03a8efe29c: 0f85 0004 | 0000 e900 

  0x00007f03a8efe2a4: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@9 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe2a4: 0000 0048 

  0x00007f03a8efe2a8: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
                      ;   {section_word}
  0x00007f03a8efe2a8: 3b00 48ba | aae2 efa8 | 037f 0000 

  0x00007f03a8efe2b4: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe2b4: e8c7 bf14 

  0x00007f03a8efe2b8: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe2b8: 0790 498b | 8700 0500 | 004d 33d2 | 4d89 9700 | 0500 004d | 33d2 4d89 | 9708 0500 

  0x00007f03a8efe2d4: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@35 (line 1912)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
                      ;   {section_word}
  0x00007f03a8efe2d4: 0048 bad5 | e2ef a803 

  0x00007f03a8efe2dc: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe2dc: 7f00 00e8 | 9cbf 1407 

  0x00007f03a8efe2e4: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@35 (line 1912)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe2e4: 9049 8b87 | 0005 0000 | 4d33 d24d | 8997 0005 | 0000 4d33 | d24d 8997 | 0805 0000 

  0x00007f03a8efe300: ;*getfield runtimeExceptionSupplier {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@1 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe300: 8b70 2466 | 9048 b8ff | ffff ffff 

  0x00007f03a8efe30c: ;   {virtual_call}
  0x00007f03a8efe30c: ffff ffe8 

  0x00007f03a8efe310: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@4 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe310: 6cb6 0907 

  0x00007f03a8efe314: ;   {other}
  0x00007f03a8efe314: 0f1f 8400 

  0x00007f03a8efe318: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@4 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe318: 0411 001d | 4883 f800 | 0f84 2900 

  0x00007f03a8efe324: ;   {metadata('java/lang/RuntimeException')}
  0x00007f03a8efe324: 0000 48bf | 20f0 055f | 037f 0000 | 8b70 0849 | ba00 0000 | 5f03 7f00 | 0049 03f2 | 483b 7e48 
  0x00007f03a8efe344: 0f85 6603 | 0000 e900 

  0x00007f03a8efe34c: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@9 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe34c: 0000 0048 

  0x00007f03a8efe350: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
                      ;   {section_word}
  0x00007f03a8efe350: 3b00 48ba | 52e3 efa8 | 037f 0000 

  0x00007f03a8efe35c: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe35c: e81f bf14 

  0x00007f03a8efe360: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe360: 0790 498b | 8700 0500 | 004d 33d2 | 4d89 9700 | 0500 004d | 33d2 4d89 | 9708 0500 

  0x00007f03a8efe37c: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@35 (line 1912)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
                      ;   {section_word}
  0x00007f03a8efe37c: 0048 ba7d | e3ef a803 

  0x00007f03a8efe384: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe384: 7f00 00e8 | f4be 1407 

  0x00007f03a8efe38c: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@35 (line 1912)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe38c: 9049 8b87 | 0005 0000 | 4d33 d24d | 8997 0005 | 0000 4d33 | d24d 8997 | 0805 0000 

  0x00007f03a8efe3a8: ;*getfield runtimeExceptionSupplier {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@1 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe3a8: 8b70 2466 | 9048 b8ff | ffff ffff 

  0x00007f03a8efe3b4: ;   {virtual_call}
  0x00007f03a8efe3b4: ffff ffe8 

  0x00007f03a8efe3b8: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@4 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe3b8: c4b5 0907 

  0x00007f03a8efe3bc: ;   {other}
  0x00007f03a8efe3bc: 0f1f 8400 

  0x00007f03a8efe3c0: ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@4 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe3c0: ac11 0020 | 4883 f800 | 0f84 2900 

  0x00007f03a8efe3cc: ;   {metadata('java/lang/RuntimeException')}
  0x00007f03a8efe3cc: 0000 48bf | 20f0 055f | 037f 0000 | 8b70 0849 | ba00 0000 | 5f03 7f00 | 0049 03f2 | 483b 7e48 
  0x00007f03a8efe3ec: 0f85 cc02 | 0000 e900 

  0x00007f03a8efe3f4: ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@9 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe3f4: 0000 0048 

  0x00007f03a8efe3f8: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
                      ;   {section_word}
  0x00007f03a8efe3f8: 3b00 48ba | fae3 efa8 | 037f 0000 

  0x00007f03a8efe404: ;   {runtime_call handle_exception_nofpu Runtime1 stub}
  0x00007f03a8efe404: e877 be14 

  0x00007f03a8efe408: ;*athrow {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe408: 0790 488b | b424 8001 | 0000 498b | 8700 0500 | 004d 33d2 | 4d89 9700 | 0500 004d | 33d2 4d89 
  0x00007f03a8efe428: 9708 0500 

  0x00007f03a8efe42c: ;*invokevirtual alreadyClosed {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@238 (line 345)
  0x00007f03a8efe42c: 0048 8bd0 | 0f1f 8000 

  0x00007f03a8efe434: ;   {optimized virtual_call}
  0x00007f03a8efe434: 0000 00e8 

  0x00007f03a8efe438: ; ImmutableOopMap {}
                      ;*invokevirtual alreadyClosed {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@238 (line 345)
  0x00007f03a8efe438: 44b0 0907 

  0x00007f03a8efe43c: ;   {other}
  0x00007f03a8efe43c: 0f1f 8400 

  0x00007f03a8efe440: ;*invokevirtual alreadyClosed {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@238 (line 345)
  0x00007f03a8efe440: 2c12 0022 

  0x00007f03a8efe444: ; implicit exception: dispatches to 0x00007f03a8efe6cc
  0x00007f03a8efe444: 483b 00e9 | a202 0000 

  0x00007f03a8efe44c: ;   {metadata({method} {0x00007f03534696b8} 'readGroupVInt' '([JI)V' in 'org/apache/lucene/store/MemorySegmentIndexInput')}
  0x00007f03a8efe44c: 49ba b896 | 4653 037f | 0000 4c89 | 5424 0848 | c704 24ff 

  0x00007f03a8efe460: ;   {runtime_call counter_overflow Runtime1 stub}
  0x00007f03a8efe460: ffff ffe8 

  0x00007f03a8efe464: ; ImmutableOopMap {rsi=Oop rdx=Oop [384]=Oop [392]=Oop }
                      ;*synchronization entry
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@-1 (line 319)
  0x00007f03a8efe464: 1802 1507 | e9eb f1ff 

  0x00007f03a8efe46c: ;   {runtime_call throw_incompatible_class_change_error Runtime1 stub}
  0x00007f03a8efe46c: ffe8 aecd 

  0x00007f03a8efe470: ; ImmutableOopMap {rsi=Oop rdx=Oop rdi=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface byteSize {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@4 (line 319)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe470: 1407 e8a9 

  0x00007f03a8efe474: ; ImmutableOopMap {rsi=Oop rdx=Oop rdi=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface byteSize {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@4 (line 319)
                      ;   {runtime_call throw_incompatible_class_change_error Runtime1 stub}
  0x00007f03a8efe474: 9914 07e8 

  0x00007f03a8efe478: ; ImmutableOopMap {rsi=Oop r8=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe478: a4cd 1407 

  0x00007f03a8efe47c: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe47c: e89f 9914 

  0x00007f03a8efe480: ; ImmutableOopMap {rsi=Oop r8=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe480: 074c 8904 

  0x00007f03a8efe484: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
  0x00007f03a8efe484: 24e8 96ca 

  0x00007f03a8efe488: ; ImmutableOopMap {rsi=Oop [384]=Oop [392]=Oop }
                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@4 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe488: 1407 e891 

  0x00007f03a8efe48c: ; ImmutableOopMap {rsi=Oop r8=Oop [384]=Oop [392]=Oop }
                      ;*invokevirtual checkAccess {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe48c: 9914 0748 | c704 24e4 

  0x00007f03a8efe494: ;   {runtime_call deoptimize Runtime1 stub}
  0x00007f03a8efe494: ffff ffe8 

  0x00007f03a8efe498: ; ImmutableOopMap {rsi=Oop r8=Oop [384]=Oop [392]=Oop }
                      ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe498: 64e0 1407 | 48c7 0424 | e4ff ffff 

  0x00007f03a8efe4a4: ;   {runtime_call deoptimize Runtime1 stub}
  0x00007f03a8efe4a4: e857 e014 

  0x00007f03a8efe4a8: ; ImmutableOopMap {rsi=Oop r8=Oop [384]=Oop [392]=Oop }
                      ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe4a8: 07e8 7299 

  0x00007f03a8efe4ac: ; ImmutableOopMap {rsi=Oop r9=Oop [384]=Oop [392]=Oop }
                      ;*invokevirtual checkValidStateRaw {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe4ac: 1407 4889 | 3c24 4889 

  0x00007f03a8efe4b4: ;   {runtime_call throw_range_check_failed Runtime1 stub}
  0x00007f03a8efe4b4: 5424 08e8 

  0x00007f03a8efe4b8: ; ImmutableOopMap {rdx=Oop [384]=Oop [392]=Oop }
                      ;*iaload {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@85 (line 333)
  0x00007f03a8efe4b8: 648a 1407 

  0x00007f03a8efe4bc: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe4bc: e85f 9914 

  0x00007f03a8efe4c0: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*iaload {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@85 (line 333)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe4c0: 07e8 5a99 

  0x00007f03a8efe4c4: ; ImmutableOopMap {rdx=Oop [384]=Oop [392]=Oop }
                      ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@88 (line 333)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe4c4: 1407 e855 

  0x00007f03a8efe4c8: ; ImmutableOopMap {rdx=Oop [384]=Oop [392]=Oop }
                      ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@88 (line 333)
  0x00007f03a8efe4c8: 9914 0748 | 890c 2448 | 8954 2408 

  0x00007f03a8efe4d4: ;   {runtime_call throw_range_check_failed Runtime1 stub}
  0x00007f03a8efe4d4: e847 8a14 

  0x00007f03a8efe4d8: ; ImmutableOopMap {rdx=Oop [384]=Oop [392]=Oop }
                      ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@88 (line 333)
                      ;   {runtime_call throw_incompatible_class_change_error Runtime1 stub}
  0x00007f03a8efe4d8: 07e8 42cd 

  0x00007f03a8efe4dc: ; ImmutableOopMap {rdx=Oop rsi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe4dc: 1407 e83d 

  0x00007f03a8efe4e0: ; ImmutableOopMap {rdx=Oop rsi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe4e0: 9914 0748 

  0x00007f03a8efe4e4: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
  0x00007f03a8efe4e4: 8904 24e8 

  0x00007f03a8efe4e8: ; ImmutableOopMap {rdx=Oop rsi=Oop [384]=Oop [392]=Oop }
                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@4 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe4e8: 34ca 1407 

  0x00007f03a8efe4ec: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe4ec: e82f 9914 

  0x00007f03a8efe4f0: ; ImmutableOopMap {rdx=Oop rsi=Oop rdi=Oop [384]=Oop [392]=Oop }
                      ;*invokevirtual checkAccess {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe4f0: 0748 c704 | 24e4 ffff 

  0x00007f03a8efe4f8: ;   {runtime_call deoptimize Runtime1 stub}
  0x00007f03a8efe4f8: ffe8 02e0 

  0x00007f03a8efe4fc: ; ImmutableOopMap {rdx=Oop rsi=Oop rdi=Oop [384]=Oop [392]=Oop }
                      ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe4fc: 1407 48c7 | 0424 e4ff 

  0x00007f03a8efe504: ;   {runtime_call deoptimize Runtime1 stub}
  0x00007f03a8efe504: ffff e8f5 

  0x00007f03a8efe508: ; ImmutableOopMap {rdx=Oop rsi=Oop rdi=Oop [384]=Oop [392]=Oop }
                      ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe508: df14 07e8 

  0x00007f03a8efe50c: ; ImmutableOopMap {rdx=Oop rsi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*invokevirtual checkValidStateRaw {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe50c: 1099 1407 | 4c89 0424 | 4889 5424 

  0x00007f03a8efe518: ;   {runtime_call throw_range_check_failed Runtime1 stub}
  0x00007f03a8efe518: 08e8 028a 

  0x00007f03a8efe51c: ; ImmutableOopMap {rdx=Oop [384]=Oop [392]=Oop }
                      ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@131 (line 336)
                      ;   {runtime_call throw_incompatible_class_change_error Runtime1 stub}
  0x00007f03a8efe51c: 1407 e8fd 

  0x00007f03a8efe520: ; ImmutableOopMap {rdx=Oop rsi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe520: cc14 07e8 

  0x00007f03a8efe524: ; ImmutableOopMap {rdx=Oop rsi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe524: f898 1407 | 4889 0424 

  0x00007f03a8efe52c: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
  0x00007f03a8efe52c: e8ef c914 

  0x00007f03a8efe530: ; ImmutableOopMap {rdx=Oop rsi=Oop [384]=Oop [392]=Oop }
                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@4 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe530: 07e8 ea98 

  0x00007f03a8efe534: ; ImmutableOopMap {rdx=Oop rsi=Oop r8=Oop [384]=Oop [392]=Oop }
                      ;*invokevirtual checkAccess {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe534: 1407 48c7 | 0424 e4ff 

  0x00007f03a8efe53c: ;   {runtime_call deoptimize Runtime1 stub}
  0x00007f03a8efe53c: ffff e8bd 

  0x00007f03a8efe540: ; ImmutableOopMap {rdx=Oop rsi=Oop r8=Oop [384]=Oop [392]=Oop }
                      ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe540: df14 0748 | c704 24e4 

  0x00007f03a8efe548: ;   {runtime_call deoptimize Runtime1 stub}
  0x00007f03a8efe548: ffff ffe8 

  0x00007f03a8efe54c: ; ImmutableOopMap {rdx=Oop rsi=Oop r8=Oop [384]=Oop [392]=Oop }
                      ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe54c: b0df 1407 

  0x00007f03a8efe550: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe550: e8cb 9814 

  0x00007f03a8efe554: ; ImmutableOopMap {rdx=Oop rsi=Oop rbx=Oop [384]=Oop [392]=Oop }
                      ;*invokevirtual checkValidStateRaw {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe554: 0748 893c | 2448 8954 

  0x00007f03a8efe55c: ;   {runtime_call throw_range_check_failed Runtime1 stub}
  0x00007f03a8efe55c: 2408 e8bd 

  0x00007f03a8efe560: ; ImmutableOopMap {rdx=Oop [384]=Oop [392]=Oop }
                      ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@174 (line 339)
                      ;   {runtime_call throw_incompatible_class_change_error Runtime1 stub}
  0x00007f03a8efe560: 8914 07e8 

  0x00007f03a8efe564: ; ImmutableOopMap {rdx=Oop rsi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe564: b8cc 1407 

  0x00007f03a8efe568: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe568: e8b3 9814 

  0x00007f03a8efe56c: ; ImmutableOopMap {rdx=Oop rsi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*invokeinterface get {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe56c: 0748 8904 

  0x00007f03a8efe570: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
  0x00007f03a8efe570: 24e8 aac9 

  0x00007f03a8efe574: ; ImmutableOopMap {rdx=Oop rsi=Oop [384]=Oop [392]=Oop }
                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@4 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe574: 1407 e8a5 

  0x00007f03a8efe578: ; ImmutableOopMap {rdx=Oop rsi=Oop rcx=Oop [384]=Oop [392]=Oop }
                      ;*invokevirtual checkAccess {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe578: 9814 0748 | c704 24e4 

  0x00007f03a8efe580: ;   {runtime_call deoptimize Runtime1 stub}
  0x00007f03a8efe580: ffff ffe8 

  0x00007f03a8efe584: ; ImmutableOopMap {rdx=Oop rsi=Oop rcx=Oop [384]=Oop [392]=Oop }
                      ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe584: 78df 1407 | 48c7 0424 | e4ff ffff 

  0x00007f03a8efe590: ;   {runtime_call deoptimize Runtime1 stub}
  0x00007f03a8efe590: e86b df14 

  0x00007f03a8efe594: ; ImmutableOopMap {rdx=Oop rsi=Oop rcx=Oop [384]=Oop [392]=Oop }
                      ;*invokestatic checkIndex {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkBounds@16 (line 396)
                      ; - jdk.internal.foreign.AbstractMemorySegmentImpl::checkAccess@26 (line 356)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@15 (line 81)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe594: 07e8 8698 

  0x00007f03a8efe598: ; ImmutableOopMap {rdx=Oop rsi=Oop rdi=Oop [384]=Oop [392]=Oop }
                      ;*invokevirtual checkValidStateRaw {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe598: 1407 4c89 | 0424 4889 

  0x00007f03a8efe5a0: ;   {runtime_call throw_range_check_failed Runtime1 stub}
  0x00007f03a8efe5a0: 5424 08e8 

  0x00007f03a8efe5a4: ; ImmutableOopMap {rdx=Oop [384]=Oop [392]=Oop }
                      ;*lastore {reexecute=0 rethrow=0 return_oop=0}
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@217 (line 342)
  0x00007f03a8efe5a4: 7889 1407 

  0x00007f03a8efe5a8: ;   {internal_word}
  0x00007f03a8efe5a8: 49ba 97dd | efa8 037f | 0000 4d89 | 9768 0400 

  0x00007f03a8efe5b8: ;   {runtime_call SafepointBlob}
  0x00007f03a8efe5b8: 00e9 421e 

  0x00007f03a8efe5bc: ;   {internal_word}
  0x00007f03a8efe5bc: 0a07 49ba | c4dd efa8 | 037f 0000 | 4d89 9768 

  0x00007f03a8efe5cc: ;   {runtime_call SafepointBlob}
  0x00007f03a8efe5cc: 0400 00e9 | 2c1e 0a07 

  0x00007f03a8efe5d4: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe5d4: e847 9814 

  0x00007f03a8efe5d8: ; ImmutableOopMap {rsi=Oop rax=Oop [384]=Oop [392]=Oop [456]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe5d8: 07e8 4298 

  0x00007f03a8efe5dc: ; ImmutableOopMap {rsi=Oop rdi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
                      ;   {metadata(nullptr)}
  0x00007f03a8efe5dc: 1407 48ba | 0000 0000 | 0000 0000 | b800 0f05 

  0x00007f03a8efe5ec: ;   {runtime_call load_klass_patching Runtime1 stub}
  0x00007f03a8efe5ec: 0ae8 8eeb 

  0x00007f03a8efe5f0: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*new {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe5f0: 1407 e939 | f8ff ff48 

  0x00007f03a8efe5f8: ;   {runtime_call fast_new_instance Runtime1 stub}
  0x00007f03a8efe5f8: 8bd2 e801 

  0x00007f03a8efe5fc: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*new {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe5fc: a814 07e9 | 88f8 ffff 

  0x00007f03a8efe604: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe604: e817 9814 

  0x00007f03a8efe608: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop [448]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe608: 07e8 1298 

  0x00007f03a8efe60c: ; ImmutableOopMap {rbx=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
                      ;   {metadata(nullptr)}
  0x00007f03a8efe60c: 1407 48ba | 0000 0000 | 0000 0000 | b800 0f05 

  0x00007f03a8efe61c: ;   {runtime_call load_klass_patching Runtime1 stub}
  0x00007f03a8efe61c: 0ae8 5eeb 

  0x00007f03a8efe620: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*new {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe620: 1407 e9f1 | f8ff ff48 

  0x00007f03a8efe628: ;   {runtime_call fast_new_instance Runtime1 stub}
  0x00007f03a8efe628: 8bd2 e8d1 

  0x00007f03a8efe62c: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*new {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe62c: a714 07e9 | 40f9 ffff 

  0x00007f03a8efe634: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe634: e8e7 9714 

  0x00007f03a8efe638: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop [432]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe638: 07e8 e297 

  0x00007f03a8efe63c: ; ImmutableOopMap {rsi=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
                      ;   {metadata(nullptr)}
  0x00007f03a8efe63c: 1407 48ba | 0000 0000 | 0000 0000 | b800 0f05 

  0x00007f03a8efe64c: ;   {runtime_call load_klass_patching Runtime1 stub}
  0x00007f03a8efe64c: 0ae8 2eeb 

  0x00007f03a8efe650: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*new {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe650: 1407 e9b1 | f9ff ff48 

  0x00007f03a8efe658: ;   {runtime_call fast_new_instance Runtime1 stub}
  0x00007f03a8efe658: 8bd2 e8a1 

  0x00007f03a8efe65c: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*new {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe65c: a714 07e9 | 00fa ffff 

  0x00007f03a8efe664: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe664: e8b7 9714 

  0x00007f03a8efe668: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop [424]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@31 (line 206)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe668: 07e8 b297 

  0x00007f03a8efe66c: ; ImmutableOopMap {r9=Oop rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.foreign.MemorySessionImpl::checkValidStateRaw@20 (line 203)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnalignedInternal@5 (line 1907)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@6 (line 1897)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {metadata(nullptr)}
  0x00007f03a8efe66c: 1407 48ba | 0000 0000 | 0000 0000 | b800 0f05 

  0x00007f03a8efe67c: ;   {runtime_call load_klass_patching Runtime1 stub}
  0x00007f03a8efe67c: 0ae8 feea 

  0x00007f03a8efe680: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*new {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe680: 1407 e959 | faff ff48 

  0x00007f03a8efe688: ;   {runtime_call fast_new_instance Runtime1 stub}
  0x00007f03a8efe688: 8bd2 e871 

  0x00007f03a8efe68c: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*new {reexecute=0 rethrow=0 return_oop=0}
                      ; - java.util.Objects::requireNonNull@4 (line 233)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::checkAddress@1 (line 80)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@14 (line 108)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe68c: a714 07e9 | a8fa ffff | 4889 0424 

  0x00007f03a8efe698: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
  0x00007f03a8efe698: e883 c814 

  0x00007f03a8efe69c: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@9 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe69c: 07e8 7e97 

  0x00007f03a8efe6a0: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@75 (line 333)
  0x00007f03a8efe6a0: 1407 4889 

  0x00007f03a8efe6a4: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
  0x00007f03a8efe6a4: 0424 e875 

  0x00007f03a8efe6a8: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@9 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe6a8: c814 07e8 

  0x00007f03a8efe6ac: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@118 (line 336)
  0x00007f03a8efe6ac: 7097 1407 | 4889 0424 

  0x00007f03a8efe6b4: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
  0x00007f03a8efe6b4: e867 c814 

  0x00007f03a8efe6b8: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@9 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe6b8: 07e8 6297 

  0x00007f03a8efe6bc: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@161 (line 339)
  0x00007f03a8efe6bc: 1407 4889 

  0x00007f03a8efe6c0: ;   {runtime_call throw_class_cast_exception Runtime1 stub}
  0x00007f03a8efe6c0: 0424 e859 

  0x00007f03a8efe6c4: ; ImmutableOopMap {[384]=Oop [392]=Oop }
                      ;*checkcast {reexecute=0 rethrow=0 return_oop=0}
                      ; - jdk.internal.misc.ScopedMemoryAccess$ScopedAccessError::newRuntimeException@9 (line 113)
                      ; - jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@14 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
                      ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe6c4: c814 07e8 

  0x00007f03a8efe6c8: ; ImmutableOopMap {rax=Oop [384]=Oop [392]=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) jdk.internal.misc.ScopedMemoryAccess::getIntUnaligned@17 (line 1899)
                      ; - java.lang.invoke.VarHandleSegmentAsInts::get@48 (line 109)
                      ; - java.lang.invoke.VarHandleGuards::guard_LJ_I@49 (line 999)
                      ; - java.lang.foreign.MemorySegment::get@9 (line 1517)
                      ; - org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@204 (line 342)
  0x00007f03a8efe6c8: 5497 1407 

  0x00007f03a8efe6cc: ;   {runtime_call throw_null_pointer_exception Runtime1 stub}
  0x00007f03a8efe6cc: e84f 9714 

  0x00007f03a8efe6d0: ; ImmutableOopMap {rax=Oop }
                      ;*athrow {reexecute=1 rethrow=0 return_oop=0}
                      ; - (reexecute) org.apache.lucene.store.MemorySegmentIndexInput::readGroupVInt@241 (line 345)
  0x00007f03a8efe6d0: 0749 8b87 | 0005 0000 | 49c7 8700 | 0500 0000 | 0000 0049 | c787 0805 | 0000 0000 | 0000 4881 
  0x00007f03a8efe6f0: c420 0200 

  0x00007f03a8efe6f4: ;   {runtime_call unwind_exception Runtime1 stub}
  0x00007f03a8efe6f4: 005d e905 | 8214 07f4 | f4f4 f4f4 
[Stub Code]
  0x00007f03a8efe700: ;   {no_reloc}
  0x00007f03a8efe700: 0f1f 4400 

  0x00007f03a8efe704: ;   {static_stub}
  0x00007f03a8efe704: 0048 bb00 | 0000 0000 

  0x00007f03a8efe70c: ;   {runtime_call}
  0x00007f03a8efe70c: 0000 00e9 | fbff ffff 

  0x00007f03a8efe714: ;   {static_stub}
  0x00007f03a8efe714: 9048 bb00 | 0000 0000 

  0x00007f03a8efe71c: ;   {runtime_call}
  0x00007f03a8efe71c: 0000 00e9 | fbff ffff 

  0x00007f03a8efe724: ;   {static_stub}
  0x00007f03a8efe724: 9048 bb00 | 0000 0000 

  0x00007f03a8efe72c: ;   {runtime_call}
  0x00007f03a8efe72c: 0000 00e9 | fbff ffff 

  0x00007f03a8efe734: ;   {static_stub}
  0x00007f03a8efe734: 9048 bb00 | 0000 0000 

  0x00007f03a8efe73c: ;   {runtime_call}
  0x00007f03a8efe73c: 0000 00e9 | fbff ffff 

  0x00007f03a8efe744: ;   {static_stub}
  0x00007f03a8efe744: 9048 bb00 | 0000 0000 

  0x00007f03a8efe74c: ;   {runtime_call}
  0x00007f03a8efe74c: 0000 00e9 | fbff ffff 

  0x00007f03a8efe754: ;   {static_stub}
  0x00007f03a8efe754: 48bb 0000 | 0000 0000 

  0x00007f03a8efe75c: ;   {runtime_call}
  0x00007f03a8efe75c: 0000 e9fb 

  0x00007f03a8efe760: ;   {static_stub}
  0x00007f03a8efe760: ffff ff48 | bb00 0000 | 0000 0000 

  0x00007f03a8efe76c: ;   {runtime_call}
  0x00007f03a8efe76c: 00e9 fbff 

  0x00007f03a8efe770: ;   {static_stub}
  0x00007f03a8efe770: ffff 48bb | 0000 0000 | 0000 0000 

  0x00007f03a8efe77c: ;   {runtime_call}
  0x00007f03a8efe77c: e9fb ffff 

  0x00007f03a8efe780: ;   {static_stub}
  0x00007f03a8efe780: ff48 bb00 | 0000 0000 

  0x00007f03a8efe788: ;   {runtime_call}
  0x00007f03a8efe788: 0000 00e9 | fbff ffff 
[Exception Handler]
  0x00007f03a8efe790: ;   {runtime_call handle_exception_from_callee Runtime1 stub}
  0x00007f03a8efe790: e86b c114 

  0x00007f03a8efe794: ;   {external_word}
  0x00007f03a8efe794: 0748 bfc6 | 6c30 c603 | 7f00 0048 

  0x00007f03a8efe7a0: ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f03a8efe7a0: 83e4 f0e8 | b8a0 f81c 

  0x00007f03a8efe7a8: ;   {section_word}
  0x00007f03a8efe7a8: f449 baa9 | e7ef a803 | 7f00 0041 

  0x00007f03a8efe7b4: ;   {runtime_call DeoptimizationBlob}
  0x00007f03a8efe7b4: 52e9 e630 | 0a07 f4f4 | f4f4 f4f4 
[/MachCode]

@easyice
Copy link
Contributor Author

easyice commented Dec 4, 2023

I ran the benchmark using wikimediumall, we can got a minor speed up on java21 with MMapDirectory, but no significant improvement with NIOFSDirectory(java17), because the NIOFSDirectory has some additional cost.

For task prefix3, the baseline of Lucene99PostingsReader.readVIntBlock calls percentage in the flame graph:

  • NIOFSDirectory 2.8%
  • MMapDirectory 9.9%

Here is the benchmark output with java 21, baseline(main), candidate(PR):

round 1
                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                         LowTerm      164.44     (11.4%)      161.36     (10.5%)   -1.9% ( -21% -   22%) 0.589
                     AndHighHigh       30.63      (4.5%)       30.13      (4.7%)   -1.6% ( -10% -    7%) 0.260
                          IntNRQ       15.46      (6.5%)       15.25      (4.1%)   -1.3% ( -11% -    9%) 0.437
                      AndHighMed       53.37      (7.9%)       52.67      (7.9%)   -1.3% ( -15% -   15%) 0.598
                       OrHighMed       41.16      (7.6%)       40.62      (6.5%)   -1.3% ( -14% -   13%) 0.556
                      TermDTSort       63.95      (9.3%)       63.25      (8.5%)   -1.1% ( -17% -   18%) 0.702
                       LowPhrase       34.09      (4.0%)       33.79      (4.6%)   -0.9% (  -9% -    8%) 0.514
                          Fuzzy2       33.43      (2.8%)       33.14      (3.7%)   -0.9% (  -7% -    5%) 0.399
                       MedPhrase       63.94      (4.0%)       63.47      (4.2%)   -0.7% (  -8% -    7%) 0.565
                      AndHighLow      347.49      (2.3%)      344.95      (3.5%)   -0.7% (  -6% -    5%) 0.435
                         MedTerm      300.87      (7.2%)      298.76      (5.7%)   -0.7% ( -12% -   13%) 0.731
                    OrNotHighLow      209.67      (3.5%)      208.27      (3.3%)   -0.7% (  -7% -    6%) 0.536
             MedIntervalsOrdered       15.79      (2.4%)       15.69      (2.6%)   -0.6% (  -5% -    4%) 0.450
                        HighTerm      228.97      (5.8%)      227.71      (4.5%)   -0.6% ( -10% -   10%) 0.737
                    HighSpanNear        4.51      (1.6%)        4.48      (1.8%)   -0.5% (  -3% -    2%) 0.314
                 MedSloppyPhrase       15.24      (3.1%)       15.17      (3.4%)   -0.5% (  -6% -    6%) 0.625
                     MedSpanNear        6.97      (2.1%)        6.95      (2.1%)   -0.3% (  -4% -    4%) 0.668
                      HighPhrase       19.21      (3.1%)       19.17      (3.4%)   -0.2% (  -6% -    6%) 0.841
               HighTermTitleSort       46.25      (3.2%)       46.16      (4.7%)   -0.2% (  -7% -    7%) 0.886
             LowIntervalsOrdered        9.01      (2.0%)        8.99      (1.9%)   -0.2% (  -4% -    3%) 0.794
                 LowSloppyPhrase       40.24      (3.4%)       40.18      (3.9%)   -0.2% (  -7% -    7%) 0.890
           HighTermDayOfYearSort      160.70      (2.9%)      160.45      (2.8%)   -0.2% (  -5% -    5%) 0.861
            HighTermTitleBDVSort        3.52      (4.0%)        3.51      (4.9%)   -0.1% (  -8% -    9%) 0.920
                HighSloppyPhrase       10.64      (3.8%)       10.63      (4.0%)   -0.1% (  -7% -    8%) 0.950
                       OrHighLow      286.00      (3.6%)      285.99      (3.4%)   -0.0% (  -6% -    7%) 0.997
            HighIntervalsOrdered        1.92      (3.2%)        1.92      (3.4%)   -0.0% (  -6% -    6%) 0.997
                         Respell       21.95      (2.1%)       21.95      (2.4%)   -0.0% (  -4% -    4%) 0.998
                     LowSpanNear        3.20      (1.6%)        3.20      (1.1%)    0.0% (  -2% -    2%) 0.977
                          Fuzzy1       45.64      (3.5%)       45.69      (3.7%)    0.1% (  -6% -    7%) 0.932
                   OrNotHighHigh      138.92      (3.8%)      139.06      (3.8%)    0.1% (  -7% -    7%) 0.935
                    OrNotHighMed      106.41      (6.1%)      106.55      (5.9%)    0.1% ( -11% -   12%) 0.946
                        PKLookup       94.25      (3.5%)       94.44      (3.2%)    0.2% (  -6% -    7%) 0.850
                    OrHighNotLow      190.58      (4.1%)      191.10      (3.3%)    0.3% (  -6% -    7%) 0.816
               HighTermMonthSort     1081.10      (4.7%)     1089.58      (7.1%)    0.8% ( -10% -   13%) 0.680
                      OrHighHigh       14.63      (5.1%)       14.76      (5.2%)    0.8% (  -9% -   11%) 0.603
                    OrHighNotMed      125.32      (3.6%)      126.40      (3.9%)    0.9% (  -6% -    8%) 0.463
                   OrHighNotHigh      187.08      (2.9%)      189.14      (3.4%)    1.1% (  -5% -    7%) 0.273
                        Wildcard       52.68      (3.2%)       53.31      (3.5%)    1.2% (  -5% -    8%) 0.265
                         Prefix3       15.10      (2.9%)       16.62      (3.1%)   10.0% (   3% -   16%) 0.000
round 2
                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                    OrNotHighMed      131.92      (6.5%)      127.91      (6.2%)   -3.0% ( -14% -   10%) 0.131
               HighTermMonthSort     1150.34      (4.7%)     1117.43      (5.3%)   -2.9% ( -12% -    7%) 0.071
                      TermDTSort       71.29      (6.2%)       69.81      (6.8%)   -2.1% ( -14% -   11%) 0.310
                      AndHighMed       55.29      (5.5%)       54.16      (5.8%)   -2.0% ( -12% -    9%) 0.252
                       OrHighMed       30.76      (5.7%)       30.18      (5.7%)   -1.9% ( -12% -   10%) 0.295
                   OrNotHighHigh      143.93      (4.5%)      141.50      (5.2%)   -1.7% ( -10% -    8%) 0.274
                   OrHighNotHigh      172.51      (4.4%)      169.68      (5.0%)   -1.6% ( -10% -    8%) 0.272
                         LowTerm      227.14     (10.1%)      223.62     (10.2%)   -1.6% ( -19% -   20%) 0.629
                    OrNotHighLow      317.49      (4.1%)      313.04      (5.0%)   -1.4% ( -10% -    8%) 0.331
                       MedPhrase       76.90      (5.5%)       75.84      (5.6%)   -1.4% ( -11% -   10%) 0.429
                    OrHighNotMed      201.60      (4.7%)      199.02      (4.7%)   -1.3% ( -10% -    8%) 0.391
                 LowSloppyPhrase       22.26      (4.6%)       22.00      (4.2%)   -1.2% (  -9% -    7%) 0.400
                    OrHighNotLow      151.23      (5.5%)      149.47      (4.9%)   -1.2% ( -10% -    9%) 0.481
                     AndHighHigh       19.39      (2.7%)       19.18      (2.6%)   -1.1% (  -6% -    4%) 0.196
                          Fuzzy1       35.55      (4.1%)       35.20      (5.0%)   -1.0% (  -9% -    8%) 0.495
                       OrHighLow      204.03      (4.3%)      202.34      (3.3%)   -0.8% (  -8% -    7%) 0.493
               HighTermTitleSort       71.31      (3.8%)       70.77      (4.4%)   -0.7% (  -8% -    7%) 0.566
                HighSloppyPhrase        3.55      (4.1%)        3.53      (4.1%)   -0.6% (  -8% -    7%) 0.632
                 MedSloppyPhrase        6.40      (3.6%)        6.37      (3.2%)   -0.6% (  -7% -    6%) 0.582
                     LowSpanNear        9.38      (1.6%)        9.33      (1.7%)   -0.6% (  -3% -    2%) 0.287
                      OrHighHigh       14.17      (2.1%)       14.10      (2.6%)   -0.5% (  -5% -    4%) 0.479
                          Fuzzy2       33.09      (2.7%)       32.94      (4.1%)   -0.5% (  -7% -    6%) 0.677
                      HighPhrase       19.05      (2.9%)       18.97      (2.8%)   -0.4% (  -5% -    5%) 0.616
                       LowPhrase       63.67      (3.9%)       63.39      (4.2%)   -0.4% (  -8% -    7%) 0.732
                         MedTerm      314.53      (5.9%)      313.31      (6.9%)   -0.4% ( -12% -   13%) 0.849
            HighTermTitleBDVSort        3.43      (3.9%)        3.42      (4.4%)   -0.4% (  -8% -    8%) 0.789
                     MedSpanNear        2.87      (1.7%)        2.86      (2.0%)   -0.3% (  -3% -    3%) 0.573
             LowIntervalsOrdered       11.62      (2.3%)       11.60      (2.2%)   -0.2% (  -4% -    4%) 0.801
                        HighTerm      312.37      (4.7%)      311.95      (5.4%)   -0.1% (  -9% -   10%) 0.933
                    HighSpanNear        5.53      (2.7%)        5.52      (2.8%)   -0.1% (  -5% -    5%) 0.890
            HighIntervalsOrdered        2.47      (3.7%)        2.47      (3.4%)   -0.0% (  -6% -    7%) 0.987
                        PKLookup       93.79      (2.4%)       93.90      (3.9%)    0.1% (  -6% -    6%) 0.912
                         Respell       45.96      (3.0%)       46.04      (3.3%)    0.2% (  -5% -    6%) 0.853
                      AndHighLow      438.18      (4.3%)      439.42      (3.9%)    0.3% (  -7% -    8%) 0.825
                          IntNRQ       15.31      (2.9%)       15.36      (3.5%)    0.3% (  -5% -    6%) 0.741
             MedIntervalsOrdered        9.29      (2.7%)        9.33      (2.3%)    0.4% (  -4% -    5%) 0.590
           HighTermDayOfYearSort      143.87      (3.9%)      144.55      (5.4%)    0.5% (  -8% -   10%) 0.752
                        Wildcard       20.15      (2.8%)       20.64      (3.9%)    2.5% (  -4% -    9%) 0.024
                         Prefix3       36.20      (4.0%)       39.46      (5.4%)    9.0% (   0% -   19%) 0.000
round 2
                      AndHighMed       42.96     (10.2%)       41.58      (8.4%)   -3.2% ( -19% -   17%) 0.275
                       OrHighMed       30.44      (6.6%)       29.73      (5.9%)   -2.3% ( -13% -   10%) 0.242
                       OrHighLow      194.81      (2.8%)      191.87      (2.7%)   -1.5% (  -6% -    4%) 0.085
                        PKLookup       93.67      (2.7%)       92.27      (2.8%)   -1.5% (  -6% -    4%) 0.081
                      OrHighHigh       13.05      (3.0%)       12.86      (2.5%)   -1.5% (  -6% -    4%) 0.093
                      TermDTSort       71.42      (6.9%)       70.50      (6.8%)   -1.3% ( -14% -   13%) 0.551
                       MedPhrase       53.41      (6.1%)       52.75      (5.0%)   -1.2% ( -11% -   10%) 0.481
                          Fuzzy2       18.30      (4.3%)       18.09      (4.1%)   -1.2% (  -9% -    7%) 0.383
                 MedSloppyPhrase       10.14      (4.7%)       10.03      (5.4%)   -1.1% ( -10% -    9%) 0.483
                     LowSpanNear        8.77      (3.7%)        8.68      (3.7%)   -1.1% (  -8% -    6%) 0.352
                          IntNRQ       39.70      (4.8%)       39.35      (4.6%)   -0.9% (  -9% -    8%) 0.554
                 LowSloppyPhrase        8.50      (2.5%)        8.42      (2.6%)   -0.9% (  -5% -    4%) 0.281
                HighSloppyPhrase        3.75      (3.3%)        3.71      (3.5%)   -0.9% (  -7% -    6%) 0.420
                     MedSpanNear        6.93      (2.6%)        6.88      (2.4%)   -0.8% (  -5% -    4%) 0.326
                      HighPhrase       19.24      (3.8%)       19.10      (2.9%)   -0.7% (  -7% -    6%) 0.492
                     AndHighHigh       21.88      (4.0%)       21.73      (2.9%)   -0.7% (  -7% -    6%) 0.548
                          Fuzzy1       38.02      (3.8%)       37.79      (2.6%)   -0.6% (  -6% -    6%) 0.558
                       LowPhrase       34.81      (4.1%)       34.62      (3.8%)   -0.6% (  -8% -    7%) 0.654
               HighTermMonthSort     1032.28      (4.5%)     1026.71      (4.9%)   -0.5% (  -9% -    9%) 0.717
                      AndHighLow      340.34      (3.3%)      338.68      (3.5%)   -0.5% (  -7% -    6%) 0.651
                    OrNotHighMed      162.50      (6.2%)      161.78      (6.9%)   -0.4% ( -12% -   13%) 0.830
                    HighSpanNear        0.59      (1.5%)        0.59      (1.3%)   -0.4% (  -3% -    2%) 0.317
                    OrHighNotMed      133.32      (4.1%)      132.99      (5.8%)   -0.3% (  -9% -   10%) 0.875
                   OrHighNotHigh      141.95      (3.9%)      141.76      (4.7%)   -0.1% (  -8% -    8%) 0.924
                         Respell       31.05      (2.0%)       31.03      (1.7%)   -0.1% (  -3% -    3%) 0.894
                         MedTerm      241.09      (7.8%)      241.01     (10.9%)   -0.0% ( -17% -   20%) 0.991
            HighIntervalsOrdered        3.94      (3.9%)        3.94      (3.7%)    0.0% (  -7% -    7%) 0.995
             MedIntervalsOrdered        6.29      (2.8%)        6.30      (2.7%)    0.2% (  -5% -    5%) 0.861
               HighTermTitleSort       83.62      (4.2%)       83.78      (2.5%)    0.2% (  -6% -    7%) 0.862
                        HighTerm      378.46      (4.5%)      379.20      (6.3%)    0.2% ( -10% -   11%) 0.910
             LowIntervalsOrdered        4.42      (2.1%)        4.43      (2.0%)    0.2% (  -3% -    4%) 0.711
                   OrNotHighHigh      105.70      (3.5%)      106.02      (5.1%)    0.3% (  -8% -    9%) 0.831
            HighTermTitleBDVSort        2.20      (4.1%)        2.21      (3.6%)    0.5% (  -6% -    8%) 0.671
                    OrNotHighLow      324.11      (3.0%)      326.31      (2.8%)    0.7% (  -4% -    6%) 0.457
                         LowTerm      234.84     (10.9%)      236.73     (15.2%)    0.8% ( -22% -   30%) 0.848
                    OrHighNotLow      208.94      (4.4%)      211.13      (6.0%)    1.0% (  -8% -   11%) 0.527
           HighTermDayOfYearSort      159.96      (3.6%)      161.77      (3.9%)    1.1% (  -6% -    9%) 0.343
                        Wildcard       33.42      (2.2%)       34.03      (2.9%)    1.8% (  -3% -    7%) 0.023
                         Prefix3      204.96      (3.5%)      219.65      (3.3%)    7.2% (   0% -   14%) 0.000

If there are other approach of benchmark suggestions, i can also do it :)

flamegraph_prefix3.zip

Copy link
Contributor

@jpountz jpountz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @easyice, I left some minor comments, it looks close!

final int n3Minus1 = (flag >> 2) & 0x03;
final int n4Minus1 = flag & 0x03;

blockOffset = blockOffset(pos);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We already computed blockOffset() above, can we avoid computing it twice, e.g. by replacing the readByte() call with block.get(blockOffset++)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, i did the similar change in BufferedIndexInput#readGroupVInt

* internal state like file position).
*/
public abstract class DataOutput {
private BytesRefBuilder groupVIntBytes = new BytesRefBuilder();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can it be made final?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, I will pay more attention to this issue.

* @param dst the array to read ints into.
* @param offset the offset in the array to start storing ints.
*/
public static void fallbackReadGroupVInt(DataInput in, long[] dst, int offset)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't need fallback as a prefix anymore now that it's in its own class. Let's document that this is a default implementation and that it is recommended to use DataInput#readGroupVInts directly rather than this method?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

GroupVIntUtil.fallbackReadGroupVInt(this, dst, offset);
return;
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe copy curSegment to a local variable here, e.g. MemorySegment curSegment = this.curSegment so that the JVM doesn't have to worry about curSegment getting updated?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done, i wonder what the impact on JVM if the variable maybe updated? Thanks!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the bigger problem here is that it is not in the try-catch block. when the indexinput is closed this fails with NPE or IllegalStateException.

Everything in this method must be in the try-catch. Look at othe rmethods, the NPE/ISE catch block always covers everything.

}

try {
final int flag = readByte() & 0xFF;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we already did the job of checking that we have enough bytes left, we don't need readByte() to do it for us?

Suggested change
final int flag = readByte() & 0xFF;
final int flag = curSegment.get(LAYOUT_BYTE, curPosition++) & 0xFF;

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

// test fallbackReadGroupVInt
doTestGroupVInt(dir, 5, 1, 6, 8);

// test large data to covers multiple blocks in ByteBuffersDataInput
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

adding it explicitly since this is probably the most important case to cover

Suggested change
// test large data to covers multiple blocks in ByteBuffersDataInput
// test large data to covers multiple blocks in ByteBuffersDataInput and MMapDirectory via TestMultiMMap

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @jpountz , i added a separate test to BaseChunkedDirectoryTestCase to make sure use multi blocks, this will both cover MMapDirectory and ByteBuffersDataInput

* @param values the values to write
* @param limit the number of values to write.
*/
public void writeGroupVInts(long[] values, int limit) throws IOException {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm tempted to mark it @lucene.experimental to allow us to change the signature to use ints in the future. And likewise for its counterpart on DataInput?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay!

@rmuir
Copy link
Member

rmuir commented Dec 5, 2023

Thank you very much for your suggestions, i had fixed the comments from @jpountz, but the related to Mmapdir will be later(such as java19, java20 support), because we need to confirm whether to change it. i agree that we should be cautious here. in my understanding the optimized code is faster than the main branch probably because the optimized code doesn't need a switch statement in GroupVIntUtil#readLongInGroup, although it was inlined.

The JMH output for currently, it's similar to before we replaced varHander with ByteBuffer#getInt() java17

Benchmark                                                 (size)   Mode  Cnt   Score   Error   Units
GroupVIntBenchmark.byteBuffersReadGroupVInt                   64  thrpt    5   4.698 ± 2.039  ops/us
GroupVIntBenchmark.byteBuffersReadGroupVIntBaseline           64  thrpt    5   2.167 ± 0.064  ops/us
GroupVIntBenchmark.mmap_byteBufferReadGroupVInt               64  thrpt    5   7.386 ± 0.524  ops/us
GroupVIntBenchmark.mmap_byteBufferReadGroupVIntBaseline       64  thrpt    5   7.358 ± 1.316  ops/us
GroupVIntBenchmark.nioReadGroupVInt                           64  thrpt    5   8.236 ± 1.052  ops/us
GroupVIntBenchmark.nioReadGroupVIntBaseline                   64  thrpt    5   5.381 ± 1.134  ops/us

java21

Benchmark                                                 (size)   Mode  Cnt   Score   Error   Units
GroupVIntBenchmark.byteBuffersReadGroupVInt                   64  thrpt    5   4.622 ± 0.880  ops/us
GroupVIntBenchmark.byteBuffersReadGroupVIntBaseline           64  thrpt    5   1.674 ± 0.245  ops/us
GroupVIntBenchmark.mmap_byteBufferReadGroupVInt               64  thrpt    5  10.165 ± 1.083  ops/us
GroupVIntBenchmark.mmap_byteBufferReadGroupVIntBaseline       64  thrpt    5   5.104 ± 0.388  ops/us
GroupVIntBenchmark.nioReadGroupVInt                           64  thrpt    5   9.527 ± 1.556  ops/us
GroupVIntBenchmark.nioReadGroupVIntBaseline                   64  thrpt    5   5.351 ± 0.621  ops/us

@uschindler Thank you for take a look at this, here is the assembly output for MemorySegmentIndexInput#readGroupVInt, using command: java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly --module-path lucene/benchmark-jmh/build/benchmarks --module org.apache.lucene.benchmark.jmh GroupVIntBenchmark.mmap

assembly code

you need to install hsdis to be able to see instructions and not just binary data from printassembly. see https://github.com/apache/lucene/blob/main/help/jmh.txt

@easyice
Copy link
Contributor Author

easyice commented Dec 5, 2023

@uschindler
Copy link
Contributor

uschindler commented Dec 5, 2023

Hi,
Did you create this one with the jmh option -perfasm? This looks like unoptimized code generated only by C1, not fully optimized by the C2 compiler.

It would be good to have 2 asm dumps: one with your patch and one where the benchmark just calls the inherited default impl on Mmapdir.

@jpountz
Copy link
Contributor

jpountz commented Dec 5, 2023

@uschindler FYI this is what I'm getting: https://gist.github.com/jpountz/be81b1eb93c6118aac65c3679911f1d8. There are two files: baseline.txt for the default impl, and contender.txt for the optimized impl.

In general I am not sure if we really need specialization in Mmapdir.
We do not even implement readVInt for memory segments. Why should we implement it for this complex case?

To be clear, this specialization is not about doing the same kind of optimization that the JVM would do by inlining, it's about taking advantage of the fact that many of our Directory implementations can do unaligned random reads under the hood to decode group-varints more efficiently, fewer conditionals specifically.

@uschindler
Copy link
Contributor

uschindler commented Dec 6, 2023

Hi Adrien,

Thanks for the more insight!

@uschindler FYI this is what I'm getting: https://gist.github.com/jpountz/be81b1eb93c6118aac65c3679911f1d8. There are two files: baseline.txt for the default impl, and contender.txt for the optimized impl.

This looks much better than the files posted before. This shows that both (the baseline and contender) methods are fully inlined (almost...). So the difference is indeed the internal implementation.

In general I am not sure if we really need specialization in Mmapdir.
We do not even implement readVInt for memory segments. Why should we implement it for this complex case?

To be clear, this specialization is not about doing the same kind of optimization that the JVM would do by inlining, it's about taking advantage of the fact that many of our Directory implementations can do unaligned random reads under the hood to decode group-varints more efficiently, fewer conditionals specifically.

This information wasn't available to me.

With unaligned random reads you mean that you read with positional reads from the area where the buffer is saved? With default DataInput you can only go forward, so you need to read everything and also in order.

This explains, but I am really not happy to put this very special code into theeI/O layer of Lucene. This makes it unmaintainable, sorry.

I have not much time at the moment, but could we for now leave out MMapDirectory (all variants) form the optimization and start small? I have some ideas to rewrite that code to not duplicate the same code with small changes over and over. What you need is some way to read the the values unaligned from an indexed memory area (int for arrays and bytebuffers; long for memorysegments)? This is exactly what VarHandles do! We could write a generic implementation that uses VarHandles to access the underlying bytes. You can get VarHandles from byte arrays (see BitUtil class - you already use that) or from ByteBuffers (works the same way to get a VarHandle to access internals of ByteBuffers direct or on-heap! - P.S.: We could use that to get rid of the stupid Long/FloatBuffers in the legacy MMap-ByteBufferIndexInput - I played around with it already). And finally the accessors of MemorySegment are Varhandles behind the scenes, too (just with long coordinate instead of int).

So my idea would be an implementation that uses VarHandles and this one can be used for byte[], ByteBuffer[] and MemorySegment. The impl is basically the same (takes an offset for start of block and the receiver and then decodes everything after that offset). All implementations would create an instance of that GroupVarInt decoder that knows the varhandles and the receiver object).

I am a bit busy the next days, but I can maybe look into that at the weekend. Maybe we get a good API without copypasting this horrible complex code that I don't understand ten times into our repository. This is my main issue with this. I do much for performance, but I won't copypaste code everywhere just to get a few percents. Sorry.

@uschindler
Copy link
Contributor

uschindler commented Dec 6, 2023

The best idea that I have instead of VarHandles: Create an implementation for ByteBuffer (using the methods available there). This implementation would work with:

  • byte arrays: Use ByteBuffer.wrap(), do stuff. Don't care about the instances, with Java 11+ the escape anaylsis will nuke the bytebuffers
  • ByteBuffers - use as is
  • MemorySegment: You can wrap a MemorySegent slice as ByteBuffer (like byte arrays). The MemorySegment code wraps just the portion as a single use byteBuffer, calls the generic method and throws it away. Also here: the temporary object is nuked by escape analysis. To get a ByteBuffer view on a slice of a memory segment: segment.slice(startAsLong, length).asByteBuffer()

I would give that a try: It is easy and reuseable as we just use a ByteBuffer as a view on top of the small area.

P.S.: That escape analysis works you can see in our Panama Vector Util. Every vector multiplication creates around 20 objects....

@easyice
Copy link
Contributor Author

easyice commented Dec 7, 2023

@uschindler Thanks for review!

With unaligned random reads you mean that you read with positional reads from the area where the buffer is saved? With default DataInput you can only go forward, so you need to read everything and also in order.

The optimized decode for an integer value using getInt(pos) & mask, it interprets the following bytes as intger, then use mask to remove unnecessary, since the length of each value is not fixed, the getInt(pos) will like getInt(1); getInt(2); getInt(4); getInt(7), so it is unaligned random reads. This random access is not supported in DataInput, and possibility a bit heavy if use RandomAccessInput directly.

The best idea that I have instead of VarHandles: Create an implementation for ByteBuffer

do you mean create an implementation to get the current block as ByteBuffer for BufferedIndexInput ByteBuffersDataInput and MemorySegmentIndexInput like "wrapSliceAsByteBuffer()" ? then put the decode function readGroupVInt to DataInput?

@uschindler
Copy link
Contributor

uschindler commented Dec 7, 2023

The best idea that I have instead of VarHandles: Create an implementation for ByteBuffer

do you mean create an implementation to get the current block as ByteBuffer for BufferedIndexInput ByteBuffersDataInput and MemorySegmentIndexInput like "wrapSliceAsByteBuffer()" ? then put the decode function readGroupVInt to DataInput?

My idea was to create a utility class with a static method that does the decoding on top of a ByteBuffer. This method takes a ByteBuffer and the same remaining parameters. To allow reuse of bytebuffers also add a startoffset where encoding starts. But it could rely on position().

In the several indexinputs just wrap a slice and call the static method. In ByteBufferIndexInput directly call the method.

The only downside of this is that the caller code must know beforehand how large the slice must be.

@uschindler uschindler merged commit dc9f154 into apache:main Dec 23, 2023
@uschindler
Copy link
Contributor

I appied this for Lucene 10 only (main branch). This also fits changes.txt.

Let's figure out if backporting breaks anything. If this is fine in Lucene 9.x, we can move the changes entry. But for now I'd like to more thoroughly test this and see if Mike's production benchmark shows any changes.

@uschindler
Copy link
Contributor

I also merged the main barnch into the Java 22+ MMapDirectory implementation to make sure the MMAP tester finds any issues during its runs: https://jenkins.thetaphi.de/job/Lucene-MMAPv2-Linux/ and https://jenkins.thetaphi.de/job/Lucene-MMAPv2-Windows/

@easyice
Copy link
Contributor Author

easyice commented Dec 26, 2023

There seems to be a speedup on prefix queries in nightly benchmarks.

For reference, here is the benchmark in branch_9x with this PR, the performance of ByteBuffersIndexInput looks better than java17, NIOFSDirectoryInputs is similar than java17, but MMapDirectoryInputs has performance regression( we don't change the MMapDirectory impl)

java11:

Benchmark                                                            (size)   Mode  Cnt  Score   Error   Units
GroupVIntBenchmark.benchByteBuffersIndexInput_readGroupVInt              64  thrpt    5  5.064 ± 0.069  ops/us
GroupVIntBenchmark.benchByteBuffersIndexInput_readGroupVIntBaseline      64  thrpt    5  1.612 ± 0.078  ops/us
GroupVIntBenchmark.benchMMapDirectoryInputs_readGroupVInt                64  thrpt    5  6.334 ± 0.914  ops/us
GroupVIntBenchmark.benchMMapDirectoryInputs_readGroupVIntBaseline        64  thrpt    5  7.362 ± 0.505  ops/us
GroupVIntBenchmark.benchMMapDirectoryInputs_readVInt                     64  thrpt    5  4.885 ± 0.545  ops/us
GroupVIntBenchmark.benchNIOFSDirectoryInputs_readGroupVInt               64  thrpt    5  2.977 ± 0.346  ops/us
GroupVIntBenchmark.benchNIOFSDirectoryInputs_readGroupVIntBaseline       64  thrpt    5  2.660 ± 1.700  ops/us

I ran with -XX:+PrintInlining parameter in benchMMapDirectoryInputs_readGroupVInt task, the output is similar to java17

    702  799       3       org.apache.lucene.store.DataInput::readGroupVInts (41 bytes)   made not entrant
                              @ 12   org.apache.lucene.store.DataInput::readGroupVInt (7 bytes)   inline (hot)
                               \-> TypeProfile (26795/26795 counts) = org/apache/lucene/store/ByteBufferIndexInput$SingleBufferImpl
                                @ 3   org.apache.lucene.util.GroupVIntUtil::readGroupVInt (77 bytes)   inline (hot)
               !                  @ 1   org.apache.lucene.store.ByteBufferIndexInput::readByte (100 bytes)   inline (hot)
                                    @ 8   org.apache.lucene.store.ByteBufferGuard::getByte (9 bytes)   inline (hot)
                                      @ 1   org.apache.lucene.store.ByteBufferGuard::ensureValid (16 bytes)   inline (hot)
               !                      @ 5   java.nio.DirectByteBuffer::get (28 bytes)   inline (hot)
                                       \-> TypeProfile (13760/13760 counts) = java/nio/DirectByteBufferR
                                        @ 5   java.nio.Buffer::nextGetIndex (31 bytes)   inline (hot)
                                        @ 8   java.nio.DirectByteBuffer::ix (10 bytes)   inline (hot)
                                        @ 11   jdk.internal.misc.Unsafe::getByte (7 bytes)   force inline by annotation
                                          @ 3   jdk.internal.misc.Unsafe::getByte (0 bytes)   (intrinsic)
                                        @ 16   java.lang.ref.Reference::reachabilityFence (1 bytes)   force inline by annotation
                                  @ 39   org.apache.lucene.util.GroupVIntUtil::readLongInGroup (81 bytes)   inline (hot)
               !                    @ 49   org.apache.lucene.store.ByteBufferIndexInput::readShort (25 bytes)   inline (hot)
                                      @ 8   org.apache.lucene.store.ByteBufferGuard::getShort (9 bytes)   inline (hot)
                                        @ 1   org.apache.lucene.store.ByteBufferGuard::ensureValid (16 bytes)   inline (hot)
               !                        @ 5   java.nio.DirectByteBuffer::getShort (27 bytes)   inline (hot)
                                         \-> TypeProfile (59062/59062 counts) = java/nio/DirectByteBufferR
                                          @ 4   java.nio.Buffer::nextGetIndex (38 bytes)   inline (hot)
                                          @ 7   java.nio.DirectByteBuffer::ix (10 bytes)   inline (hot)
               !                          @ 10   java.nio.DirectByteBuffer::getShort (32 bytes)   inline (hot)
                                            @ 9   jdk.internal.misc.Unsafe::getShortUnaligned (12 bytes)   inline (hot)
                                              @ 5   jdk.internal.misc.Unsafe::getShortUnaligned (33 bytes)   (intrinsic)
                                              @ 8   jdk.internal.misc.Unsafe::convEndian (16 bytes)   inline (hot)
                                            @ 17   java.lang.ref.Reference::reachabilityFence (1 bytes)   force inline by annotation
                                          @ 15   java.lang.ref.Reference::reachabilityFence (1 bytes)   force inline by annotation

@uschindler
Copy link
Contributor

Hi,

Thanks for the measurements, @easyice. So basically, we can backport the commit without any modifications. I can do this and move change entries afterwards.

No PR is needed for that. It's easy.

Uwe

@uschindler
Copy link
Contributor

uschindler commented Dec 28, 2023

Hi @easyice, is my understanding correct? We can backport this PR as is?

@easyice
Copy link
Contributor Author

easyice commented Dec 28, 2023

Thank you Uwe, in my understanding we shouldn't backport this PR, because it has performance regression on java11 for MMapDirectoryInputs , this is also the main way of reading data. what do you think? CC @jpountz

@uschindler
Copy link
Contributor

Thank you Uwe, in my understanding we shouldn't backport this PR, because it has performance regression on java11 for MMapDirectoryInputs , this is also the main way of reading data. what do you think? CC @jpountz

No it hasn't. We excluded MMapDirectory based on ByteBufferIndexInput in this PR. There is no change in ByteBufferIndexInput.

@uschindler
Copy link
Contributor

uschindler commented Dec 28, 2023

This PR only changes the Java 19-21 MMap's MemorySegmentIndexInput, but not ByteBufferIndexInput as we had a regression in ByteBufferIndexInput in Java 17, too. So it was reverted. Just look at the code! With Java 17 (and therefore Java 11) there is no change in code.

@uschindler
Copy link
Contributor

If you have backported this PR and see a difference, it is a relic. Just raise number of repetitions.

@uschindler
Copy link
Contributor

As the naming of classes is causing issues all the time, I will open a PR and rename the badly named ByteBufferIndexInput used by MMapDirectory for Java 11-18 to MappedByteBufferIndexInput.

@easyice
Copy link
Contributor Author

easyice commented Dec 28, 2023

Yeah, i backport this PR to branch_9x on my local machine, and run the benchmark with java11, i got performance regression for MMapDirectoryInputs, even if we not change the code for ByteBufferIndexInput :(

java11

Benchmark                                                            (size)   Mode  Cnt  Score   Error   Units
GroupVIntBenchmark.benchByteBuffersIndexInput_readGroupVInt              64  thrpt    5  5.064 ± 0.069  ops/us
GroupVIntBenchmark.benchByteBuffersIndexInput_readGroupVIntBaseline      64  thrpt    5  1.612 ± 0.078  ops/us
GroupVIntBenchmark.benchMMapDirectoryInputs_readGroupVInt                64  thrpt    5  6.334 ± 0.914  ops/us
GroupVIntBenchmark.benchMMapDirectoryInputs_readGroupVIntBaseline        64  thrpt    5  7.362 ± 0.505  ops/us
GroupVIntBenchmark.benchMMapDirectoryInputs_readVInt                     64  thrpt    5  4.885 ± 0.545  ops/us
GroupVIntBenchmark.benchNIOFSDirectoryInputs_readGroupVInt               64  thrpt    5  2.977 ± 0.346  ops/us
GroupVIntBenchmark.benchNIOFSDirectoryInputs_readGroupVIntBaseline       64  thrpt    5  2.660 ± 1.700  ops/us

@easyice
Copy link
Contributor Author

easyice commented Dec 28, 2023

As the naming of classes is causing issues all the time, I will open a PR and rename the badly named ByteBufferIndexInput used by MMapDirectory for Java 11-18 to MappedByteBufferIndexInput.

That's cool!

@easyice
Copy link
Contributor Author

easyice commented Dec 28, 2023

If you have backported this PR and see a difference, it is a relic. Just raise number of repetitions.

Ohhh... let me try again..

@uschindler
Copy link
Contributor

uschindler commented Dec 28, 2023

You see a relic. There is no slowdown. The baseline code is exactly the same like the one on DataInput base class.

The difference may come from different decisions by hotspot regarding inlining possibly because the benchmark runtime was too short. You won't the a difference in production. You are hunting ghosts.

I see no reason to not backport this code. In general, I don't think the whole code here will make a big difference in production, as seen by Mike's benchmark. This is the reason why I am not happy in moving the code complexity to the indexinputs at all.

So either backport it or revert it in total.

These are only microbenchmarks that don't have a large impact at all. If it is twice as fast you will see a difference, but not for the code here. In production the inline decisions by hotspot will be totally different. The benchmark code only runs in isolation.

@easyice
Copy link
Contributor Author

easyice commented Dec 28, 2023

Thanks for explaining! i agree that the micro benchmarks results are for reference only, so let we backport it :)

@uschindler
Copy link
Contributor

Hi @easyice,
I backported the PR. There was only a change in the test because in Java 11 does not have random() with two parameters. We have TestUtil for that.
Uwe

@easyice
Copy link
Contributor Author

easyice commented Dec 29, 2023

Thank you for the backport and all great suggestions!

@jpountz
Copy link
Contributor

jpountz commented Jan 11, 2024

FYI I pushed an annotation to nightly benchmarks, it should show up tomorrow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants