Skip to content

Instantly share code, notes, and snippets.

@navyxliu
Created October 24, 2023 21:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save navyxliu/dc69de73231d9eb71eff4c15966e76ff to your computer and use it in GitHub Desktop.
Save navyxliu/dc69de73231d9eb71eff4c15966e76ff to your computer and use it in GitHub Desktop.
RelockInDeopt.java
// java -XX:CompileCommand=quiet -XX:CompileCommand=compileonly,RelockInDeopt::snippet2 -XX:-TieredCompilation -XX:-UseOnStackReplacement -XX:+PrintCompilation -XX:+TraceDeoptimization -XX:+PrintEliminateLocks -XX:+PrintDeoptimizationDetails -XX:-PrintInlining -Xbatch -XX:+PrintEliminateAllocations RelockInDeopt
class RelockInDeopt {
static int staticInt = 0;
static Object staticObj = null;
public static void snippet2() {
Object escaped = new Object();
Object nonEscaped = new Object();
synchronized (nonEscaped) {
synchronized (escaped) {
staticObj = escaped;
staticInt++;
if (staticInt >= 9_999) {
staticObj = null; // deoptimize
}
}
}
}
public static void main(String[] args) {
var kase = new RelockInDeopt();
for (int i = 0; i < 10_000; ++i) {
snippet2();
}
}
}
@navyxliu
Copy link
Author

we can confirm that c2 can eliminate nonEscaped at line 8 and its lock/unlock nodes.
Secondly, we can confirm that we rematerialize object nonEscaped and relock it at deoptimization.

627   24   !b        RelockInDeopt::snippet2 (74 bytes)
++++ Eliminated: 341 Unlock 'NonEscObj'
++++ Eliminated: 133 Lock 'NonEscObj'
Scalar   94  CheckCastPP  === 91 89  [[ 324 143 324 143 ]]  #java/lang/Object:NotNull:exact *,iid=77  Oop:java/lang/Object:NotNull:exact *,iid=77 !jvms: RelockInDeopt::snippet2 @ bci:8 (line 8)
++++ Eliminated: 77 Allocate
UNCOMMON TRAP method=RelockInDeopt.snippet2()V  bci=42 pc=0x00007fc6ad158c98, relative_pc=0x0000000000000398, debug_id=0 compiler=c2 compile_id=24 (@0x00007fc6ad158c98) thread=58978 reason=unstable_if action=reinterpret unloaded_class_index=-1 debug_id=0
634   24   !         RelockInDeopt::snippet2 (74 bytes)   made not entrant
reassign fields for object of type java/lang/Object!
REALLOC OBJECTS in thread 0x00007fc6b002ae30
     object <0x000000011f964c60> of type 'java/lang/Object' allocated (16 bytes)
RELOCK OBJECTS in thread 0x00007fc6b002ae30
     object <0x000000011f964c60> locked
DEOPT PACKING thread=0x00007fc6b002ae30 vframeArray=0x00007fc6b0524310
   Compiled frame (sp=0x00007fc6b8788910 unextended sp=0x00007fc6b8788910, fp=0x000000000000270f, real_fp=0x00007fc6b8788950, pc=0x00007fc6ad158c98)
     nmethod634   24   !         RelockInDeopt::snippet2 (74 bytes)
   Virtual frames (innermost/newest first):
      VFrame 0 (0x00007fc6440a5ce0) - RelockInDeopt.snippet2()V - if_icmplt @ bci=42

DEOPT UNPACKING thread=0x00007fc6b002ae30 vframeArray=0x00007fc6b0524310 mode=2
   Virtual frames (outermost/oldest first):
      VFrame 0 (0x00007fc6b05255f0) - RelockInDeopt.snippet2()V - if_icmplt @ bci=42 sp=0x00007fc6b8788898
Expressions size: 2
 - Reconstructed expression 0 (INT): 9999
 - Reconstructed expression 1 (INT): 9999
Locals size: 6
 - Reconstructed local 2 (OBJECT): java/lang/Object
 - Reconstructed local 3 (OBJECT): java/lang/Object
[1. Interpreted Frame]
Interpreted frame (sp=0x00007fc6b8788898 unextended sp=0x00007fc6b8788898, fp=0x00007fc6b8788910, real_fp=0x00007fc6b8788910, pc=0x00007fc6ad024ac0)
~deoptimization entry points  [0x00007fc6ad024ac0, 0x00007fc6ad0280d8]  13848 bytes
     BufferBlob (0x00007fc6ad007a90) used for Interpreter
 - local  [0x0000000000000000]; #0
 - local  [0x0000000000000000]; #1
 - local  [0x000000011f964c60]; #2
 - local  [0x000000011f964c50]; #3
 - local  [0x0000000000000000]; #4
 - local  [0x0000000000000000]; #5
 - stack  [0xdeaddeaf0000270f]; #1
 - stack  [0xdeaddeaf0000270f]; #0
 - obj    [a 'java/lang/Object'{0x000000011f964c50}]
 - lock   [monitor locked(0x00000000de0bd000)]
 - obj    [a 'java/lang/Object'{0x000000011f964c60}]
 - lock   [monitor locked(0x00000000de0bd000)]
 - monitor[0x00007fc6b87888c8]
 - bcp    [0x00007fc6646032ca]; @42
 - locals [0x00007fc6b8788948]
 - method [0x00007fc664603318]; static void RelockInDeopt.snippet2()
        {method} {0x00007fc664603318} 'snippet2' '()V' in 'RelockInDeopt'
        bci:    42
        locals:
           0 null <0x0000000000000000>
           1 null <0x0000000000000000>
           2 a 'java/lang/Object'{0x000000011f964c60} <0x000000011f964c60>
           3 a 'java/lang/Object'{0x000000011f964c50} <0x000000011f964c50>
           4 0 (int) 0.000000 (float) 0 (hex)  0 (long)
             0.000000000000000e+00 (double)  0x0000000000000000 (longhex)
           5 0 (int) 0.000000 (float) 0 (hex)
        expressions:
           0 9999 (int) 0.000000 (float) 270f (hex)  -2401018183117953265 (long)
             -1.193551171177127e+148 (double)  0xdeaddeaf0000270f (longhex)
           1 9999 (int) 0.000000 (float) 270f (hex)
        monitor list:
          obj   a 'java/lang/Object'{0x000000011f964c50}(owner=0x000000011f964c50)
          monitor locked(0x00000000de0bd000)
          obj   a 'java/lang/Object'{0x000000011f964c60}(owner=0x000000011f964c60)
          monitor locked(0x00000000de0bd000)

@navyxliu
Copy link
Author

Compiled method (n/a) 203    1     n       java.lang.invoke.MethodHandle::linkToStatic(LLLLLLL)L (native)
 total in heap  [0x00007f50e9124190,0x00007f50e9124410] = 640
 relocation     [0x00007f50e9124300,0x00007f50e9124348] = 72
 main code      [0x00007f50e9124360,0x00007f50e912440f] = 175
 stub code      [0x00007f50e912440f,0x00007f50e9124410] = 1

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a040df50} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/Object'
  # parm3:    r8:r8     = 'java/lang/Object'
  # parm4:    r9:r9     = 'java/lang/Object'
  # parm5:    rdi:rdi   = 'java/lang/Object'
  # parm6:    [sp+0x0]   = 'java/lang/invoke/MemberName'  (sp of caller)
  0x00007f50e9124360:   mov    0x8(%rsp),%rbx
 ;; verify_klass {
  0x00007f50e9124365:   test   %rbx,%rbx
  0x00007f50e9124368:   je     0x00007f50e9124395
  0x00007f50e912436e:   push   %rdi
  0x00007f50e912436f:   push   %r10
  0x00007f50e9124371:   mov    0x8(%rbx),%edi
  0x00007f50e9124374:   cmp    0xa120de5(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e912437b:   je     0x00007f50e91243a9
  0x00007f50e9124381:   mov    0x40(%rdi),%rdi
  0x00007f50e9124385:   cmp    0xa120dd4(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e912438c:   je     0x00007f50e91243a9
  0x00007f50e9124392:   pop    %r10
  0x00007f50e9124394:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9124395:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e912439f:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91243a3:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91243a8:   hlt    
 ;; L_ok:
  0x00007f50e91243a9:   pop    %r10
  0x00007f50e91243ab:   pop    %rdi
 ;; } verify_klass
 ;; verify_ref_kind {
  0x00007f50e91243ac:   mov    0xc(%rbx),%eax
  0x00007f50e91243af:   shr    $0x18,%eax
  0x00007f50e91243b2:   and    $0xf,%eax
  0x00007f50e91243b5:   cmp    $0x6,%eax
  0x00007f50e91243b8:   je     0x00007f50e91243d2
 ;; verify_ref_kind expected 6
  0x00007f50e91243be:   movabs $0x7f50ec17a420,%rdi         ;   {external_word}
  0x00007f50e91243c8:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91243cc:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91243d1:   hlt    
 ;; } verify_ref_kind
  0x00007f50e91243d2:   mov    0x24(%rbx),%ebx
  0x00007f50e91243d5:   cmp    0xa053c04(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e91243dc:   je     0x00007f50e91243f6
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e91243e2:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e91243ec:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91243f0:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91243f5:   hlt    
  0x00007f50e91243f6:   shl    $0x3,%rbx
  0x00007f50e91243fa:   mov    0x10(%rbx),%rbx
  0x00007f50e91243fe:   test   %rbx,%rbx
  0x00007f50e9124401:   je     0x00007f50e912440a
  0x00007f50e9124407:   jmpq   *0x58(%rbx)
  0x00007f50e912440a:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e912440f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
210    1     n       java.lang.invoke.MethodHandle::linkToStatic(LLLLLLL)L (native)   (static)

Compiled method (n/a) 225    2     n       java.lang.invoke.MethodHandle::linkToStatic(LLL)L (native)
 total in heap  [0x00007f50e9126010,0x00007f50e9126290] = 640
 relocation     [0x00007f50e9126180,0x00007f50e91261c8] = 72
 main code      [0x00007f50e91261e0,0x00007f50e912628a] = 170
 stub code      [0x00007f50e912628a,0x00007f50e9126290] = 6

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0462f20} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e91261e0:   test   %rcx,%rcx
  0x00007f50e91261e3:   je     0x00007f50e9126210
  0x00007f50e91261e9:   push   %rdi
  0x00007f50e91261ea:   push   %r10
  0x00007f50e91261ec:   mov    0x8(%rcx),%edi
  0x00007f50e91261ef:   cmp    0xa11ef6a(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e91261f6:   je     0x00007f50e9126224
  0x00007f50e91261fc:   mov    0x40(%rdi),%rdi
  0x00007f50e9126200:   cmp    0xa11ef59(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9126207:   je     0x00007f50e9126224
  0x00007f50e912620d:   pop    %r10
  0x00007f50e912620f:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9126210:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e912621a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e912621e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9126223:   hlt    
 ;; L_ok:
  0x00007f50e9126224:   pop    %r10
  0x00007f50e9126226:   pop    %rdi
 ;; } verify_klass
 ;; verify_ref_kind {
  0x00007f50e9126227:   mov    0xc(%rcx),%eax
  0x00007f50e912622a:   shr    $0x18,%eax
  0x00007f50e912622d:   and    $0xf,%eax
  0x00007f50e9126230:   cmp    $0x6,%eax
  0x00007f50e9126233:   je     0x00007f50e912624d
 ;; verify_ref_kind expected 6
  0x00007f50e9126239:   movabs $0x7f50ec3fcc00,%rdi         ;   {external_word}
  0x00007f50e9126243:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9126247:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e912624c:   hlt    
 ;; } verify_ref_kind
  0x00007f50e912624d:   mov    0x24(%rcx),%ebx
  0x00007f50e9126250:   cmp    0xa051d89(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9126257:   je     0x00007f50e9126271
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e912625d:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9126267:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e912626b:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9126270:   hlt    
  0x00007f50e9126271:   shl    $0x3,%rbx
  0x00007f50e9126275:   mov    0x10(%rbx),%rbx
  0x00007f50e9126279:   test   %rbx,%rbx
  0x00007f50e912627c:   je     0x00007f50e9126285
  0x00007f50e9126282:   jmpq   *0x58(%rbx)
  0x00007f50e9126285:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e912628a:   hlt    
  0x00007f50e912628b:   hlt    
  0x00007f50e912628c:   hlt    
  0x00007f50e912628d:   hlt    
  0x00007f50e912628e:   hlt    
  0x00007f50e912628f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
227    2     n       java.lang.invoke.MethodHandle::linkToStatic(LLL)L (native)   (static)

Compiled method (n/a) 232    3     n       java.lang.invoke.MethodHandle::invokeBasic(LLLLLL)L (native)
 total in heap  [0x00007f50e9139510,0x00007f50e9139770] = 608
 relocation     [0x00007f50e9139680,0x00007f50e91396c8] = 72
 main code      [0x00007f50e91396e0,0x00007f50e913976d] = 141
 stub code      [0x00007f50e913976d,0x00007f50e9139770] = 3

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a046c938} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # this:     rsi:rsi   = 'java/lang/invoke/MethodHandle'
  # parm0:    rdx:rdx   = 'java/lang/Object'
  # parm1:    rcx:rcx   = 'java/lang/Object'
  # parm2:    r8:r8     = 'java/lang/Object'
  # parm3:    r9:r9     = 'java/lang/Object'
  # parm4:    rdi:rdi   = 'java/lang/Object'
  # parm5:    [sp+0x0]   = 'java/lang/Object'  (sp of caller)
 ;; jump_to_lambda_form {
  0x00007f50e91396e0:   mov    0x14(%rsi),%ebx
  0x00007f50e91396e3:   cmp    0xa03e8f6(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e91396ea:   je     0x00007f50e9139704
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e91396f0:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e91396fa:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91396fe:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9139703:   hlt    
  0x00007f50e9139704:   shl    $0x3,%rbx
  0x00007f50e9139708:   mov    0x28(%rbx),%ebx
  0x00007f50e913970b:   cmp    0xa03e8ce(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9139712:   je     0x00007f50e913972c
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9139718:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9139722:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9139726:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913972b:   hlt    
  0x00007f50e913972c:   shl    $0x3,%rbx
  0x00007f50e9139730:   mov    0x24(%rbx),%ebx
  0x00007f50e9139733:   cmp    0xa03e8a6(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e913973a:   je     0x00007f50e9139754
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9139740:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e913974a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913974e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9139753:   hlt    
  0x00007f50e9139754:   shl    $0x3,%rbx
  0x00007f50e9139758:   mov    0x10(%rbx),%rbx
  0x00007f50e913975c:   test   %rbx,%rbx
  0x00007f50e913975f:   je     0x00007f50e9139768
  0x00007f50e9139765:   jmpq   *0x58(%rbx)
  0x00007f50e9139768:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
 ;; } jump_to_lambda_form
  0x00007f50e913976d:   hlt    
  0x00007f50e913976e:   hlt    
  0x00007f50e913976f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
234    3     n       java.lang.invoke.MethodHandle::invokeBasic(LLLLLL)L (native)   

Compiled method (n/a) 234    4     n       java.lang.invoke.MethodHandle::linkToSpecial(LLLLLLLL)L (native)
 total in heap  [0x00007f50e9139810,0x00007f50e9139bb0] = 928
 relocation     [0x00007f50e9139980,0x00007f50e9139a10] = 144
 main code      [0x00007f50e9139a20,0x00007f50e9139bad] = 397
 stub code      [0x00007f50e9139bad,0x00007f50e9139bb0] = 3

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a046cae0} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/Object'
  # parm3:    r8:r8     = 'java/lang/Object'
  # parm4:    r9:r9     = 'java/lang/Object'
  # parm5:    rdi:rdi   = 'java/lang/Object'
  # parm6:    [sp+0x0]   = 'java/lang/Object'  (sp of caller)
  # parm7:    [sp+0x8]   = 'java/lang/invoke/MemberName'
  0x00007f50e9139a20:   mov    0x10(%rsp),%rbx
 ;; verify_klass {
  0x00007f50e9139a25:   test   %rbx,%rbx
  0x00007f50e9139a28:   je     0x00007f50e9139a55
  0x00007f50e9139a2e:   push   %rdi
  0x00007f50e9139a2f:   push   %r10
  0x00007f50e9139a31:   mov    0x8(%rbx),%edi
  0x00007f50e9139a34:   cmp    0xa10b725(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9139a3b:   je     0x00007f50e9139a69
  0x00007f50e9139a41:   mov    0x40(%rdi),%rdi
  0x00007f50e9139a45:   cmp    0xa10b714(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9139a4c:   je     0x00007f50e9139a69
  0x00007f50e9139a52:   pop    %r10
  0x00007f50e9139a54:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9139a55:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e9139a5f:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9139a63:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9139a68:   hlt    
 ;; L_ok:
  0x00007f50e9139a69:   pop    %r10
  0x00007f50e9139a6b:   pop    %rdi
 ;; } verify_klass
  0x00007f50e9139a6c:   cmp    (%rsi),%rax
 ;; check_receiver {
  0x00007f50e9139a6f:   mov    0x8(%rsi),%r10d
  0x00007f50e9139a73:   mov    0x18(%rbx),%r11d
  0x00007f50e9139a77:   cmp    0xa03e562(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9139a7e:   je     0x00007f50e9139a98
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9139a84:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9139a8e:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9139a92:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9139a97:   hlt    
  0x00007f50e9139a98:   shl    $0x3,%r11
 ;; verify_klass {
  0x00007f50e9139a9c:   test   %r11,%r11
  0x00007f50e9139a9f:   je     0x00007f50e9139acd
  0x00007f50e9139aa5:   push   %rdi
  0x00007f50e9139aa6:   push   %r10
  0x00007f50e9139aa8:   mov    0x8(%r11),%edi
  0x00007f50e9139aac:   cmp    0xa10b4dd(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e9139ab3:   je     0x00007f50e9139ae1
  0x00007f50e9139ab9:   mov    0x40(%rdi),%rdi
  0x00007f50e9139abd:   cmp    0xa10b4cc(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e9139ac4:   je     0x00007f50e9139ae1
  0x00007f50e9139aca:   pop    %r10
  0x00007f50e9139acc:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e9139acd:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e9139ad7:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9139adb:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9139ae0:   hlt    
 ;; L_ok:
  0x00007f50e9139ae1:   pop    %r10
  0x00007f50e9139ae3:   pop    %rdi
 ;; } verify_klass
  0x00007f50e9139ae4:   mov    0x10(%r11),%r11
  0x00007f50e9139ae8:   cmp    %r11,%r10
  0x00007f50e9139aeb:   je     0x00007f50e9139b4a
  0x00007f50e9139af1:   mov    0x18(%r11),%eax
  0x00007f50e9139af5:   cmp    (%r10,%rax,1),%r11
  0x00007f50e9139af9:   je     0x00007f50e9139b4a
  0x00007f50e9139aff:   cmp    $0x28,%eax
  0x00007f50e9139b02:   jne    0x00007f50e9139b36
  0x00007f50e9139b08:   mov    %r11,%rax
  0x00007f50e9139b0b:   push   %rcx
  0x00007f50e9139b0c:   push   %rdi
  0x00007f50e9139b0d:   movabs $0x7f50f32253e0,%rcx         ;   {external_word}
  0x00007f50e9139b17:   incl   (%rcx)
  0x00007f50e9139b19:   mov    0x30(%r10),%rdi
  0x00007f50e9139b1d:   mov    (%rdi),%ecx
  0x00007f50e9139b1f:   add    $0x8,%rdi
  0x00007f50e9139b23:   test   %rax,%rax
  0x00007f50e9139b26:   repnz scas %es:(%rdi),%rax
  0x00007f50e9139b29:   pop    %rdi
  0x00007f50e9139b2a:   pop    %rcx
  0x00007f50e9139b2b:   jne    0x00007f50e9139b36
  0x00007f50e9139b2d:   mov    %r11,0x28(%r10)
  0x00007f50e9139b31:   jmpq   0x00007f50e9139b4a
 ;; receiver class disagrees with MemberName.clazz
  0x00007f50e9139b36:   movabs $0x7f50f2cfe040,%rdi         ;   {external_word}
  0x00007f50e9139b40:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9139b44:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9139b49:   hlt    
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e9139b4a:   mov    0xc(%rbx),%eax
  0x00007f50e9139b4d:   shr    $0x18,%eax
  0x00007f50e9139b50:   and    $0xf,%eax
  0x00007f50e9139b53:   cmp    $0x7,%eax
  0x00007f50e9139b56:   je     0x00007f50e9139b70
 ;; verify_ref_kind expected 7
  0x00007f50e9139b5c:   movabs $0x7f50ec407da0,%rdi         ;   {external_word}
  0x00007f50e9139b66:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9139b6a:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9139b6f:   hlt    
 ;; } verify_ref_kind
  0x00007f50e9139b70:   mov    0x24(%rbx),%ebx
  0x00007f50e9139b73:   cmp    0xa03e466(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9139b7a:   je     0x00007f50e9139b94
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9139b80:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9139b8a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9139b8e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9139b93:   hlt    
  0x00007f50e9139b94:   shl    $0x3,%rbx
  0x00007f50e9139b98:   mov    0x10(%rbx),%rbx
  0x00007f50e9139b9c:   test   %rbx,%rbx
  0x00007f50e9139b9f:   je     0x00007f50e9139ba8
  0x00007f50e9139ba5:   jmpq   *0x58(%rbx)
  0x00007f50e9139ba8:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e9139bad:   hlt    
  0x00007f50e9139bae:   hlt    
  0x00007f50e9139baf:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
240    4     n       java.lang.invoke.MethodHandle::linkToSpecial(LLLLLLLL)L (native)   (static)

Compiled method (n/a) 247    5     n       java.lang.invoke.MethodHandle::linkToSpecial(LLLL)V (native)
 total in heap  [0x00007f50e913a810,0x00007f50e913abb0] = 928
 relocation     [0x00007f50e913a980,0x00007f50e913aa10] = 144
 main code      [0x00007f50e913aa20,0x00007f50e913abab] = 395
 stub code      [0x00007f50e913abab,0x00007f50e913abb0] = 5

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0483588} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/Object'
  # parm3:    r8:r8     = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e913aa20:   test   %r8,%r8
  0x00007f50e913aa23:   je     0x00007f50e913aa51
  0x00007f50e913aa29:   push   %rdi
  0x00007f50e913aa2a:   push   %r10
  0x00007f50e913aa2c:   mov    0x8(%r8),%edi
  0x00007f50e913aa30:   cmp    0xa10a729(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e913aa37:   je     0x00007f50e913aa65
  0x00007f50e913aa3d:   mov    0x40(%rdi),%rdi
  0x00007f50e913aa41:   cmp    0xa10a718(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e913aa48:   je     0x00007f50e913aa65
  0x00007f50e913aa4e:   pop    %r10
  0x00007f50e913aa50:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e913aa51:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e913aa5b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913aa5f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913aa64:   hlt    
 ;; L_ok:
  0x00007f50e913aa65:   pop    %r10
  0x00007f50e913aa67:   pop    %rdi
 ;; } verify_klass
  0x00007f50e913aa68:   cmp    (%rsi),%rax
 ;; check_receiver {
  0x00007f50e913aa6b:   mov    0x8(%rsi),%r10d
  0x00007f50e913aa6f:   mov    0x18(%r8),%r11d
  0x00007f50e913aa73:   cmp    0xa03d566(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e913aa7a:   je     0x00007f50e913aa94
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e913aa80:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e913aa8a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913aa8e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913aa93:   hlt    
  0x00007f50e913aa94:   shl    $0x3,%r11
 ;; verify_klass {
  0x00007f50e913aa98:   test   %r11,%r11
  0x00007f50e913aa9b:   je     0x00007f50e913aac9
  0x00007f50e913aaa1:   push   %rdi
  0x00007f50e913aaa2:   push   %r10
  0x00007f50e913aaa4:   mov    0x8(%r11),%edi
  0x00007f50e913aaa8:   cmp    0xa10a4e1(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e913aaaf:   je     0x00007f50e913aadd
  0x00007f50e913aab5:   mov    0x40(%rdi),%rdi
  0x00007f50e913aab9:   cmp    0xa10a4d0(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e913aac0:   je     0x00007f50e913aadd
  0x00007f50e913aac6:   pop    %r10
  0x00007f50e913aac8:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e913aac9:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e913aad3:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913aad7:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913aadc:   hlt    
 ;; L_ok:
  0x00007f50e913aadd:   pop    %r10
  0x00007f50e913aadf:   pop    %rdi
 ;; } verify_klass
  0x00007f50e913aae0:   mov    0x10(%r11),%r11
  0x00007f50e913aae4:   cmp    %r11,%r10
  0x00007f50e913aae7:   je     0x00007f50e913ab46
  0x00007f50e913aaed:   mov    0x18(%r11),%eax
  0x00007f50e913aaf1:   cmp    (%r10,%rax,1),%r11
  0x00007f50e913aaf5:   je     0x00007f50e913ab46
  0x00007f50e913aafb:   cmp    $0x28,%eax
  0x00007f50e913aafe:   jne    0x00007f50e913ab32
  0x00007f50e913ab04:   mov    %r11,%rax
  0x00007f50e913ab07:   push   %rcx
  0x00007f50e913ab08:   push   %rdi
  0x00007f50e913ab09:   movabs $0x7f50f32253e0,%rcx         ;   {external_word}
  0x00007f50e913ab13:   incl   (%rcx)
  0x00007f50e913ab15:   mov    0x30(%r10),%rdi
  0x00007f50e913ab19:   mov    (%rdi),%ecx
  0x00007f50e913ab1b:   add    $0x8,%rdi
  0x00007f50e913ab1f:   test   %rax,%rax
  0x00007f50e913ab22:   repnz scas %es:(%rdi),%rax
  0x00007f50e913ab25:   pop    %rdi
  0x00007f50e913ab26:   pop    %rcx
  0x00007f50e913ab27:   jne    0x00007f50e913ab32
  0x00007f50e913ab29:   mov    %r11,0x28(%r10)
  0x00007f50e913ab2d:   jmpq   0x00007f50e913ab46
 ;; receiver class disagrees with MemberName.clazz
  0x00007f50e913ab32:   movabs $0x7f50f2cfe040,%rdi         ;   {external_word}
  0x00007f50e913ab3c:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913ab40:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913ab45:   hlt    
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e913ab46:   mov    0xc(%r8),%eax
  0x00007f50e913ab4a:   shr    $0x18,%eax
  0x00007f50e913ab4d:   and    $0xf,%eax
  0x00007f50e913ab50:   cmp    $0x7,%eax
  0x00007f50e913ab53:   je     0x00007f50e913ab6d
 ;; verify_ref_kind expected 7
  0x00007f50e913ab59:   movabs $0x7f50ec408840,%rdi         ;   {external_word}
  0x00007f50e913ab63:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913ab67:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913ab6c:   hlt    
 ;; } verify_ref_kind
  0x00007f50e913ab6d:   mov    0x24(%r8),%ebx
  0x00007f50e913ab71:   cmp    0xa03d468(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e913ab78:   je     0x00007f50e913ab92
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e913ab7e:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e913ab88:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913ab8c:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913ab91:   hlt    
  0x00007f50e913ab92:   shl    $0x3,%rbx
  0x00007f50e913ab96:   mov    0x10(%rbx),%rbx
  0x00007f50e913ab9a:   test   %rbx,%rbx
  0x00007f50e913ab9d:   je     0x00007f50e913aba6
  0x00007f50e913aba3:   jmpq   *0x58(%rbx)
  0x00007f50e913aba6:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e913abab:   hlt    
  0x00007f50e913abac:   hlt    
  0x00007f50e913abad:   hlt    
  0x00007f50e913abae:   hlt    
  0x00007f50e913abaf:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
252    5     n       java.lang.invoke.MethodHandle::linkToSpecial(LLLL)V (native)   (static)

Compiled method (n/a) 254    6     n       java.lang.invoke.MethodHandle::invokeBasic(LL)L (native)
 total in heap  [0x00007f50e913b210,0x00007f50e913b470] = 608
 relocation     [0x00007f50e913b380,0x00007f50e913b3c8] = 72
 main code      [0x00007f50e913b3e0,0x00007f50e913b46d] = 141
 stub code      [0x00007f50e913b46d,0x00007f50e913b470] = 3

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0484d50} 'invokeBasic' '(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # this:     rsi:rsi   = 'java/lang/invoke/MethodHandle'
  # parm0:    rdx:rdx   = 'java/lang/Object'
  # parm1:    rcx:rcx   = 'java/lang/Object'
  #           [sp+0x0]  (sp of caller)
 ;; jump_to_lambda_form {
  0x00007f50e913b3e0:   mov    0x14(%rsi),%ebx
  0x00007f50e913b3e3:   cmp    0xa03cbf6(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e913b3ea:   je     0x00007f50e913b404
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e913b3f0:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e913b3fa:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913b3fe:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913b403:   hlt    
  0x00007f50e913b404:   shl    $0x3,%rbx
  0x00007f50e913b408:   mov    0x28(%rbx),%ebx
  0x00007f50e913b40b:   cmp    0xa03cbce(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e913b412:   je     0x00007f50e913b42c
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e913b418:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e913b422:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913b426:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913b42b:   hlt    
  0x00007f50e913b42c:   shl    $0x3,%rbx
  0x00007f50e913b430:   mov    0x24(%rbx),%ebx
  0x00007f50e913b433:   cmp    0xa03cba6(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e913b43a:   je     0x00007f50e913b454
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e913b440:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e913b44a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913b44e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913b453:   hlt    
  0x00007f50e913b454:   shl    $0x3,%rbx
  0x00007f50e913b458:   mov    0x10(%rbx),%rbx
  0x00007f50e913b45c:   test   %rbx,%rbx
  0x00007f50e913b45f:   je     0x00007f50e913b468
  0x00007f50e913b465:   jmpq   *0x58(%rbx)
  0x00007f50e913b468:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
 ;; } jump_to_lambda_form
  0x00007f50e913b46d:   hlt    
  0x00007f50e913b46e:   hlt    
  0x00007f50e913b46f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
256    6     n       java.lang.invoke.MethodHandle::invokeBasic(LL)L (native)   

Compiled method (n/a) 256    7     n       java.lang.invoke.MethodHandle::linkToSpecial(LLLL)L (native)
 total in heap  [0x00007f50e913b510,0x00007f50e913b8b0] = 928
 relocation     [0x00007f50e913b680,0x00007f50e913b710] = 144
 main code      [0x00007f50e913b720,0x00007f50e913b8ab] = 395
 stub code      [0x00007f50e913b8ab,0x00007f50e913b8b0] = 5

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0484e88} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/Object'
  # parm3:    r8:r8     = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e913b720:   test   %r8,%r8
  0x00007f50e913b723:   je     0x00007f50e913b751
  0x00007f50e913b729:   push   %rdi
  0x00007f50e913b72a:   push   %r10
  0x00007f50e913b72c:   mov    0x8(%r8),%edi
  0x00007f50e913b730:   cmp    0xa109a29(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e913b737:   je     0x00007f50e913b765
  0x00007f50e913b73d:   mov    0x40(%rdi),%rdi
  0x00007f50e913b741:   cmp    0xa109a18(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e913b748:   je     0x00007f50e913b765
  0x00007f50e913b74e:   pop    %r10
  0x00007f50e913b750:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e913b751:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e913b75b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913b75f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913b764:   hlt    
 ;; L_ok:
  0x00007f50e913b765:   pop    %r10
  0x00007f50e913b767:   pop    %rdi
 ;; } verify_klass
  0x00007f50e913b768:   cmp    (%rsi),%rax
 ;; check_receiver {
  0x00007f50e913b76b:   mov    0x8(%rsi),%r10d
  0x00007f50e913b76f:   mov    0x18(%r8),%r11d
  0x00007f50e913b773:   cmp    0xa03c866(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e913b77a:   je     0x00007f50e913b794
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e913b780:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e913b78a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913b78e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913b793:   hlt    
  0x00007f50e913b794:   shl    $0x3,%r11
 ;; verify_klass {
  0x00007f50e913b798:   test   %r11,%r11
  0x00007f50e913b79b:   je     0x00007f50e913b7c9
  0x00007f50e913b7a1:   push   %rdi
  0x00007f50e913b7a2:   push   %r10
  0x00007f50e913b7a4:   mov    0x8(%r11),%edi
  0x00007f50e913b7a8:   cmp    0xa1097e1(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e913b7af:   je     0x00007f50e913b7dd
  0x00007f50e913b7b5:   mov    0x40(%rdi),%rdi
  0x00007f50e913b7b9:   cmp    0xa1097d0(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e913b7c0:   je     0x00007f50e913b7dd
  0x00007f50e913b7c6:   pop    %r10
  0x00007f50e913b7c8:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e913b7c9:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e913b7d3:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913b7d7:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913b7dc:   hlt    
 ;; L_ok:
  0x00007f50e913b7dd:   pop    %r10
  0x00007f50e913b7df:   pop    %rdi
 ;; } verify_klass
  0x00007f50e913b7e0:   mov    0x10(%r11),%r11
  0x00007f50e913b7e4:   cmp    %r11,%r10
  0x00007f50e913b7e7:   je     0x00007f50e913b846
  0x00007f50e913b7ed:   mov    0x18(%r11),%eax
  0x00007f50e913b7f1:   cmp    (%r10,%rax,1),%r11
  0x00007f50e913b7f5:   je     0x00007f50e913b846
  0x00007f50e913b7fb:   cmp    $0x28,%eax
  0x00007f50e913b7fe:   jne    0x00007f50e913b832
  0x00007f50e913b804:   mov    %r11,%rax
  0x00007f50e913b807:   push   %rcx
  0x00007f50e913b808:   push   %rdi
  0x00007f50e913b809:   movabs $0x7f50f32253e0,%rcx         ;   {external_word}
  0x00007f50e913b813:   incl   (%rcx)
  0x00007f50e913b815:   mov    0x30(%r10),%rdi
  0x00007f50e913b819:   mov    (%rdi),%ecx
  0x00007f50e913b81b:   add    $0x8,%rdi
  0x00007f50e913b81f:   test   %rax,%rax
  0x00007f50e913b822:   repnz scas %es:(%rdi),%rax
  0x00007f50e913b825:   pop    %rdi
  0x00007f50e913b826:   pop    %rcx
  0x00007f50e913b827:   jne    0x00007f50e913b832
  0x00007f50e913b829:   mov    %r11,0x28(%r10)
  0x00007f50e913b82d:   jmpq   0x00007f50e913b846
 ;; receiver class disagrees with MemberName.clazz
  0x00007f50e913b832:   movabs $0x7f50f2cfe040,%rdi         ;   {external_word}
  0x00007f50e913b83c:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913b840:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913b845:   hlt    
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e913b846:   mov    0xc(%r8),%eax
  0x00007f50e913b84a:   shr    $0x18,%eax
  0x00007f50e913b84d:   and    $0xf,%eax
  0x00007f50e913b850:   cmp    $0x7,%eax
  0x00007f50e913b853:   je     0x00007f50e913b86d
 ;; verify_ref_kind expected 7
  0x00007f50e913b859:   movabs $0x7f50ec414c40,%rdi         ;   {external_word}
  0x00007f50e913b863:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913b867:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913b86c:   hlt    
 ;; } verify_ref_kind
  0x00007f50e913b86d:   mov    0x24(%r8),%ebx
  0x00007f50e913b871:   cmp    0xa03c768(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e913b878:   je     0x00007f50e913b892
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e913b87e:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e913b888:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e913b88c:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e913b891:   hlt    
  0x00007f50e913b892:   shl    $0x3,%rbx
  0x00007f50e913b896:   mov    0x10(%rbx),%rbx
  0x00007f50e913b89a:   test   %rbx,%rbx
  0x00007f50e913b89d:   je     0x00007f50e913b8a6
  0x00007f50e913b8a3:   jmpq   *0x58(%rbx)
  0x00007f50e913b8a6:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e913b8ab:   hlt    
  0x00007f50e913b8ac:   hlt    
  0x00007f50e913b8ad:   hlt    
  0x00007f50e913b8ae:   hlt    
  0x00007f50e913b8af:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
261    7     n       java.lang.invoke.MethodHandle::linkToSpecial(LLLL)L (native)   (static)

Compiled method (n/a) 275    8     n       java.lang.invoke.MethodHandle::linkToSpecial(LLL)L (native)
 total in heap  [0x00007f50e9140710,0x00007f50e9140aa8] = 920
 relocation     [0x00007f50e9140880,0x00007f50e9140910] = 144
 main code      [0x00007f50e9140920,0x00007f50e9140aa8] = 392

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a04cba58} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e9140920:   test   %rcx,%rcx
  0x00007f50e9140923:   je     0x00007f50e9140950
  0x00007f50e9140929:   push   %rdi
  0x00007f50e914092a:   push   %r10
  0x00007f50e914092c:   mov    0x8(%rcx),%edi
  0x00007f50e914092f:   cmp    0xa10482a(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9140936:   je     0x00007f50e9140964
  0x00007f50e914093c:   mov    0x40(%rdi),%rdi
  0x00007f50e9140940:   cmp    0xa104819(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9140947:   je     0x00007f50e9140964
  0x00007f50e914094d:   pop    %r10
  0x00007f50e914094f:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9140950:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e914095a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914095e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9140963:   hlt    
 ;; L_ok:
  0x00007f50e9140964:   pop    %r10
  0x00007f50e9140966:   pop    %rdi
 ;; } verify_klass
  0x00007f50e9140967:   cmp    (%rsi),%rax
 ;; check_receiver {
  0x00007f50e914096a:   mov    0x8(%rsi),%r10d
  0x00007f50e914096e:   mov    0x18(%rcx),%r11d
  0x00007f50e9140972:   cmp    0xa037667(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9140979:   je     0x00007f50e9140993
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914097f:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9140989:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914098d:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9140992:   hlt    
  0x00007f50e9140993:   shl    $0x3,%r11
 ;; verify_klass {
  0x00007f50e9140997:   test   %r11,%r11
  0x00007f50e914099a:   je     0x00007f50e91409c8
  0x00007f50e91409a0:   push   %rdi
  0x00007f50e91409a1:   push   %r10
  0x00007f50e91409a3:   mov    0x8(%r11),%edi
  0x00007f50e91409a7:   cmp    0xa1045e2(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e91409ae:   je     0x00007f50e91409dc
  0x00007f50e91409b4:   mov    0x40(%rdi),%rdi
  0x00007f50e91409b8:   cmp    0xa1045d1(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e91409bf:   je     0x00007f50e91409dc
  0x00007f50e91409c5:   pop    %r10
  0x00007f50e91409c7:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e91409c8:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e91409d2:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91409d6:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91409db:   hlt    
 ;; L_ok:
  0x00007f50e91409dc:   pop    %r10
  0x00007f50e91409de:   pop    %rdi
 ;; } verify_klass
  0x00007f50e91409df:   mov    0x10(%r11),%r11
  0x00007f50e91409e3:   cmp    %r11,%r10
  0x00007f50e91409e6:   je     0x00007f50e9140a45
  0x00007f50e91409ec:   mov    0x18(%r11),%eax
  0x00007f50e91409f0:   cmp    (%r10,%rax,1),%r11
  0x00007f50e91409f4:   je     0x00007f50e9140a45
  0x00007f50e91409fa:   cmp    $0x28,%eax
  0x00007f50e91409fd:   jne    0x00007f50e9140a31
  0x00007f50e9140a03:   mov    %r11,%rax
  0x00007f50e9140a06:   push   %rcx
  0x00007f50e9140a07:   push   %rdi
  0x00007f50e9140a08:   movabs $0x7f50f32253e0,%rcx         ;   {external_word}
  0x00007f50e9140a12:   incl   (%rcx)
  0x00007f50e9140a14:   mov    0x30(%r10),%rdi
  0x00007f50e9140a18:   mov    (%rdi),%ecx
  0x00007f50e9140a1a:   add    $0x8,%rdi
  0x00007f50e9140a1e:   test   %rax,%rax
  0x00007f50e9140a21:   repnz scas %es:(%rdi),%rax
  0x00007f50e9140a24:   pop    %rdi
  0x00007f50e9140a25:   pop    %rcx
  0x00007f50e9140a26:   jne    0x00007f50e9140a31
  0x00007f50e9140a28:   mov    %r11,0x28(%r10)
  0x00007f50e9140a2c:   jmpq   0x00007f50e9140a45
 ;; receiver class disagrees with MemberName.clazz
  0x00007f50e9140a31:   movabs $0x7f50f2cfe040,%rdi         ;   {external_word}
  0x00007f50e9140a3b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9140a3f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9140a44:   hlt    
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e9140a45:   mov    0xc(%rcx),%eax
  0x00007f50e9140a48:   shr    $0x18,%eax
  0x00007f50e9140a4b:   and    $0xf,%eax
  0x00007f50e9140a4e:   cmp    $0x7,%eax
  0x00007f50e9140a51:   je     0x00007f50e9140a6b
 ;; verify_ref_kind expected 7
  0x00007f50e9140a57:   movabs $0x7f50ec429120,%rdi         ;   {external_word}
  0x00007f50e9140a61:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9140a65:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9140a6a:   hlt    
 ;; } verify_ref_kind
  0x00007f50e9140a6b:   mov    0x24(%rcx),%ebx
  0x00007f50e9140a6e:   cmp    0xa03756b(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9140a75:   je     0x00007f50e9140a8f
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9140a7b:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9140a85:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9140a89:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9140a8e:   hlt    
  0x00007f50e9140a8f:   shl    $0x3,%rbx
  0x00007f50e9140a93:   mov    0x10(%rbx),%rbx
  0x00007f50e9140a97:   test   %rbx,%rbx
  0x00007f50e9140a9a:   je     0x00007f50e9140aa3
  0x00007f50e9140aa0:   jmpq   *0x58(%rbx)
  0x00007f50e9140aa3:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
280    8     n       java.lang.invoke.MethodHandle::linkToSpecial(LLL)L (native)   (static)

Compiled method (n/a) 292    9     n       java.lang.invoke.MethodHandle::linkToStatic(LLIL)I (native)
 total in heap  [0x00007f50e9147c90,0x00007f50e9147f10] = 640
 relocation     [0x00007f50e9147e00,0x00007f50e9147e48] = 72
 main code      [0x00007f50e9147e60,0x00007f50e9147f0d] = 173
 stub code      [0x00007f50e9147f0d,0x00007f50e9147f10] = 3

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a058d688} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx       = int
  # parm3:    r8:r8     = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e9147e60:   test   %r8,%r8
  0x00007f50e9147e63:   je     0x00007f50e9147e91
  0x00007f50e9147e69:   push   %rdi
  0x00007f50e9147e6a:   push   %r10
  0x00007f50e9147e6c:   mov    0x8(%r8),%edi
  0x00007f50e9147e70:   cmp    0xa0fd2e9(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9147e77:   je     0x00007f50e9147ea5
  0x00007f50e9147e7d:   mov    0x40(%rdi),%rdi
  0x00007f50e9147e81:   cmp    0xa0fd2d8(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9147e88:   je     0x00007f50e9147ea5
  0x00007f50e9147e8e:   pop    %r10
  0x00007f50e9147e90:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9147e91:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e9147e9b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9147e9f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9147ea4:   hlt    
 ;; L_ok:
  0x00007f50e9147ea5:   pop    %r10
  0x00007f50e9147ea7:   pop    %rdi
 ;; } verify_klass
 ;; verify_ref_kind {
  0x00007f50e9147ea8:   mov    0xc(%r8),%eax
  0x00007f50e9147eac:   shr    $0x18,%eax
  0x00007f50e9147eaf:   and    $0xf,%eax
  0x00007f50e9147eb2:   cmp    $0x6,%eax
  0x00007f50e9147eb5:   je     0x00007f50e9147ecf
 ;; verify_ref_kind expected 6
  0x00007f50e9147ebb:   movabs $0x7f50ec416c80,%rdi         ;   {external_word}
  0x00007f50e9147ec5:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9147ec9:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9147ece:   hlt    
 ;; } verify_ref_kind
  0x00007f50e9147ecf:   mov    0x24(%r8),%ebx
  0x00007f50e9147ed3:   cmp    0xa030106(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9147eda:   je     0x00007f50e9147ef4
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9147ee0:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9147eea:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9147eee:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9147ef3:   hlt    
  0x00007f50e9147ef4:   shl    $0x3,%rbx
  0x00007f50e9147ef8:   mov    0x10(%rbx),%rbx
  0x00007f50e9147efc:   test   %rbx,%rbx
  0x00007f50e9147eff:   je     0x00007f50e9147f08
  0x00007f50e9147f05:   jmpq   *0x58(%rbx)
  0x00007f50e9147f08:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e9147f0d:   hlt    
  0x00007f50e9147f0e:   hlt    
  0x00007f50e9147f0f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
295    9     n       java.lang.invoke.MethodHandle::linkToStatic(LLIL)I (native)   (static)

Compiled method (n/a) 306   10     n       java.lang.invoke.MethodHandle::linkToStatic(LL)L (native)
 total in heap  [0x00007f50e914a390,0x00007f50e914a610] = 640
 relocation     [0x00007f50e914a500,0x00007f50e914a548] = 72
 main code      [0x00007f50e914a560,0x00007f50e914a60a] = 170
 stub code      [0x00007f50e914a60a,0x00007f50e914a610] = 6

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a05b7638} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e914a560:   test   %rdx,%rdx
  0x00007f50e914a563:   je     0x00007f50e914a590
  0x00007f50e914a569:   push   %rdi
  0x00007f50e914a56a:   push   %r10
  0x00007f50e914a56c:   mov    0x8(%rdx),%edi
  0x00007f50e914a56f:   cmp    0xa0fabea(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914a576:   je     0x00007f50e914a5a4
  0x00007f50e914a57c:   mov    0x40(%rdi),%rdi
  0x00007f50e914a580:   cmp    0xa0fabd9(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914a587:   je     0x00007f50e914a5a4
  0x00007f50e914a58d:   pop    %r10
  0x00007f50e914a58f:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e914a590:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e914a59a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914a59e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914a5a3:   hlt    
 ;; L_ok:
  0x00007f50e914a5a4:   pop    %r10
  0x00007f50e914a5a6:   pop    %rdi
 ;; } verify_klass
 ;; verify_ref_kind {
  0x00007f50e914a5a7:   mov    0xc(%rdx),%eax
  0x00007f50e914a5aa:   shr    $0x18,%eax
  0x00007f50e914a5ad:   and    $0xf,%eax
  0x00007f50e914a5b0:   cmp    $0x6,%eax
  0x00007f50e914a5b3:   je     0x00007f50e914a5cd
 ;; verify_ref_kind expected 6
  0x00007f50e914a5b9:   movabs $0x7f50ec4505c0,%rdi         ;   {external_word}
  0x00007f50e914a5c3:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914a5c7:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914a5cc:   hlt    
 ;; } verify_ref_kind
  0x00007f50e914a5cd:   mov    0x24(%rdx),%ebx
  0x00007f50e914a5d0:   cmp    0xa02da09(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e914a5d7:   je     0x00007f50e914a5f1
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914a5dd:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e914a5e7:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914a5eb:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914a5f0:   hlt    
  0x00007f50e914a5f1:   shl    $0x3,%rbx
  0x00007f50e914a5f5:   mov    0x10(%rbx),%rbx
  0x00007f50e914a5f9:   test   %rbx,%rbx
  0x00007f50e914a5fc:   je     0x00007f50e914a605
  0x00007f50e914a602:   jmpq   *0x58(%rbx)
  0x00007f50e914a605:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e914a60a:   hlt    
  0x00007f50e914a60b:   hlt    
  0x00007f50e914a60c:   hlt    
  0x00007f50e914a60d:   hlt    
  0x00007f50e914a60e:   hlt    
  0x00007f50e914a60f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
308   10     n       java.lang.invoke.MethodHandle::linkToStatic(LL)L (native)   (static)

Compiled method (n/a) 311   11     n       java.lang.invoke.MethodHandle::linkToSpecial(LLL)V (native)
 total in heap  [0x00007f50e914a690,0x00007f50e914aa28] = 920
 relocation     [0x00007f50e914a800,0x00007f50e914a890] = 144
 main code      [0x00007f50e914a8a0,0x00007f50e914aa28] = 392

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a05b8040} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e914a8a0:   test   %rcx,%rcx
  0x00007f50e914a8a3:   je     0x00007f50e914a8d0
  0x00007f50e914a8a9:   push   %rdi
  0x00007f50e914a8aa:   push   %r10
  0x00007f50e914a8ac:   mov    0x8(%rcx),%edi
  0x00007f50e914a8af:   cmp    0xa0fa8aa(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914a8b6:   je     0x00007f50e914a8e4
  0x00007f50e914a8bc:   mov    0x40(%rdi),%rdi
  0x00007f50e914a8c0:   cmp    0xa0fa899(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914a8c7:   je     0x00007f50e914a8e4
  0x00007f50e914a8cd:   pop    %r10
  0x00007f50e914a8cf:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e914a8d0:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e914a8da:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914a8de:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914a8e3:   hlt    
 ;; L_ok:
  0x00007f50e914a8e4:   pop    %r10
  0x00007f50e914a8e6:   pop    %rdi
 ;; } verify_klass
  0x00007f50e914a8e7:   cmp    (%rsi),%rax
 ;; check_receiver {
  0x00007f50e914a8ea:   mov    0x8(%rsi),%r10d
  0x00007f50e914a8ee:   mov    0x18(%rcx),%r11d
  0x00007f50e914a8f2:   cmp    0xa02d6e7(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e914a8f9:   je     0x00007f50e914a913
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914a8ff:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e914a909:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914a90d:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914a912:   hlt    
  0x00007f50e914a913:   shl    $0x3,%r11
 ;; verify_klass {
  0x00007f50e914a917:   test   %r11,%r11
  0x00007f50e914a91a:   je     0x00007f50e914a948
  0x00007f50e914a920:   push   %rdi
  0x00007f50e914a921:   push   %r10
  0x00007f50e914a923:   mov    0x8(%r11),%edi
  0x00007f50e914a927:   cmp    0xa0fa662(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e914a92e:   je     0x00007f50e914a95c
  0x00007f50e914a934:   mov    0x40(%rdi),%rdi
  0x00007f50e914a938:   cmp    0xa0fa651(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e914a93f:   je     0x00007f50e914a95c
  0x00007f50e914a945:   pop    %r10
  0x00007f50e914a947:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e914a948:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e914a952:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914a956:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914a95b:   hlt    
 ;; L_ok:
  0x00007f50e914a95c:   pop    %r10
  0x00007f50e914a95e:   pop    %rdi
 ;; } verify_klass
  0x00007f50e914a95f:   mov    0x10(%r11),%r11
  0x00007f50e914a963:   cmp    %r11,%r10
  0x00007f50e914a966:   je     0x00007f50e914a9c5
  0x00007f50e914a96c:   mov    0x18(%r11),%eax
  0x00007f50e914a970:   cmp    (%r10,%rax,1),%r11
  0x00007f50e914a974:   je     0x00007f50e914a9c5
  0x00007f50e914a97a:   cmp    $0x28,%eax
  0x00007f50e914a97d:   jne    0x00007f50e914a9b1
  0x00007f50e914a983:   mov    %r11,%rax
  0x00007f50e914a986:   push   %rcx
  0x00007f50e914a987:   push   %rdi
  0x00007f50e914a988:   movabs $0x7f50f32253e0,%rcx         ;   {external_word}
  0x00007f50e914a992:   incl   (%rcx)
  0x00007f50e914a994:   mov    0x30(%r10),%rdi
  0x00007f50e914a998:   mov    (%rdi),%ecx
  0x00007f50e914a99a:   add    $0x8,%rdi
  0x00007f50e914a99e:   test   %rax,%rax
  0x00007f50e914a9a1:   repnz scas %es:(%rdi),%rax
  0x00007f50e914a9a4:   pop    %rdi
  0x00007f50e914a9a5:   pop    %rcx
  0x00007f50e914a9a6:   jne    0x00007f50e914a9b1
  0x00007f50e914a9a8:   mov    %r11,0x28(%r10)
  0x00007f50e914a9ac:   jmpq   0x00007f50e914a9c5
 ;; receiver class disagrees with MemberName.clazz
  0x00007f50e914a9b1:   movabs $0x7f50f2cfe040,%rdi         ;   {external_word}
  0x00007f50e914a9bb:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914a9bf:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914a9c4:   hlt    
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e914a9c5:   mov    0xc(%rcx),%eax
  0x00007f50e914a9c8:   shr    $0x18,%eax
  0x00007f50e914a9cb:   and    $0xf,%eax
  0x00007f50e914a9ce:   cmp    $0x7,%eax
  0x00007f50e914a9d1:   je     0x00007f50e914a9eb
 ;; verify_ref_kind expected 7
  0x00007f50e914a9d7:   movabs $0x7f50ec468a40,%rdi         ;   {external_word}
  0x00007f50e914a9e1:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914a9e5:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914a9ea:   hlt    
 ;; } verify_ref_kind
  0x00007f50e914a9eb:   mov    0x24(%rcx),%ebx
  0x00007f50e914a9ee:   cmp    0xa02d5eb(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e914a9f5:   je     0x00007f50e914aa0f
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914a9fb:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e914aa05:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914aa09:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914aa0e:   hlt    
  0x00007f50e914aa0f:   shl    $0x3,%rbx
  0x00007f50e914aa13:   mov    0x10(%rbx),%rbx
  0x00007f50e914aa17:   test   %rbx,%rbx
  0x00007f50e914aa1a:   je     0x00007f50e914aa23
  0x00007f50e914aa20:   jmpq   *0x58(%rbx)
  0x00007f50e914aa23:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
316   11     n       java.lang.invoke.MethodHandle::linkToSpecial(LLL)V (native)   (static)

Compiled method (n/a) 317   12     n       java.lang.invoke.MethodHandle::invokeBasic(L)L (native)
 total in heap  [0x00007f50e914aa90,0x00007f50e914acf0] = 608
 relocation     [0x00007f50e914ac00,0x00007f50e914ac48] = 72
 main code      [0x00007f50e914ac60,0x00007f50e914aced] = 141
 stub code      [0x00007f50e914aced,0x00007f50e914acf0] = 3

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a05b8178} 'invokeBasic' '(Ljava/lang/Object;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # this:     rsi:rsi   = 'java/lang/invoke/MethodHandle'
  # parm0:    rdx:rdx   = 'java/lang/Object'
  #           [sp+0x0]  (sp of caller)
 ;; jump_to_lambda_form {
  0x00007f50e914ac60:   mov    0x14(%rsi),%ebx
  0x00007f50e914ac63:   cmp    0xa02d376(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e914ac6a:   je     0x00007f50e914ac84
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914ac70:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e914ac7a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914ac7e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914ac83:   hlt    
  0x00007f50e914ac84:   shl    $0x3,%rbx
  0x00007f50e914ac88:   mov    0x28(%rbx),%ebx
  0x00007f50e914ac8b:   cmp    0xa02d34e(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e914ac92:   je     0x00007f50e914acac
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914ac98:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e914aca2:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914aca6:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914acab:   hlt    
  0x00007f50e914acac:   shl    $0x3,%rbx
  0x00007f50e914acb0:   mov    0x24(%rbx),%ebx
  0x00007f50e914acb3:   cmp    0xa02d326(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e914acba:   je     0x00007f50e914acd4
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914acc0:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e914acca:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914acce:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914acd3:   hlt    
  0x00007f50e914acd4:   shl    $0x3,%rbx
  0x00007f50e914acd8:   mov    0x10(%rbx),%rbx
  0x00007f50e914acdc:   test   %rbx,%rbx
  0x00007f50e914acdf:   je     0x00007f50e914ace8
  0x00007f50e914ace5:   jmpq   *0x58(%rbx)
  0x00007f50e914ace8:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
 ;; } jump_to_lambda_form
  0x00007f50e914aced:   hlt    
  0x00007f50e914acee:   hlt    
  0x00007f50e914acef:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
319   12     n       java.lang.invoke.MethodHandle::invokeBasic(L)L (native)   

Compiled method (n/a) 545   13     n       java.lang.invoke.MethodHandle::linkToInterface(LL)L (native)
 total in heap  [0x00007f50e914e390,0x00007f50e914e6d8] = 840
 relocation     [0x00007f50e914e500,0x00007f50e914e578] = 120
 main code      [0x00007f50e914e580,0x00007f50e914e6d3] = 339
 stub code      [0x00007f50e914e6d3,0x00007f50e914e6d8] = 5

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0540428} 'linkToInterface' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e914e580:   test   %rdx,%rdx
  0x00007f50e914e583:   je     0x00007f50e914e5b0
  0x00007f50e914e589:   push   %rdi
  0x00007f50e914e58a:   push   %r10
  0x00007f50e914e58c:   mov    0x8(%rdx),%edi
  0x00007f50e914e58f:   cmp    0xa0f6bca(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914e596:   je     0x00007f50e914e5c4
  0x00007f50e914e59c:   mov    0x40(%rdi),%rdi
  0x00007f50e914e5a0:   cmp    0xa0f6bb9(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914e5a7:   je     0x00007f50e914e5c4
  0x00007f50e914e5ad:   pop    %r10
  0x00007f50e914e5af:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e914e5b0:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e914e5ba:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914e5be:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914e5c3:   hlt    
 ;; L_ok:
  0x00007f50e914e5c4:   pop    %r10
  0x00007f50e914e5c6:   pop    %rdi
 ;; } verify_klass
  0x00007f50e914e5c7:   mov    0x8(%rsi),%r10d
 ;; check_receiver {
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e914e5cb:   mov    0xc(%rdx),%eax
  0x00007f50e914e5ce:   shr    $0x18,%eax
  0x00007f50e914e5d1:   and    $0xf,%eax
  0x00007f50e914e5d4:   cmp    $0x9,%eax
  0x00007f50e914e5d7:   je     0x00007f50e914e5f1
 ;; verify_ref_kind expected 9
  0x00007f50e914e5dd:   movabs $0x7f50ec3b3910,%rdi         ;   {external_word}
  0x00007f50e914e5e7:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914e5eb:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914e5f0:   hlt    
 ;; } verify_ref_kind
  0x00007f50e914e5f1:   mov    0x18(%rdx),%eax
  0x00007f50e914e5f4:   cmp    0xa0299e5(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e914e5fb:   je     0x00007f50e914e615
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914e601:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e914e60b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914e60f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914e614:   hlt    
  0x00007f50e914e615:   shl    $0x3,%rax
 ;; verify_klass {
  0x00007f50e914e619:   test   %rax,%rax
  0x00007f50e914e61c:   je     0x00007f50e914e649
  0x00007f50e914e622:   push   %rdi
  0x00007f50e914e623:   push   %r10
  0x00007f50e914e625:   mov    0x8(%rax),%edi
  0x00007f50e914e628:   cmp    0xa0f6961(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e914e62f:   je     0x00007f50e914e65d
  0x00007f50e914e635:   mov    0x40(%rdi),%rdi
  0x00007f50e914e639:   cmp    0xa0f6950(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e914e640:   je     0x00007f50e914e65d
  0x00007f50e914e646:   pop    %r10
  0x00007f50e914e648:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e914e649:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e914e653:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914e657:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914e65c:   hlt    
 ;; L_ok:
  0x00007f50e914e65d:   pop    %r10
  0x00007f50e914e65f:   pop    %rdi
 ;; } verify_klass
  0x00007f50e914e660:   mov    0x10(%rax),%rax
  0x00007f50e914e664:   mov    0x10(%rdx),%rbx
  0x00007f50e914e668:   cmp    $0x0,%ebx
  0x00007f50e914e66b:   jge    0x00007f50e914e685
 ;; invalid vtable index for MH.invokeInterface
  0x00007f50e914e671:   movabs $0x7f50f2cfe070,%rdi         ;   {external_word}
  0x00007f50e914e67b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914e67f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914e684:   hlt    
  0x00007f50e914e685:   mov    0xa8(%r10),%r11d
  0x00007f50e914e68c:   lea    0x1d8(%r10,%r11,8),%r11
  0x00007f50e914e694:   lea    (%r10,%rbx,8),%r10
  0x00007f50e914e698:   mov    (%r11),%rbx
  0x00007f50e914e69b:   cmp    %rbx,%rax
  0x00007f50e914e69e:   je     0x00007f50e914e6b5
  0x00007f50e914e6a0:   test   %rbx,%rbx
  0x00007f50e914e6a3:   je     0x00007f50e914e6ce
  0x00007f50e914e6a9:   add    $0x10,%r11
  0x00007f50e914e6ad:   mov    (%r11),%rbx
  0x00007f50e914e6b0:   cmp    %rbx,%rax
  0x00007f50e914e6b3:   jne    0x00007f50e914e6a0
  0x00007f50e914e6b5:   mov    0x8(%r11),%r11d
  0x00007f50e914e6b9:   mov    (%r10,%r11,1),%rbx
  0x00007f50e914e6bd:   test   %rbx,%rbx
  0x00007f50e914e6c0:   je     0x00007f50e914e6c9
  0x00007f50e914e6c6:   jmpq   *0x58(%rbx)
  0x00007f50e914e6c9:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
  0x00007f50e914e6ce:   jmpq   0x00007f50e907a320           ;   {runtime_call IncompatibleClassChangeError throw_exception}
[Stub Code]
  0x00007f50e914e6d3:   hlt    
  0x00007f50e914e6d4:   hlt    
  0x00007f50e914e6d5:   hlt    
  0x00007f50e914e6d6:   hlt    
  0x00007f50e914e6d7:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
549   13     n       java.lang.invoke.MethodHandle::linkToInterface(LL)L (native)   (static)

Compiled method (n/a) 559   14     n       java.lang.invoke.MethodHandle::linkToStatic(L)L (native)
 total in heap  [0x00007f50e914ed10,0x00007f50e914ef90] = 640
 relocation     [0x00007f50e914ee80,0x00007f50e914eec8] = 72
 main code      [0x00007f50e914eee0,0x00007f50e914ef8a] = 170
 stub code      [0x00007f50e914ef8a,0x00007f50e914ef90] = 6

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a056e338} 'linkToStatic' '(Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e914eee0:   test   %rsi,%rsi
  0x00007f50e914eee3:   je     0x00007f50e914ef10
  0x00007f50e914eee9:   push   %rdi
  0x00007f50e914eeea:   push   %r10
  0x00007f50e914eeec:   mov    0x8(%rsi),%edi
  0x00007f50e914eeef:   cmp    0xa0f626a(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914eef6:   je     0x00007f50e914ef24
  0x00007f50e914eefc:   mov    0x40(%rdi),%rdi
  0x00007f50e914ef00:   cmp    0xa0f6259(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914ef07:   je     0x00007f50e914ef24
  0x00007f50e914ef0d:   pop    %r10
  0x00007f50e914ef0f:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e914ef10:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e914ef1a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914ef1e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914ef23:   hlt    
 ;; L_ok:
  0x00007f50e914ef24:   pop    %r10
  0x00007f50e914ef26:   pop    %rdi
 ;; } verify_klass
 ;; verify_ref_kind {
  0x00007f50e914ef27:   mov    0xc(%rsi),%eax
  0x00007f50e914ef2a:   shr    $0x18,%eax
  0x00007f50e914ef2d:   and    $0xf,%eax
  0x00007f50e914ef30:   cmp    $0x6,%eax
  0x00007f50e914ef33:   je     0x00007f50e914ef4d
 ;; verify_ref_kind expected 6
  0x00007f50e914ef39:   movabs $0x7f50ec3b3e90,%rdi         ;   {external_word}
  0x00007f50e914ef43:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914ef47:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914ef4c:   hlt    
 ;; } verify_ref_kind
  0x00007f50e914ef4d:   mov    0x24(%rsi),%ebx
  0x00007f50e914ef50:   cmp    0xa029089(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e914ef57:   je     0x00007f50e914ef71
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914ef5d:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e914ef67:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914ef6b:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914ef70:   hlt    
  0x00007f50e914ef71:   shl    $0x3,%rbx
  0x00007f50e914ef75:   mov    0x10(%rbx),%rbx
  0x00007f50e914ef79:   test   %rbx,%rbx
  0x00007f50e914ef7c:   je     0x00007f50e914ef85
  0x00007f50e914ef82:   jmpq   *0x58(%rbx)
  0x00007f50e914ef85:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e914ef8a:   hlt    
  0x00007f50e914ef8b:   hlt    
  0x00007f50e914ef8c:   hlt    
  0x00007f50e914ef8d:   hlt    
  0x00007f50e914ef8e:   hlt    
  0x00007f50e914ef8f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
561   14     n       java.lang.invoke.MethodHandle::linkToStatic(L)L (native)   (static)

Compiled method (n/a) 567   15     n       java.lang.invoke.MethodHandle::linkToStatic(LLLL)L (native)
 total in heap  [0x00007f50e914fc10,0x00007f50e914fe90] = 640
 relocation     [0x00007f50e914fd80,0x00007f50e914fdc8] = 72
 main code      [0x00007f50e914fde0,0x00007f50e914fe8d] = 173
 stub code      [0x00007f50e914fe8d,0x00007f50e914fe90] = 3

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0523930} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/Object'
  # parm3:    r8:r8     = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e914fde0:   test   %r8,%r8
  0x00007f50e914fde3:   je     0x00007f50e914fe11
  0x00007f50e914fde9:   push   %rdi
  0x00007f50e914fdea:   push   %r10
  0x00007f50e914fdec:   mov    0x8(%r8),%edi
  0x00007f50e914fdf0:   cmp    0xa0f5369(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914fdf7:   je     0x00007f50e914fe25
  0x00007f50e914fdfd:   mov    0x40(%rdi),%rdi
  0x00007f50e914fe01:   cmp    0xa0f5358(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e914fe08:   je     0x00007f50e914fe25
  0x00007f50e914fe0e:   pop    %r10
  0x00007f50e914fe10:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e914fe11:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e914fe1b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914fe1f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914fe24:   hlt    
 ;; L_ok:
  0x00007f50e914fe25:   pop    %r10
  0x00007f50e914fe27:   pop    %rdi
 ;; } verify_klass
 ;; verify_ref_kind {
  0x00007f50e914fe28:   mov    0xc(%r8),%eax
  0x00007f50e914fe2c:   shr    $0x18,%eax
  0x00007f50e914fe2f:   and    $0xf,%eax
  0x00007f50e914fe32:   cmp    $0x6,%eax
  0x00007f50e914fe35:   je     0x00007f50e914fe4f
 ;; verify_ref_kind expected 6
  0x00007f50e914fe3b:   movabs $0x7f50ec4a5dd0,%rdi         ;   {external_word}
  0x00007f50e914fe45:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914fe49:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914fe4e:   hlt    
 ;; } verify_ref_kind
  0x00007f50e914fe4f:   mov    0x24(%r8),%ebx
  0x00007f50e914fe53:   cmp    0xa028186(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e914fe5a:   je     0x00007f50e914fe74
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e914fe60:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e914fe6a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e914fe6e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e914fe73:   hlt    
  0x00007f50e914fe74:   shl    $0x3,%rbx
  0x00007f50e914fe78:   mov    0x10(%rbx),%rbx
  0x00007f50e914fe7c:   test   %rbx,%rbx
  0x00007f50e914fe7f:   je     0x00007f50e914fe88
  0x00007f50e914fe85:   jmpq   *0x58(%rbx)
  0x00007f50e914fe88:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e914fe8d:   hlt    
  0x00007f50e914fe8e:   hlt    
  0x00007f50e914fe8f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
570   15     n       java.lang.invoke.MethodHandle::linkToStatic(LLLL)L (native)   (static)

Compiled method (n/a) 575   16     n       java.lang.invoke.MethodHandle::invokeBasic()L (native)
 total in heap  [0x00007f50e9150b10,0x00007f50e9150d70] = 608
 relocation     [0x00007f50e9150c80,0x00007f50e9150cc8] = 72
 main code      [0x00007f50e9150ce0,0x00007f50e9150d6d] = 141
 stub code      [0x00007f50e9150d6d,0x00007f50e9150d70] = 3

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0527f08} 'invokeBasic' '()Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  #           [sp+0x0]  (sp of caller)
 ;; jump_to_lambda_form {
  0x00007f50e9150ce0:   mov    0x14(%rsi),%ebx
  0x00007f50e9150ce3:   cmp    0xa0272f6(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9150cea:   je     0x00007f50e9150d04
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9150cf0:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9150cfa:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9150cfe:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9150d03:   hlt    
  0x00007f50e9150d04:   shl    $0x3,%rbx
  0x00007f50e9150d08:   mov    0x28(%rbx),%ebx
  0x00007f50e9150d0b:   cmp    0xa0272ce(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9150d12:   je     0x00007f50e9150d2c
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9150d18:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9150d22:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9150d26:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9150d2b:   hlt    
  0x00007f50e9150d2c:   shl    $0x3,%rbx
  0x00007f50e9150d30:   mov    0x24(%rbx),%ebx
  0x00007f50e9150d33:   cmp    0xa0272a6(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9150d3a:   je     0x00007f50e9150d54
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9150d40:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9150d4a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9150d4e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9150d53:   hlt    
  0x00007f50e9150d54:   shl    $0x3,%rbx
  0x00007f50e9150d58:   mov    0x10(%rbx),%rbx
  0x00007f50e9150d5c:   test   %rbx,%rbx
  0x00007f50e9150d5f:   je     0x00007f50e9150d68
  0x00007f50e9150d65:   jmpq   *0x58(%rbx)
  0x00007f50e9150d68:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
 ;; } jump_to_lambda_form
  0x00007f50e9150d6d:   hlt    
  0x00007f50e9150d6e:   hlt    
  0x00007f50e9150d6f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
577   16     n       java.lang.invoke.MethodHandle::invokeBasic()L (native)   

Compiled method (n/a) 577   17     n       java.lang.invoke.MethodHandle::linkToSpecial(LL)L (native)
 total in heap  [0x00007f50e9150e10,0x00007f50e91511a8] = 920
 relocation     [0x00007f50e9150f80,0x00007f50e9151010] = 144
 main code      [0x00007f50e9151020,0x00007f50e91511a8] = 392

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0528040} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e9151020:   test   %rdx,%rdx
  0x00007f50e9151023:   je     0x00007f50e9151050
  0x00007f50e9151029:   push   %rdi
  0x00007f50e915102a:   push   %r10
  0x00007f50e915102c:   mov    0x8(%rdx),%edi
  0x00007f50e915102f:   cmp    0xa0f412a(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9151036:   je     0x00007f50e9151064
  0x00007f50e915103c:   mov    0x40(%rdi),%rdi
  0x00007f50e9151040:   cmp    0xa0f4119(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9151047:   je     0x00007f50e9151064
  0x00007f50e915104d:   pop    %r10
  0x00007f50e915104f:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9151050:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e915105a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915105e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151063:   hlt    
 ;; L_ok:
  0x00007f50e9151064:   pop    %r10
  0x00007f50e9151066:   pop    %rdi
 ;; } verify_klass
  0x00007f50e9151067:   cmp    (%rsi),%rax
 ;; check_receiver {
  0x00007f50e915106a:   mov    0x8(%rsi),%r10d
  0x00007f50e915106e:   mov    0x18(%rdx),%r11d
  0x00007f50e9151072:   cmp    0xa026f67(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9151079:   je     0x00007f50e9151093
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e915107f:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9151089:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915108d:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151092:   hlt    
  0x00007f50e9151093:   shl    $0x3,%r11
 ;; verify_klass {
  0x00007f50e9151097:   test   %r11,%r11
  0x00007f50e915109a:   je     0x00007f50e91510c8
  0x00007f50e91510a0:   push   %rdi
  0x00007f50e91510a1:   push   %r10
  0x00007f50e91510a3:   mov    0x8(%r11),%edi
  0x00007f50e91510a7:   cmp    0xa0f3ee2(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e91510ae:   je     0x00007f50e91510dc
  0x00007f50e91510b4:   mov    0x40(%rdi),%rdi
  0x00007f50e91510b8:   cmp    0xa0f3ed1(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e91510bf:   je     0x00007f50e91510dc
  0x00007f50e91510c5:   pop    %r10
  0x00007f50e91510c7:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e91510c8:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e91510d2:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91510d6:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91510db:   hlt    
 ;; L_ok:
  0x00007f50e91510dc:   pop    %r10
  0x00007f50e91510de:   pop    %rdi
 ;; } verify_klass
  0x00007f50e91510df:   mov    0x10(%r11),%r11
  0x00007f50e91510e3:   cmp    %r11,%r10
  0x00007f50e91510e6:   je     0x00007f50e9151145
  0x00007f50e91510ec:   mov    0x18(%r11),%eax
  0x00007f50e91510f0:   cmp    (%r10,%rax,1),%r11
  0x00007f50e91510f4:   je     0x00007f50e9151145
  0x00007f50e91510fa:   cmp    $0x28,%eax
  0x00007f50e91510fd:   jne    0x00007f50e9151131
  0x00007f50e9151103:   mov    %r11,%rax
  0x00007f50e9151106:   push   %rcx
  0x00007f50e9151107:   push   %rdi
  0x00007f50e9151108:   movabs $0x7f50f32253e0,%rcx         ;   {external_word}
  0x00007f50e9151112:   incl   (%rcx)
  0x00007f50e9151114:   mov    0x30(%r10),%rdi
  0x00007f50e9151118:   mov    (%rdi),%ecx
  0x00007f50e915111a:   add    $0x8,%rdi
  0x00007f50e915111e:   test   %rax,%rax
  0x00007f50e9151121:   repnz scas %es:(%rdi),%rax
  0x00007f50e9151124:   pop    %rdi
  0x00007f50e9151125:   pop    %rcx
  0x00007f50e9151126:   jne    0x00007f50e9151131
  0x00007f50e9151128:   mov    %r11,0x28(%r10)
  0x00007f50e915112c:   jmpq   0x00007f50e9151145
 ;; receiver class disagrees with MemberName.clazz
  0x00007f50e9151131:   movabs $0x7f50f2cfe040,%rdi         ;   {external_word}
  0x00007f50e915113b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915113f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151144:   hlt    
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e9151145:   mov    0xc(%rdx),%eax
  0x00007f50e9151148:   shr    $0x18,%eax
  0x00007f50e915114b:   and    $0xf,%eax
  0x00007f50e915114e:   cmp    $0x7,%eax
  0x00007f50e9151151:   je     0x00007f50e915116b
 ;; verify_ref_kind expected 7
  0x00007f50e9151157:   movabs $0x7f50ec4ab640,%rdi         ;   {external_word}
  0x00007f50e9151161:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9151165:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e915116a:   hlt    
 ;; } verify_ref_kind
  0x00007f50e915116b:   mov    0x24(%rdx),%ebx
  0x00007f50e915116e:   cmp    0xa026e6b(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9151175:   je     0x00007f50e915118f
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e915117b:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9151185:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9151189:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e915118e:   hlt    
  0x00007f50e915118f:   shl    $0x3,%rbx
  0x00007f50e9151193:   mov    0x10(%rbx),%rbx
  0x00007f50e9151197:   test   %rbx,%rbx
  0x00007f50e915119a:   je     0x00007f50e91511a3
  0x00007f50e91511a0:   jmpq   *0x58(%rbx)
  0x00007f50e91511a3:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
582   17     n       java.lang.invoke.MethodHandle::linkToSpecial(LL)L (native)   (static)

Compiled method (n/a) 592   18     n       java.lang.invoke.MethodHandle::linkToSpecial(LL)V (native)
 total in heap  [0x00007f50e9151210,0x00007f50e91515a8] = 920
 relocation     [0x00007f50e9151380,0x00007f50e9151410] = 144
 main code      [0x00007f50e9151420,0x00007f50e91515a8] = 392

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a051fd50} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)V' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e9151420:   test   %rdx,%rdx
  0x00007f50e9151423:   je     0x00007f50e9151450
  0x00007f50e9151429:   push   %rdi
  0x00007f50e915142a:   push   %r10
  0x00007f50e915142c:   mov    0x8(%rdx),%edi
  0x00007f50e915142f:   cmp    0xa0f3d2a(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9151436:   je     0x00007f50e9151464
  0x00007f50e915143c:   mov    0x40(%rdi),%rdi
  0x00007f50e9151440:   cmp    0xa0f3d19(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9151447:   je     0x00007f50e9151464
  0x00007f50e915144d:   pop    %r10
  0x00007f50e915144f:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9151450:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e915145a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915145e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151463:   hlt    
 ;; L_ok:
  0x00007f50e9151464:   pop    %r10
  0x00007f50e9151466:   pop    %rdi
 ;; } verify_klass
  0x00007f50e9151467:   cmp    (%rsi),%rax
 ;; check_receiver {
  0x00007f50e915146a:   mov    0x8(%rsi),%r10d
  0x00007f50e915146e:   mov    0x18(%rdx),%r11d
  0x00007f50e9151472:   cmp    0xa026b67(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9151479:   je     0x00007f50e9151493
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e915147f:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9151489:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915148d:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151492:   hlt    
  0x00007f50e9151493:   shl    $0x3,%r11
 ;; verify_klass {
  0x00007f50e9151497:   test   %r11,%r11
  0x00007f50e915149a:   je     0x00007f50e91514c8
  0x00007f50e91514a0:   push   %rdi
  0x00007f50e91514a1:   push   %r10
  0x00007f50e91514a3:   mov    0x8(%r11),%edi
  0x00007f50e91514a7:   cmp    0xa0f3ae2(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e91514ae:   je     0x00007f50e91514dc
  0x00007f50e91514b4:   mov    0x40(%rdi),%rdi
  0x00007f50e91514b8:   cmp    0xa0f3ad1(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e91514bf:   je     0x00007f50e91514dc
  0x00007f50e91514c5:   pop    %r10
  0x00007f50e91514c7:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e91514c8:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e91514d2:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91514d6:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91514db:   hlt    
 ;; L_ok:
  0x00007f50e91514dc:   pop    %r10
  0x00007f50e91514de:   pop    %rdi
 ;; } verify_klass
  0x00007f50e91514df:   mov    0x10(%r11),%r11
  0x00007f50e91514e3:   cmp    %r11,%r10
  0x00007f50e91514e6:   je     0x00007f50e9151545
  0x00007f50e91514ec:   mov    0x18(%r11),%eax
  0x00007f50e91514f0:   cmp    (%r10,%rax,1),%r11
  0x00007f50e91514f4:   je     0x00007f50e9151545
  0x00007f50e91514fa:   cmp    $0x28,%eax
  0x00007f50e91514fd:   jne    0x00007f50e9151531
  0x00007f50e9151503:   mov    %r11,%rax
  0x00007f50e9151506:   push   %rcx
  0x00007f50e9151507:   push   %rdi
  0x00007f50e9151508:   movabs $0x7f50f32253e0,%rcx         ;   {external_word}
  0x00007f50e9151512:   incl   (%rcx)
  0x00007f50e9151514:   mov    0x30(%r10),%rdi
  0x00007f50e9151518:   mov    (%rdi),%ecx
  0x00007f50e915151a:   add    $0x8,%rdi
  0x00007f50e915151e:   test   %rax,%rax
  0x00007f50e9151521:   repnz scas %es:(%rdi),%rax
  0x00007f50e9151524:   pop    %rdi
  0x00007f50e9151525:   pop    %rcx
  0x00007f50e9151526:   jne    0x00007f50e9151531
  0x00007f50e9151528:   mov    %r11,0x28(%r10)
  0x00007f50e915152c:   jmpq   0x00007f50e9151545
 ;; receiver class disagrees with MemberName.clazz
  0x00007f50e9151531:   movabs $0x7f50f2cfe040,%rdi         ;   {external_word}
  0x00007f50e915153b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915153f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151544:   hlt    
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e9151545:   mov    0xc(%rdx),%eax
  0x00007f50e9151548:   shr    $0x18,%eax
  0x00007f50e915154b:   and    $0xf,%eax
  0x00007f50e915154e:   cmp    $0x7,%eax
  0x00007f50e9151551:   je     0x00007f50e915156b
 ;; verify_ref_kind expected 7
  0x00007f50e9151557:   movabs $0x7f50ec4c7680,%rdi         ;   {external_word}
  0x00007f50e9151561:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9151565:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e915156a:   hlt    
 ;; } verify_ref_kind
  0x00007f50e915156b:   mov    0x24(%rdx),%ebx
  0x00007f50e915156e:   cmp    0xa026a6b(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9151575:   je     0x00007f50e915158f
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e915157b:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9151585:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9151589:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e915158e:   hlt    
  0x00007f50e915158f:   shl    $0x3,%rbx
  0x00007f50e9151593:   mov    0x10(%rbx),%rbx
  0x00007f50e9151597:   test   %rbx,%rbx
  0x00007f50e915159a:   je     0x00007f50e91515a3
  0x00007f50e91515a0:   jmpq   *0x58(%rbx)
  0x00007f50e91515a3:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
597   18     n       java.lang.invoke.MethodHandle::linkToSpecial(LL)V (native)   (static)

Compiled method (n/a) 606   19     n       java.lang.invoke.MethodHandle::linkToInterface(LLL)I (native)
 total in heap  [0x00007f50e9151610,0x00007f50e9151958] = 840
 relocation     [0x00007f50e9151780,0x00007f50e91517f8] = 120
 main code      [0x00007f50e9151800,0x00007f50e9151953] = 339
 stub code      [0x00007f50e9151953,0x00007f50e9151958] = 5

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a050e408} 'linkToInterface' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e9151800:   test   %rcx,%rcx
  0x00007f50e9151803:   je     0x00007f50e9151830
  0x00007f50e9151809:   push   %rdi
  0x00007f50e915180a:   push   %r10
  0x00007f50e915180c:   mov    0x8(%rcx),%edi
  0x00007f50e915180f:   cmp    0xa0f394a(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9151816:   je     0x00007f50e9151844
  0x00007f50e915181c:   mov    0x40(%rdi),%rdi
  0x00007f50e9151820:   cmp    0xa0f3939(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9151827:   je     0x00007f50e9151844
  0x00007f50e915182d:   pop    %r10
  0x00007f50e915182f:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9151830:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e915183a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915183e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151843:   hlt    
 ;; L_ok:
  0x00007f50e9151844:   pop    %r10
  0x00007f50e9151846:   pop    %rdi
 ;; } verify_klass
  0x00007f50e9151847:   mov    0x8(%rsi),%r10d
 ;; check_receiver {
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e915184b:   mov    0xc(%rcx),%eax
  0x00007f50e915184e:   shr    $0x18,%eax
  0x00007f50e9151851:   and    $0xf,%eax
  0x00007f50e9151854:   cmp    $0x9,%eax
  0x00007f50e9151857:   je     0x00007f50e9151871
 ;; verify_ref_kind expected 9
  0x00007f50e915185d:   movabs $0x7f50ec4c9740,%rdi         ;   {external_word}
  0x00007f50e9151867:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915186b:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151870:   hlt    
 ;; } verify_ref_kind
  0x00007f50e9151871:   mov    0x18(%rcx),%eax
  0x00007f50e9151874:   cmp    0xa026765(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e915187b:   je     0x00007f50e9151895
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9151881:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e915188b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915188f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151894:   hlt    
  0x00007f50e9151895:   shl    $0x3,%rax
 ;; verify_klass {
  0x00007f50e9151899:   test   %rax,%rax
  0x00007f50e915189c:   je     0x00007f50e91518c9
  0x00007f50e91518a2:   push   %rdi
  0x00007f50e91518a3:   push   %r10
  0x00007f50e91518a5:   mov    0x8(%rax),%edi
  0x00007f50e91518a8:   cmp    0xa0f36e1(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e91518af:   je     0x00007f50e91518dd
  0x00007f50e91518b5:   mov    0x40(%rdi),%rdi
  0x00007f50e91518b9:   cmp    0xa0f36d0(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e91518c0:   je     0x00007f50e91518dd
  0x00007f50e91518c6:   pop    %r10
  0x00007f50e91518c8:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e91518c9:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e91518d3:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91518d7:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91518dc:   hlt    
 ;; L_ok:
  0x00007f50e91518dd:   pop    %r10
  0x00007f50e91518df:   pop    %rdi
 ;; } verify_klass
  0x00007f50e91518e0:   mov    0x10(%rax),%rax
  0x00007f50e91518e4:   mov    0x10(%rcx),%rbx
  0x00007f50e91518e8:   cmp    $0x0,%ebx
  0x00007f50e91518eb:   jge    0x00007f50e9151905
 ;; invalid vtable index for MH.invokeInterface
  0x00007f50e91518f1:   movabs $0x7f50f2cfe070,%rdi         ;   {external_word}
  0x00007f50e91518fb:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91518ff:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9151904:   hlt    
  0x00007f50e9151905:   mov    0xa8(%r10),%r11d
  0x00007f50e915190c:   lea    0x1d8(%r10,%r11,8),%r11
  0x00007f50e9151914:   lea    (%r10,%rbx,8),%r10
  0x00007f50e9151918:   mov    (%r11),%rbx
  0x00007f50e915191b:   cmp    %rbx,%rax
  0x00007f50e915191e:   je     0x00007f50e9151935
  0x00007f50e9151920:   test   %rbx,%rbx
  0x00007f50e9151923:   je     0x00007f50e915194e
  0x00007f50e9151929:   add    $0x10,%r11
  0x00007f50e915192d:   mov    (%r11),%rbx
  0x00007f50e9151930:   cmp    %rbx,%rax
  0x00007f50e9151933:   jne    0x00007f50e9151920
  0x00007f50e9151935:   mov    0x8(%r11),%r11d
  0x00007f50e9151939:   mov    (%r10,%r11,1),%rbx
  0x00007f50e915193d:   test   %rbx,%rbx
  0x00007f50e9151940:   je     0x00007f50e9151949
  0x00007f50e9151946:   jmpq   *0x58(%rbx)
  0x00007f50e9151949:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
  0x00007f50e915194e:   jmpq   0x00007f50e907a320           ;   {runtime_call IncompatibleClassChangeError throw_exception}
[Stub Code]
  0x00007f50e9151953:   hlt    
  0x00007f50e9151954:   hlt    
  0x00007f50e9151955:   hlt    
  0x00007f50e9151956:   hlt    
  0x00007f50e9151957:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
610   19     n       java.lang.invoke.MethodHandle::linkToInterface(LLL)I (native)   (static)

Compiled method (n/a) 621   20     n       java.lang.invoke.MethodHandle::linkToStatic(LL)I (native)
 total in heap  [0x00007f50e9151f90,0x00007f50e9152210] = 640
 relocation     [0x00007f50e9152100,0x00007f50e9152148] = 72
 main code      [0x00007f50e9152160,0x00007f50e915220a] = 170
 stub code      [0x00007f50e915220a,0x00007f50e9152210] = 6

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0709e40} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e9152160:   test   %rdx,%rdx
  0x00007f50e9152163:   je     0x00007f50e9152190
  0x00007f50e9152169:   push   %rdi
  0x00007f50e915216a:   push   %r10
  0x00007f50e915216c:   mov    0x8(%rdx),%edi
  0x00007f50e915216f:   cmp    0xa0f2fea(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9152176:   je     0x00007f50e91521a4
  0x00007f50e915217c:   mov    0x40(%rdi),%rdi
  0x00007f50e9152180:   cmp    0xa0f2fd9(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9152187:   je     0x00007f50e91521a4
  0x00007f50e915218d:   pop    %r10
  0x00007f50e915218f:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9152190:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e915219a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915219e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91521a3:   hlt    
 ;; L_ok:
  0x00007f50e91521a4:   pop    %r10
  0x00007f50e91521a6:   pop    %rdi
 ;; } verify_klass
 ;; verify_ref_kind {
  0x00007f50e91521a7:   mov    0xc(%rdx),%eax
  0x00007f50e91521aa:   shr    $0x18,%eax
  0x00007f50e91521ad:   and    $0xf,%eax
  0x00007f50e91521b0:   cmp    $0x6,%eax
  0x00007f50e91521b3:   je     0x00007f50e91521cd
 ;; verify_ref_kind expected 6
  0x00007f50e91521b9:   movabs $0x7f50ec4cbce0,%rdi         ;   {external_word}
  0x00007f50e91521c3:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91521c7:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91521cc:   hlt    
 ;; } verify_ref_kind
  0x00007f50e91521cd:   mov    0x24(%rdx),%ebx
  0x00007f50e91521d0:   cmp    0xa025e09(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e91521d7:   je     0x00007f50e91521f1
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e91521dd:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e91521e7:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91521eb:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91521f0:   hlt    
  0x00007f50e91521f1:   shl    $0x3,%rbx
  0x00007f50e91521f5:   mov    0x10(%rbx),%rbx
  0x00007f50e91521f9:   test   %rbx,%rbx
  0x00007f50e91521fc:   je     0x00007f50e9152205
  0x00007f50e9152202:   jmpq   *0x58(%rbx)
  0x00007f50e9152205:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e915220a:   hlt    
  0x00007f50e915220b:   hlt    
  0x00007f50e915220c:   hlt    
  0x00007f50e915220d:   hlt    
  0x00007f50e915220e:   hlt    
  0x00007f50e915220f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
623   20     n       java.lang.invoke.MethodHandle::linkToStatic(LL)I (native)   (static)

Compiled method (n/a) 628   21     n       java.lang.invoke.MethodHandle::linkToStatic(LLL)I (native)
 total in heap  [0x00007f50e9152290,0x00007f50e9152510] = 640
 relocation     [0x00007f50e9152400,0x00007f50e9152448] = 72
 main code      [0x00007f50e9152460,0x00007f50e915250a] = 170
 stub code      [0x00007f50e915250a,0x00007f50e9152510] = 6

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a070bf18} 'linkToStatic' '(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/Object'
  # parm2:    rcx:rcx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e9152460:   test   %rcx,%rcx
  0x00007f50e9152463:   je     0x00007f50e9152490
  0x00007f50e9152469:   push   %rdi
  0x00007f50e915246a:   push   %r10
  0x00007f50e915246c:   mov    0x8(%rcx),%edi
  0x00007f50e915246f:   cmp    0xa0f2cea(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9152476:   je     0x00007f50e91524a4
  0x00007f50e915247c:   mov    0x40(%rdi),%rdi
  0x00007f50e9152480:   cmp    0xa0f2cd9(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9152487:   je     0x00007f50e91524a4
  0x00007f50e915248d:   pop    %r10
  0x00007f50e915248f:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9152490:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e915249a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915249e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91524a3:   hlt    
 ;; L_ok:
  0x00007f50e91524a4:   pop    %r10
  0x00007f50e91524a6:   pop    %rdi
 ;; } verify_klass
 ;; verify_ref_kind {
  0x00007f50e91524a7:   mov    0xc(%rcx),%eax
  0x00007f50e91524aa:   shr    $0x18,%eax
  0x00007f50e91524ad:   and    $0xf,%eax
  0x00007f50e91524b0:   cmp    $0x6,%eax
  0x00007f50e91524b3:   je     0x00007f50e91524cd
 ;; verify_ref_kind expected 6
  0x00007f50e91524b9:   movabs $0x7f50ec4d8780,%rdi         ;   {external_word}
  0x00007f50e91524c3:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91524c7:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91524cc:   hlt    
 ;; } verify_ref_kind
  0x00007f50e91524cd:   mov    0x24(%rcx),%ebx
  0x00007f50e91524d0:   cmp    0xa025b09(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e91524d7:   je     0x00007f50e91524f1
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e91524dd:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e91524e7:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91524eb:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91524f0:   hlt    
  0x00007f50e91524f1:   shl    $0x3,%rbx
  0x00007f50e91524f5:   mov    0x10(%rbx),%rbx
  0x00007f50e91524f9:   test   %rbx,%rbx
  0x00007f50e91524fc:   je     0x00007f50e9152505
  0x00007f50e9152502:   jmpq   *0x58(%rbx)
  0x00007f50e9152505:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e915250a:   hlt    
  0x00007f50e915250b:   hlt    
  0x00007f50e915250c:   hlt    
  0x00007f50e915250d:   hlt    
  0x00007f50e915250e:   hlt    
  0x00007f50e915250f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
630   21     n       java.lang.invoke.MethodHandle::linkToStatic(LLL)I (native)   (static)

Compiled method (n/a) 633   22     n       java.lang.invoke.MethodHandle::linkToVirtual(LL)L (native)
 total in heap  [0x00007f50e9152590,0x00007f50e9152928] = 920
 relocation     [0x00007f50e9152700,0x00007f50e9152788] = 136
 main code      [0x00007f50e91527a0,0x00007f50e9152923] = 387
 stub code      [0x00007f50e9152923,0x00007f50e9152928] = 5

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a070c490} 'linkToVirtual' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)Ljava/lang/Object;' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e91527a0:   test   %rdx,%rdx
  0x00007f50e91527a3:   je     0x00007f50e91527d0
  0x00007f50e91527a9:   push   %rdi
  0x00007f50e91527aa:   push   %r10
  0x00007f50e91527ac:   mov    0x8(%rdx),%edi
  0x00007f50e91527af:   cmp    0xa0f29aa(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e91527b6:   je     0x00007f50e91527e4
  0x00007f50e91527bc:   mov    0x40(%rdi),%rdi
  0x00007f50e91527c0:   cmp    0xa0f2999(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e91527c7:   je     0x00007f50e91527e4
  0x00007f50e91527cd:   pop    %r10
  0x00007f50e91527cf:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e91527d0:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e91527da:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91527de:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91527e3:   hlt    
 ;; L_ok:
  0x00007f50e91527e4:   pop    %r10
  0x00007f50e91527e6:   pop    %rdi
 ;; } verify_klass
  0x00007f50e91527e7:   mov    0x8(%rsi),%r10d
 ;; check_receiver {
  0x00007f50e91527eb:   mov    0x18(%rdx),%r11d
  0x00007f50e91527ef:   cmp    0xa0257ea(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e91527f6:   je     0x00007f50e9152810
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e91527fc:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9152806:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915280a:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e915280f:   hlt    
  0x00007f50e9152810:   shl    $0x3,%r11
 ;; verify_klass {
  0x00007f50e9152814:   test   %r11,%r11
  0x00007f50e9152817:   je     0x00007f50e9152845
  0x00007f50e915281d:   push   %rdi
  0x00007f50e915281e:   push   %r10
  0x00007f50e9152820:   mov    0x8(%r11),%edi
  0x00007f50e9152824:   cmp    0xa0f2765(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e915282b:   je     0x00007f50e9152859
  0x00007f50e9152831:   mov    0x40(%rdi),%rdi
  0x00007f50e9152835:   cmp    0xa0f2754(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e915283c:   je     0x00007f50e9152859
  0x00007f50e9152842:   pop    %r10
  0x00007f50e9152844:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e9152845:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e915284f:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9152853:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9152858:   hlt    
 ;; L_ok:
  0x00007f50e9152859:   pop    %r10
  0x00007f50e915285b:   pop    %rdi
 ;; } verify_klass
  0x00007f50e915285c:   mov    0x10(%r11),%r11
  0x00007f50e9152860:   cmp    %r11,%r10
  0x00007f50e9152863:   je     0x00007f50e91528c2
  0x00007f50e9152869:   mov    0x18(%r11),%eax
  0x00007f50e915286d:   cmp    (%r10,%rax,1),%r11
  0x00007f50e9152871:   je     0x00007f50e91528c2
  0x00007f50e9152877:   cmp    $0x28,%eax
  0x00007f50e915287a:   jne    0x00007f50e91528ae
  0x00007f50e9152880:   mov    %r11,%rax
  0x00007f50e9152883:   push   %rcx
  0x00007f50e9152884:   push   %rdi
  0x00007f50e9152885:   movabs $0x7f50f32253e0,%rcx         ;   {external_word}
  0x00007f50e915288f:   incl   (%rcx)
  0x00007f50e9152891:   mov    0x30(%r10),%rdi
  0x00007f50e9152895:   mov    (%rdi),%ecx
  0x00007f50e9152897:   add    $0x8,%rdi
  0x00007f50e915289b:   test   %rax,%rax
  0x00007f50e915289e:   repnz scas %es:(%rdi),%rax
  0x00007f50e91528a1:   pop    %rdi
  0x00007f50e91528a2:   pop    %rcx
  0x00007f50e91528a3:   jne    0x00007f50e91528ae
  0x00007f50e91528a5:   mov    %r11,0x28(%r10)
  0x00007f50e91528a9:   jmpq   0x00007f50e91528c2
 ;; receiver class disagrees with MemberName.clazz
  0x00007f50e91528ae:   movabs $0x7f50f2cfe040,%rdi         ;   {external_word}
  0x00007f50e91528b8:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91528bc:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91528c1:   hlt    
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e91528c2:   mov    0xc(%rdx),%eax
  0x00007f50e91528c5:   shr    $0x18,%eax
  0x00007f50e91528c8:   and    $0xf,%eax
  0x00007f50e91528cb:   cmp    $0x5,%eax
  0x00007f50e91528ce:   je     0x00007f50e91528e8
 ;; verify_ref_kind expected 5
  0x00007f50e91528d4:   movabs $0x7f50ec4d8ab0,%rdi         ;   {external_word}
  0x00007f50e91528de:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91528e2:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91528e7:   hlt    
 ;; } verify_ref_kind
  0x00007f50e91528e8:   mov    0x10(%rdx),%r11
  0x00007f50e91528ec:   cmp    $0x0,%r11d
  0x00007f50e91528f0:   jge    0x00007f50e915290a
 ;; no virtual index
  0x00007f50e91528f6:   movabs $0x7f50f2bcc60e,%rdi         ;   {external_word}
  0x00007f50e9152900:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9152904:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9152909:   hlt    
 ;; L_index_ok:
  0x00007f50e915290a:   mov    0x1d8(%r10,%r11,8),%rbx
  0x00007f50e9152912:   test   %rbx,%rbx
  0x00007f50e9152915:   je     0x00007f50e915291e
  0x00007f50e915291b:   jmpq   *0x58(%rbx)
  0x00007f50e915291e:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
[Stub Code]
  0x00007f50e9152923:   hlt    
  0x00007f50e9152924:   hlt    
  0x00007f50e9152925:   hlt    
  0x00007f50e9152926:   hlt    
  0x00007f50e9152927:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
637   22     n       java.lang.invoke.MethodHandle::linkToVirtual(LL)L (native)   (static)

Compiled method (n/a) 644   23     n       java.lang.invoke.MethodHandle::linkToSpecial(LL)I (native)
 total in heap  [0x00007f50e9152990,0x00007f50e9152d28] = 920
 relocation     [0x00007f50e9152b00,0x00007f50e9152b90] = 144
 main code      [0x00007f50e9152ba0,0x00007f50e9152d28] = 392

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a071d928} 'linkToSpecial' '(Ljava/lang/Object;Ljava/lang/invoke/MemberName;)I' in 'java/lang/invoke/MethodHandle'
  # parm0:    rsi:rsi   = 'java/lang/Object'
  # parm1:    rdx:rdx   = 'java/lang/invoke/MemberName'
  #           [sp+0x0]  (sp of caller)
 ;; verify_klass {
  0x00007f50e9152ba0:   test   %rdx,%rdx
  0x00007f50e9152ba3:   je     0x00007f50e9152bd0
  0x00007f50e9152ba9:   push   %rdi
  0x00007f50e9152baa:   push   %r10
  0x00007f50e9152bac:   mov    0x8(%rdx),%edi
  0x00007f50e9152baf:   cmp    0xa0f25aa(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9152bb6:   je     0x00007f50e9152be4
  0x00007f50e9152bbc:   mov    0x40(%rdi),%rdi
  0x00007f50e9152bc0:   cmp    0xa0f2599(%rip),%rdi        # 0x00007f50f3245160
                                                            ;   {external_word}
  0x00007f50e9152bc7:   je     0x00007f50e9152be4
  0x00007f50e9152bcd:   pop    %r10
  0x00007f50e9152bcf:   pop    %rdi
 ;; MemberName required for invokeVirtual etc.
  0x00007f50e9152bd0:   movabs $0x7f50f2cfdfc0,%rdi         ;   {external_word}
  0x00007f50e9152bda:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9152bde:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9152be3:   hlt    
 ;; L_ok:
  0x00007f50e9152be4:   pop    %r10
  0x00007f50e9152be6:   pop    %rdi
 ;; } verify_klass
  0x00007f50e9152be7:   cmp    (%rsi),%rax
 ;; check_receiver {
  0x00007f50e9152bea:   mov    0x8(%rsi),%r10d
  0x00007f50e9152bee:   mov    0x18(%rdx),%r11d
  0x00007f50e9152bf2:   cmp    0xa0253e7(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9152bf9:   je     0x00007f50e9152c13
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9152bff:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9152c09:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9152c0d:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9152c12:   hlt    
  0x00007f50e9152c13:   shl    $0x3,%r11
 ;; verify_klass {
  0x00007f50e9152c17:   test   %r11,%r11
  0x00007f50e9152c1a:   je     0x00007f50e9152c48
  0x00007f50e9152c20:   push   %rdi
  0x00007f50e9152c21:   push   %r10
  0x00007f50e9152c23:   mov    0x8(%r11),%edi
  0x00007f50e9152c27:   cmp    0xa0f2362(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e9152c2e:   je     0x00007f50e9152c5c
  0x00007f50e9152c34:   mov    0x40(%rdi),%rdi
  0x00007f50e9152c38:   cmp    0xa0f2351(%rip),%rdi        # 0x00007f50f3244f90
                                                            ;   {external_word}
  0x00007f50e9152c3f:   je     0x00007f50e9152c5c
  0x00007f50e9152c45:   pop    %r10
  0x00007f50e9152c47:   pop    %rdi
 ;; MH argument is a Class
  0x00007f50e9152c48:   movabs $0x7f50f2bcc414,%rdi         ;   {external_word}
  0x00007f50e9152c52:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9152c56:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9152c5b:   hlt    
 ;; L_ok:
  0x00007f50e9152c5c:   pop    %r10
  0x00007f50e9152c5e:   pop    %rdi
 ;; } verify_klass
  0x00007f50e9152c5f:   mov    0x10(%r11),%r11
  0x00007f50e9152c63:   cmp    %r11,%r10
  0x00007f50e9152c66:   je     0x00007f50e9152cc5
  0x00007f50e9152c6c:   mov    0x18(%r11),%eax
  0x00007f50e9152c70:   cmp    (%r10,%rax,1),%r11
  0x00007f50e9152c74:   je     0x00007f50e9152cc5
  0x00007f50e9152c7a:   cmp    $0x28,%eax
  0x00007f50e9152c7d:   jne    0x00007f50e9152cb1
  0x00007f50e9152c83:   mov    %r11,%rax
  0x00007f50e9152c86:   push   %rcx
  0x00007f50e9152c87:   push   %rdi
  0x00007f50e9152c88:   movabs $0x7f50f32253e0,%rcx         ;   {external_word}
  0x00007f50e9152c92:   incl   (%rcx)
  0x00007f50e9152c94:   mov    0x30(%r10),%rdi
  0x00007f50e9152c98:   mov    (%rdi),%ecx
  0x00007f50e9152c9a:   add    $0x8,%rdi
  0x00007f50e9152c9e:   test   %rax,%rax
  0x00007f50e9152ca1:   repnz scas %es:(%rdi),%rax
  0x00007f50e9152ca4:   pop    %rdi
  0x00007f50e9152ca5:   pop    %rcx
  0x00007f50e9152ca6:   jne    0x00007f50e9152cb1
  0x00007f50e9152ca8:   mov    %r11,0x28(%r10)
  0x00007f50e9152cac:   jmpq   0x00007f50e9152cc5
 ;; receiver class disagrees with MemberName.clazz
  0x00007f50e9152cb1:   movabs $0x7f50f2cfe040,%rdi         ;   {external_word}
  0x00007f50e9152cbb:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9152cbf:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9152cc4:   hlt    
 ;; } check_receiver
 ;; verify_ref_kind {
  0x00007f50e9152cc5:   mov    0xc(%rdx),%eax
  0x00007f50e9152cc8:   shr    $0x18,%eax
  0x00007f50e9152ccb:   and    $0xf,%eax
  0x00007f50e9152cce:   cmp    $0x7,%eax
  0x00007f50e9152cd1:   je     0x00007f50e9152ceb
 ;; verify_ref_kind expected 7
  0x00007f50e9152cd7:   movabs $0x7f50ec4d9c70,%rdi         ;   {external_word}
  0x00007f50e9152ce1:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9152ce5:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9152cea:   hlt    
 ;; } verify_ref_kind
  0x00007f50e9152ceb:   mov    0x24(%rdx),%ebx
  0x00007f50e9152cee:   cmp    0xa0252eb(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e9152cf5:   je     0x00007f50e9152d0f
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9152cfb:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e9152d05:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9152d09:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9152d0e:   hlt    
  0x00007f50e9152d0f:   shl    $0x3,%rbx
  0x00007f50e9152d13:   mov    0x10(%rbx),%rbx
  0x00007f50e9152d17:   test   %rbx,%rbx
  0x00007f50e9152d1a:   je     0x00007f50e9152d23
  0x00007f50e9152d20:   jmpq   *0x58(%rbx)
  0x00007f50e9152d23:   jmpq   0x00007f50e907a620           ;   {runtime_call AbstractMethodError throw_exception}
--------------------------------------------------------------------------------
[/Disassembly]
649   23     n       java.lang.invoke.MethodHandle::linkToSpecial(LL)I (native)   (static)
714   24   !b        RelockInDeopt::snippet2 (74 bytes)
++++ Eliminated: 341 Unlock 'NonEscObj'
++++ Eliminated: 133 Lock 'NonEscObj'
Scalar   94  CheckCastPP  === 91 89  [[ 324 143 324 143 ]]  #java/lang/Object:NotNull:exact *,iid=77  Oop:java/lang/Object:NotNull:exact *,iid=77 !jvms: RelockInDeopt::snippet2 @ bci:8 (line 8)
++++ Eliminated: 77 Allocate

============================= C2-compiled nmethod ==============================
# -- Old rsp -- Framesize: 64 --
#r595 rsp+60: in_preserve
#r594 rsp+56: return address
#r593 rsp+52: in_preserve
#r592 rsp+48: saved fp register
#r591 rsp+44: pad2, stack alignment
#r590 rsp+40: pad2, stack alignment
#r589 rsp+36: Fixed slot 5
#r588 rsp+32: Fixed slot 4
#r587 rsp+28: Fixed slot 3
#r586 rsp+24: Fixed slot 2
#r585 rsp+20: Fixed slot 1
#r584 rsp+16: Fixed slot 0
#r599 rsp+12: spill
#r598 rsp+ 8: spill
#r597 rsp+ 4: spill
#r596 rsp+ 0: spill
#
----------------------- MetaData before Compile_id = 24 ------------------------
{method}
 - this oop:          0x00007f50a0603318
 - method holder:     'RelockInDeopt'
 - constants:         0x00007f50a0603028 constant pool [31] {0x00007f50a0603028} for 'RelockInDeopt' cache=0x00007f50a06035b8
 - access:            0x9  public static 
 - flags:             0x40c1  has_monitor_bytecodes monitor_matching queued_for_compilation has_loops_flag_init 
 - name:              'snippet2'
 - signature:         '()V'
 - max stack:         3
 - max locals:        6
 - size of params:    0
 - method size:       14
 - vtable index:      -2
 - i2i entry:         0x00007f50e900ce20
 - adapters:          AHE@0x00007f50ec17eab0: 0x i2c: 0x00007f50e91167e0 c2i: 0x00007f50e9116896 c2iUV: 0x00007f50e9116871 c2iNCI: 0x00007f50e91168d0
 - compiled entry     0x00007f50e9116896
 - code size:         74
 - code start:        0x00007f50a06032a0
 - code end (excl):   0x00007f50a06032ea
 - method data:       0x00007f50a0603738
 - checked ex length: 0
 - linenumber start:  0x00007f50a06032ea
 - localvar length:   0

------------------------ OptoAssembly for Compile_id = 24 -----------------------
#
#  void (  )
#
000     N1: #	out( B1 ) <- in( B22 B9 B23 )  Freq: 1

000     B1: #	out( B17 B2 ) <- BLOCK HEAD IS JUNK  Freq: 1
000     # stack bang (192 bytes)
	pushq   rbp	# Save rbp
	subq    rsp, #48	# Create frame

01a     # TLS is in R15
01a     movq    R11, [R15 + #456 (32-bit)]	# ptr
021     movq    R10, R11	# spill
024     addq    R10, #16	# ptr
028     # TLS is in R15
028     cmpq    R10, [R15 + #472 (32-bit)]	# raw ptr
02f     jae,u   B17  P=0.000100 C=-1.000000

035     B2: #	out( B3 ) <- in( B1 )  Freq: 0.9999
035     # TLS is in R15
035     movq    [R15 + #456 (32-bit)], R10	# ptr
03c     PREFETCHNTA [R10 + #192 (32-bit)]	# Prefetch allocation to non-temporal cache for write
044     movq    [R11], #1	# long
04b     movl    [R11 + #8 (8-bit)], narrowklass: precise java/lang/Object: 0x00007f50ec30f898:Constant:exact *	# compressed klass ptr
053     movl    [R11 + #12 (8-bit)], R12	# int (R12_heapbase==0)

057     B3: #	out( B19 B4 ) <- in( B18 B2 )  Freq: 1
057     
057     MEMBAR-storestore (empty encoding)
057     # checkcastPP of R11
057     movq    [rsp + #0], R11	# spill
05b     leaq    RBX, [rsp + #24]	# box lock
060     fastlock R11,RBX	! kills RBX,RAX,R10
0e1     jne     B19  P=0.000001 C=-1.000000

0e7     B4: #	out( B10 B5 ) <- in( B19 B3 )  Freq: 1
0e7     MEMBAR-acquire (prior CMPXCHG in FastLock so empty encoding)
0e7     movq    RBX, java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *	# ptr
0f1     # TLS is in R15
0f1     cmpb    [R15 + #56 (8-bit)], #0
0f6     jne     B10  P=0.001000 C=-1.000000

0fc     B5: #	out( B7 B6 ) <- in( B21 B12 B10 B4 )  Freq: 1
0fc     movq    R10, RBX	# ptr -> long
0ff     movq    R11, [rsp + #0]	# spill
103     encode_heap_oop_not_null R11,R11
145     movl    [RBX + #112 (8-bit)], R11	# compressed ptr ! Field: RelockInDeopt.staticObj
149     movq    R11, [rsp + #0]	# spill
14d     movq    R11, R11	# ptr -> long
14d     xorq    R11, R10	# long
150     shrq    R11, #24
154     testq   R11, R11
157     je,s   B7  P=0.001000 C=-1.000000

159     B6: #	out( B13 B7 ) <- in( B5 )  Freq: 0.999
159     shrq    R10, #9
15d     movq    RDI, 0x00007f50e0201000	# ptr
167     addq    RDI, R10	# ptr
16a     cmpb    [RDI], #2
16d     jne     B13  P=0.001000 C=-1.000000

173     B7: #	out( B22 B8 ) <- in( B15 B16 B13 B6 B5 )  Freq: 1
173     movl    RBP, [RBX + #116 (8-bit)]	# int ! Field: RelockInDeopt.staticInt
176     incl    RBP	# int
178     movl    [RBX + #116 (8-bit)], RBP	# int ! Field: RelockInDeopt.staticInt
17b     cmpl    RBP, #9999
181     jge     B22  P=0.000000 C=6784.000000

187     B8: #	out( B20 B9 ) <- in( B7 )  Freq: 1
187     MEMBAR-release (a FastUnlock follows so empty encoding)
187     leaq    RAX, [rsp + #24]	# box lock
18c     movq    R11, [rsp + #0]	# spill
190     fastunlock R11,RAX	! kills RAX,R10
247     jne     B20  P=0.000001 C=-1.000000

24d     B9: #	out( N1 ) <- in( B20 B8 )  Freq: 1
24d     addq    rsp, 48	# Destroy frame
	popq    rbp
	cmpq    rsp, poll_offset[r15_thread] 
	ja      #safepoint_stub	# Safepoint: poll for GC

25f     ret

260     B10: #	out( B5 B11 ) <- in( B4 )  Freq: 0.000999987
260     movl    R11, [RBX + #112 (8-bit)]	# compressed ptr ! Field: RelockInDeopt.staticObj
264     testl   R11, R11	# compressed ptr
267     je     B5  P=0.500000 C=-1.000000

26d     B11: #	out( B21 B12 ) <- in( B10 )  Freq: 0.000499994
26d     # TLS is in R15
26d     movq    R10, [R15 + #40 (8-bit)]	# long
271     decode_heap_oop RDI,R11
299     testq   R10, R10
29c     je     B21  P=0.001000 C=-1.000000

2a2     B12: #	out( B5 ) <- in( B11 )  Freq: 0.000499494
2a2     # TLS is in R15
2a2     movq    R11, [R15 + #48 (8-bit)]	# ptr
2a6     movq    [R11 + #-8 + R10], RDI	# ptr
2ab     addq    R10, #-8	# long
2af     # TLS is in R15
2af     movq    [R15 + #40 (8-bit)], R10	# long
2b3     jmp     B5

2b8     B13: #	out( B7 B14 ) <- in( B6 )  Freq: 0.000999
2b8     # TLS is in R15
2b8     movq    R10, [R15 + #64 (8-bit)]	# long
2bc     # TLS is in R15
2bc     movq    R11, [R15 + #72 (8-bit)]	# ptr
2c0     lock addl [rsp + #0], 0	! membar_volatile
2c6     cmpb    [RDI], #0
2c9     je     B7  P=0.500000 C=-1.000000

2cf     B14: #	out( B16 B15 ) <- in( B13 )  Freq: 0.0004995
2cf     movb    [RDI], R12	# CMS card-mark byte 0 (R12_heapbase==0)
2d2     testq   R10, R10
2d5     jne,s   B16  P=0.500000 C=-1.000000

2d7     B15: #	out( B7 ) <- in( B14 )  Freq: 0.00024975
2d7     # TLS is in R15
2d7     movq    RSI, R15	# spill
2da     call_leaf,runtime  write_ref_field_post_entry
        No JVM State Info
        # 
2ef     jmp     B7

2f4     B16: #	out( B7 ) <- in( B14 )  Freq: 0.00024975
2f4     movq    [R11 + #-8 + R10], RDI	# ptr
2f9     addq    R10, #-8	# long
2fd     # TLS is in R15
2fd     movq    [R15 + #64 (8-bit)], R10	# long
301     jmp     B7

306     B17: #	out( B23 B18 ) <- in( B1 )  Freq: 0.000100017
306     movq    RSI, precise java/lang/Object: 0x00007f50ec30f898:Constant:exact *	# ptr
        nop 	# 3 bytes pad for loops and calls
313     call,static  wrapper for: _new_instance_Java
        # RelockInDeopt::snippet2 @ bci:0 (line 7) L[0]=_ L[1]=_ L[2]=_ L[3]=_ L[4]=_ L[5]=_
        # OopMap {off=792/0x318}

320     B18: #	out( B3 ) <- in( B17 )  Freq: 0.000100015
        # Block is sole successor of call
320     movq    R11, RAX	# spill
323     jmp     B3

328     B19: #	out( B4 ) <- in( B3 )  Freq: 1e-06
328     movq    RSI, R11	# spill
32b     leaq    RDX, [rsp + #24]	# box lock
330     movq    [rsp + #8], R11	# spill
        nop 	# 2 bytes pad for loops and calls
337     call,static  wrapper for: _complete_monitor_locking_Java
        # RelockInDeopt::snippet2 @ bci:23 (line 11) L[0]=rsp + #8 L[1]=_ L[2]=#ScObj0 L[3]=rsp + #0 L[4]=_ L[5]=_ MON-BOX0=rsp+16 MON-OBJ(LOCK ELIMINATED)[0]=#ScObj0 MON-BOX1=rsp+24 MON-OBJ[1]=rsp + #0
        # ScObj0 java/lang/Object={ }
        # OopMap {[0]=Oop [8]=Oop off=828/0x33c}
344     jmp     B4

349     B20: #	out( B9 ) <- in( B8 )  Freq: 1e-06
349     movq    RDI, R11	# spill
34c     leaq    RSI, [rsp + #24]	# box lock
351     # TLS is in R15
351     movq    RDX, R15	# spill
354     call_leaf,runtime  complete_monitor_unlocking_C
        No JVM State Info
        # 
369     jmp     B9

36e     B21: #	out( B5 ) <- in( B11 )  Freq: 4.99987e-07
36e     # TLS is in R15
36e     movq    RSI, R15	# spill
371     call_leaf,runtime  write_ref_field_pre_entry
        No JVM State Info
        # 
386     jmp     B5

38b     B22: #	out( N1 ) <- in( B7 )  Freq: 4.76837e-07
38b     movl    RSI, #-187	# int
        nop 	# 3 bytes pad for loops and calls
393     call,static  wrapper for: uncommon_trap(reason='unstable_if' action='reinterpret' debug_id='0')
        # RelockInDeopt::snippet2 @ bci:42 (line 15) L[0]=_ L[1]=_ L[2]=#ScObj0 L[3]=rsp + #0 L[4]=_ L[5]=_ STK[0]=RBP STK[1]=#9999 MON-BOX0=rsp+16 MON-OBJ(LOCK ELIMINATED)[0]=#ScObj0 MON-BOX1=rsp+24 MON-OBJ[1]=rsp + #0
        # ScObj0 java/lang/Object={ }
        # OopMap {[0]=Oop off=920/0x398}
3a0     stop	# ShouldNotReachHere

3b4     B23: #	out( N1 ) <- in( B17 )  Freq: 1.00017e-09
3b4     # exception oop is in rax; no code emitted
3b4     movq    RSI, RAX	# spill
3b7     addq    rsp, 48	# Destroy frame
	popq    rbp

3bc     jmp     rethrow_stub

--------------------------------------------------------------------------------
----------------------------------- Assembly -----------------------------------

Compiled method (c2) 721   24   !         RelockInDeopt::snippet2 (74 bytes)
 total in heap  [0x00007f50e9158490,0x00007f50e9158cc0] = 2096
 relocation     [0x00007f50e9158600,0x00007f50e9158678] = 120
 main code      [0x00007f50e9158680,0x00007f50e9158a88] = 1032
 stub code      [0x00007f50e9158a88,0x00007f50e9158aa0] = 24
 oops           [0x00007f50e9158aa0,0x00007f50e9158ab0] = 16
 metadata       [0x00007f50e9158ab0,0x00007f50e9158ac0] = 16
 scopes data    [0x00007f50e9158ac0,0x00007f50e9158b50] = 144
 scopes pcs     [0x00007f50e9158b50,0x00007f50e9158ca0] = 336
 dependencies   [0x00007f50e9158ca0,0x00007f50e9158ca8] = 8
 handler table  [0x00007f50e9158ca8,0x00007f50e9158cc0] = 24

[Disassembly]
--------------------------------------------------------------------------------
[Constant Pool (empty)]

--------------------------------------------------------------------------------

[Verified Entry Point]
  # {method} {0x00007f50a0603318} 'snippet2' '()V' in 'RelockInDeopt'
  #           [sp+0x40]  (sp of caller)
 ;; N1: #	out( B1 ) <- in( B22 B9 B23 )  Freq: 1
 ;; B1: #	out( B17 B2 ) <- BLOCK HEAD IS JUNK  Freq: 1
  0x00007f50e9158680:   mov    %eax,-0x18000(%rsp)
  0x00007f50e9158687:   push   %rbp
  0x00007f50e9158688:   sub    $0x30,%rsp
  0x00007f50e915868c:   cmpl   $0x0,0x20(%r15)
  0x00007f50e9158694:   jne    0x00007f50e9158a77
  0x00007f50e915869a:   mov    0x1c8(%r15),%r11
  0x00007f50e91586a1:   mov    %r11,%r10
  0x00007f50e91586a4:   add    $0x10,%r10
  0x00007f50e91586a8:   cmp    0x1d8(%r15),%r10
  0x00007f50e91586af:   jae    0x00007f50e9158986           ;*putstatic staticObj {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@25 (line 12)
 ;; B2: #	out( B3 ) <- in( B1 )  Freq: 0.9999
  0x00007f50e91586b5:   mov    %r10,0x1c8(%r15)
  0x00007f50e91586bc:   prefetchnta 0xc0(%r10)
  0x00007f50e91586c4:   movq   $0x1,(%r11)
  0x00007f50e91586cb:   movl   $0x53041200,0x8(%r11)        ;   {metadata('java/lang/Object')}
  0x00007f50e91586d3:   mov    %r12d,0xc(%r11)              ;*new {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@0 (line 7)
 ;; B3: #	out( B19 B4 ) <- in( B18 B2 )  Freq: 1
  0x00007f50e91586d7:   mov    %r11,(%rsp)
  0x00007f50e91586db:   lea    0x18(%rsp),%rbx
  0x00007f50e91586e0:   mov    (%r11),%rax
  0x00007f50e91586e3:   test   $0x2,%al
  0x00007f50e91586e5:   jne    0x00007f50e9158732
  0x00007f50e91586eb:   cmpl   $0x777,0x730(%r15)
  0x00007f50e91586f6:   jg     0x00007f50e9158761
  0x00007f50e91586fc:   and    $0xfffffffffffffffc,%rax
  0x00007f50e9158700:   mov    %rax,%r10
  0x00007f50e9158703:   or     $0x1,%rax
  0x00007f50e9158707:   lock cmpxchg %r10,(%r11)
  0x00007f50e915870c:   jne    0x00007f50e9158761
  0x00007f50e9158712:   mov    0x730(%r15),%r10d
  0x00007f50e9158719:   mov    %r11,(%r15,%r10,1)
  0x00007f50e915871d:   add    $0x8,%r10d
  0x00007f50e9158721:   mov    %r10d,0x730(%r15)
  0x00007f50e9158728:   jmpq   0x00007f50e9158758
  0x00007f50e915872d:   jmpq   0x00007f50e9158756
  0x00007f50e9158732:   mov    %rax,%r10
  0x00007f50e9158735:   xor    %rax,%rax
  0x00007f50e9158738:   lock cmpxchg %r15,0x3e(%r10)
  0x00007f50e915873e:   movq   $0x3,(%rbx)
  0x00007f50e9158745:   je     0x00007f50e9158758
  0x00007f50e9158747:   cmp    %rax,%r15
  0x00007f50e915874a:   jne    0x00007f50e9158761
  0x00007f50e915874c:   incq   0x86(%r10)
  0x00007f50e9158753:   xor    %rax,%rax
  0x00007f50e9158756:   jne    0x00007f50e9158761
  0x00007f50e9158758:   incq   0x5a8(%r15)
  0x00007f50e915875f:   xor    %eax,%eax
  0x00007f50e9158761:   jne    0x00007f50e91589a8           ;*monitorenter {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@23 (line 11)
 ;; B4: #	out( B10 B5 ) <- in( B19 B3 )  Freq: 1
  0x00007f50e9158767:   movabs $0x11f922cf0,%rbx            ;   {oop(a 'java/lang/Class'{0x000000011f922cf0} = 'RelockInDeopt')}
  0x00007f50e9158771:   cmpb   $0x0,0x38(%r15)
  0x00007f50e9158776:   jne    0x00007f50e91588e0
 ;; B5: #	out( B7 B6 ) <- in( B21 B12 B10 B4 )  Freq: 1
  0x00007f50e915877c:   mov    %rbx,%r10
  0x00007f50e915877f:   mov    (%rsp),%r11
  0x00007f50e9158783:   cmp    0xa01f856(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e915878a:   je     0x00007f50e91587a4
 ;; MacroAssembler::encode_heap_oop_not_null2: heap base corrupted?
  0x00007f50e9158790:   movabs $0x7f50f2cf0a70,%rdi         ;   {external_word}
  0x00007f50e915879a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915879e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91587a3:   hlt    
  0x00007f50e91587a4:   test   %r11,%r11
  0x00007f50e91587a7:   jne    0x00007f50e91587c1
 ;; null oop passed to encode_heap_oop_not_null2
  0x00007f50e91587ad:   movabs $0x7f50f2cf0ab0,%rdi         ;   {external_word}
  0x00007f50e91587b7:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e91587bb:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e91587c0:   hlt    
  0x00007f50e91587c1:   shr    $0x3,%r11
  0x00007f50e91587c5:   mov    %r11d,0x70(%rbx)
  0x00007f50e91587c9:   mov    (%rsp),%r11
  0x00007f50e91587cd:   xor    %r10,%r11
  0x00007f50e91587d0:   shr    $0x18,%r11
  0x00007f50e91587d4:   test   %r11,%r11
  0x00007f50e91587d7:   je     0x00007f50e91587f3
 ;; B6: #	out( B13 B7 ) <- in( B5 )  Freq: 0.999
  0x00007f50e91587d9:   shr    $0x9,%r10
  0x00007f50e91587dd:   movabs $0x7f50e0201000,%rdi
  0x00007f50e91587e7:   add    %r10,%rdi
  0x00007f50e91587ea:   cmpb   $0x2,(%rdi)
  0x00007f50e91587ed:   jne    0x00007f50e9158938           ;*putstatic staticObj {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@25 (line 12)
 ;; B7: #	out( B22 B8 ) <- in( B15 B16 B13 B6 B5 )  Freq: 1
  0x00007f50e91587f3:   mov    0x74(%rbx),%ebp
  0x00007f50e91587f6:   inc    %ebp                         ;*iadd {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@32 (line 13)
  0x00007f50e91587f8:   mov    %ebp,0x74(%rbx)              ;*putstatic staticInt {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@33 (line 13)
  0x00007f50e91587fb:   cmp    $0x270f,%ebp
  0x00007f50e9158801:   jge    0x00007f50e9158a0b           ;*monitorexit {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@50 (line 18)
 ;; B8: #	out( B20 B9 ) <- in( B7 )  Freq: 1
  0x00007f50e9158807:   lea    0x18(%rsp),%rax              ;*monitorenter {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@23 (line 11)
  0x00007f50e915880c:   mov    (%rsp),%r11
  0x00007f50e9158810:   mov    (%r11),%r10
  0x00007f50e9158813:   test   $0x2,%r10b
  0x00007f50e9158817:   je     0x00007f50e915888a
  0x00007f50e915881d:   testb  $0x1,0x3e(%r10)
  0x00007f50e9158822:   jne    0x00007f50e9158a57
  0x00007f50e9158828:   cmpq   $0x0,0x86(%r10)
  0x00007f50e9158830:   je     0x00007f50e915883b
  0x00007f50e9158832:   decq   0x86(%r10)
  0x00007f50e9158839:   jmp    0x00007f50e9158886
  0x00007f50e915883b:   mov    0x96(%r10),%rax
  0x00007f50e9158842:   or     0x8e(%r10),%rax
  0x00007f50e9158849:   jne    0x00007f50e9158855
  0x00007f50e915884b:   movq   $0x0,0x3e(%r10)
  0x00007f50e9158853:   jmp    0x00007f50e91588bb
  0x00007f50e9158855:   cmpq   $0x0,0x9e(%r10)
  0x00007f50e915885d:   je     0x00007f50e9158881
  0x00007f50e915885f:   xor    %rax,%rax
  0x00007f50e9158862:   movq   $0x0,0x3e(%r10)
  0x00007f50e915886a:   lock addl $0x0,(%rsp)
  0x00007f50e915886f:   cmpq   $0x0,0x9e(%r10)
  0x00007f50e9158877:   jne    0x00007f50e9158886
  0x00007f50e9158879:   lock cmpxchg %r15,0x3e(%r10)
  0x00007f50e915887f:   jne    0x00007f50e9158886
  0x00007f50e9158881:   or     $0x1,%eax
  0x00007f50e9158884:   jmp    0x00007f50e91588bb
  0x00007f50e9158886:   test   $0x0,%al
  0x00007f50e9158888:   jmp    0x00007f50e91588bb
  0x00007f50e915888a:   mov    %r10,%rax
  0x00007f50e915888d:   mov    %rax,%r10
  0x00007f50e9158890:   or     $0x1,%r10
  0x00007f50e9158894:   lock cmpxchg %r10,(%r11)
  0x00007f50e9158899:   jne    0x00007f50e91588c7
  0x00007f50e915889f:   subl   $0x8,0x730(%r15)
  0x00007f50e91588a7:   mov    0x730(%r15),%r10d
  0x00007f50e91588ae:   movq   $0x0,(%r15,%r10,1)
  0x00007f50e91588b6:   jmpq   0x00007f50e91588bd           ;   {no_reloc}
  0x00007f50e91588bb:   jne    0x00007f50e91588c7
  0x00007f50e91588bd:   decq   0x5a8(%r15)
  0x00007f50e91588c4:   xor    %r10d,%r10d
  0x00007f50e91588c7:   jne    0x00007f50e91589c9
 ;; B9: #	out( N1 ) <- in( B20 B8 )  Freq: 1
  0x00007f50e91588cd:   add    $0x30,%rsp
  0x00007f50e91588d1:   pop    %rbp
  0x00007f50e91588d2:   cmp    0x498(%r15),%rsp             ;   {poll_return}
  0x00007f50e91588d9:   ja     0x00007f50e9158a41
  0x00007f50e91588df:   retq   
 ;; B10: #	out( B5 B11 ) <- in( B4 )  Freq: 0.000999987
  0x00007f50e91588e0:   mov    0x70(%rbx),%r11d
  0x00007f50e91588e4:   test   %r11d,%r11d
  0x00007f50e91588e7:   je     0x00007f50e915877c
 ;; B11: #	out( B21 B12 ) <- in( B10 )  Freq: 0.000499994
  0x00007f50e91588ed:   mov    0x28(%r15),%r10
  0x00007f50e91588f1:   mov    %r11,%rdi
  0x00007f50e91588f4:   cmp    0xa01f6e5(%rip),%r12        # 0x00007f50f3177fe0
                                                            ;   {external_word}
  0x00007f50e91588fb:   je     0x00007f50e9158915
 ;; MacroAssembler::decode_heap_oop: heap base corrupted?
  0x00007f50e9158901:   movabs $0x7f50f2cf0b20,%rdi         ;   {external_word}
  0x00007f50e915890b:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e915890f:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9158914:   hlt    
  0x00007f50e9158915:   shl    $0x3,%rdi
  0x00007f50e9158919:   test   %r10,%r10
  0x00007f50e915891c:   je     0x00007f50e91589ee
 ;; B12: #	out( B5 ) <- in( B11 )  Freq: 0.000499494
  0x00007f50e9158922:   mov    0x30(%r15),%r11
  0x00007f50e9158926:   mov    %rdi,-0x8(%r11,%r10,1)
  0x00007f50e915892b:   add    $0xfffffffffffffff8,%r10
  0x00007f50e915892f:   mov    %r10,0x28(%r15)
  0x00007f50e9158933:   jmpq   0x00007f50e915877c
 ;; B13: #	out( B7 B14 ) <- in( B6 )  Freq: 0.000999
  0x00007f50e9158938:   mov    0x40(%r15),%r10
  0x00007f50e915893c:   mov    0x48(%r15),%r11
  0x00007f50e9158940:   lock addl $0x0,-0x40(%rsp)
  0x00007f50e9158946:   cmpb   $0x0,(%rdi)
  0x00007f50e9158949:   je     0x00007f50e91587f3
 ;; B14: #	out( B16 B15 ) <- in( B13 )  Freq: 0.0004995
  0x00007f50e915894f:   mov    %r12b,(%rdi)
  0x00007f50e9158952:   test   %r10,%r10
  0x00007f50e9158955:   jne    0x00007f50e9158974
 ;; B15: #	out( B7 ) <- in( B14 )  Freq: 0.00024975
  0x00007f50e9158957:   mov    %r15,%rsi
  0x00007f50e915895a:   movabs $0x7f50f1c4adc0,%r10
  0x00007f50e9158964:   callq  *%r10
  0x00007f50e9158967:   nopl   0x0(%rax,%rax,1)             ;   {other}
  0x00007f50e915896f:   jmpq   0x00007f50e91587f3
 ;; B16: #	out( B7 ) <- in( B14 )  Freq: 0.00024975
  0x00007f50e9158974:   mov    %rdi,-0x8(%r11,%r10,1)
  0x00007f50e9158979:   add    $0xfffffffffffffff8,%r10
  0x00007f50e915897d:   mov    %r10,0x40(%r15)              ;*putstatic staticObj {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@25 (line 12)
  0x00007f50e9158981:   jmpq   0x00007f50e91587f3
 ;; B17: #	out( B23 B18 ) <- in( B1 )  Freq: 0.000100017
  0x00007f50e9158986:   movabs $0x53041200,%rsi             ;   {metadata('java/lang/Object')}
  0x00007f50e9158990:   nop
  0x00007f50e9158991:   nop
  0x00007f50e9158992:   nop
  0x00007f50e9158993:   callq  0x00007f50e9029020           ; ImmutableOopMap {}
                                                            ;*new {reexecute=0 rethrow=0 return_oop=1}
                                                            ; - RelockInDeopt::snippet2@0 (line 7)
                                                            ;   {runtime_call _new_instance_Java}
  0x00007f50e9158998:   nopl   0x508(%rax,%rax,1)           ;*new {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@0 (line 7)
                                                            ;   {other}
 ;; B18: #	out( B3 ) <- in( B17 )  Freq: 0.000100015
  0x00007f50e91589a0:   mov    %rax,%r11
  0x00007f50e91589a3:   jmpq   0x00007f50e91586d7           ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@12 (line 8)
 ;; B19: #	out( B4 ) <- in( B3 )  Freq: 1e-06
  0x00007f50e91589a8:   mov    %r11,%rsi
  0x00007f50e91589ab:   lea    0x18(%rsp),%rdx
  0x00007f50e91589b0:   mov    %r11,0x8(%rsp)
  0x00007f50e91589b5:   nop
  0x00007f50e91589b6:   nop
  0x00007f50e91589b7:   callq  0x00007f50e9125da0           ; ImmutableOopMap {[0]=Oop [8]=Oop }
                                                            ;*monitorenter {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@23 (line 11)
                                                            ;   {runtime_call _complete_monitor_locking_Java}
  0x00007f50e91589bc:   nopl   0x100052c(%rax,%rax,1)       ;   {other}
  0x00007f50e91589c4:   jmpq   0x00007f50e9158767
 ;; B20: #	out( B9 ) <- in( B8 )  Freq: 1e-06
  0x00007f50e91589c9:   mov    %r11,%rdi
  0x00007f50e91589cc:   lea    0x18(%rsp),%rsi              ;*putstatic staticObj {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@25 (line 12)
  0x00007f50e91589d1:   mov    %r15,%rdx
  0x00007f50e91589d4:   movabs $0x7f50f2626eb0,%r10
  0x00007f50e91589de:   callq  *%r10
  0x00007f50e91589e1:   nopl   0x0(%rax,%rax,1)             ;*monitorexit {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@50 (line 18)
                                                            ;   {other}
  0x00007f50e91589e9:   jmpq   0x00007f50e91588cd
 ;; B21: #	out( B5 ) <- in( B11 )  Freq: 4.99987e-07
  0x00007f50e91589ee:   mov    %r15,%rsi
  0x00007f50e91589f1:   movabs $0x7f50f1c4aa30,%r10
  0x00007f50e91589fb:   callq  *%r10
  0x00007f50e91589fe:   nopl   0x0(%rax,%rax,1)             ;   {other}
  0x00007f50e9158a06:   jmpq   0x00007f50e915877c           ;*putstatic staticObj {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@25 (line 12)
 ;; B22: #	out( N1 ) <- in( B7 )  Freq: 4.76837e-07
  0x00007f50e9158a0b:   mov    $0xffffff45,%esi
  0x00007f50e9158a10:   nop
  0x00007f50e9158a11:   nop
  0x00007f50e9158a12:   nop
  0x00007f50e9158a13:   callq  0x00007f50e911f320           ; ImmutableOopMap {[0]=Oop }
                                                            ;*if_icmplt {reexecute=1 rethrow=0 return_oop=0}
                                                            ; - (reexecute) RelockInDeopt::snippet2@42 (line 15)
                                                            ;   {runtime_call UncommonTrapBlob}
  0x00007f50e9158a18:   nopl   0x2000588(%rax,%rax,1)       ;   {other}
  0x00007f50e9158a20:   movabs $0x7f50f2c8b3a0,%rdi         ;   {external_word}
  0x00007f50e9158a2a:   and    $0xfffffffffffffff0,%rsp
  0x00007f50e9158a2e:   callq  0x00007f50f22fb4e0           ;   {runtime_call MacroAssembler::debug64(char*, long, long*)}
  0x00007f50e9158a33:   hlt                                 ;*new {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@0 (line 7)
 ;; B23: #	out( N1 ) <- in( B17 )  Freq: 1.00017e-09
  0x00007f50e9158a34:   mov    %rax,%rsi
  0x00007f50e9158a37:   add    $0x30,%rsp
  0x00007f50e9158a3b:   pop    %rbp
  0x00007f50e9158a3c:   jmpq   0x00007f50e9122ca0           ;*putstatic staticObj {reexecute=0 rethrow=0 return_oop=0}
                                                            ; - RelockInDeopt::snippet2@25 (line 12)
                                                            ;   {runtime_call _rethrow_Java}
  0x00007f50e9158a41:   movabs $0x7f50e91588d2,%r10         ;   {internal_word}
  0x00007f50e9158a4b:   mov    %r10,0x4b0(%r15)
  0x00007f50e9158a52:   jmpq   0x00007f50e911e4a0           ;   {runtime_call SafepointBlob}
  0x00007f50e9158a57:   mov    %r15,0x3e(%r10)
  0x00007f50e9158a5b:   subl   $0x8,0x730(%r15)
  0x00007f50e9158a63:   mov    0x730(%r15),%eax
  0x00007f50e9158a6a:   movq   $0x0,(%r15,%rax,1)
  0x00007f50e9158a72:   jmpq   0x00007f50e9158828
  0x00007f50e9158a77:   callq  Stub::nmethod_entry_barrier  ;   {runtime_call StubRoutines (final stubs)}
  0x00007f50e9158a7c:   jmpq   0x00007f50e915869a
  0x00007f50e9158a81:   hlt    
  0x00007f50e9158a82:   hlt    
  0x00007f50e9158a83:   hlt    
  0x00007f50e9158a84:   hlt    
  0x00007f50e9158a85:   hlt    
  0x00007f50e9158a86:   hlt    
  0x00007f50e9158a87:   hlt    
[Exception Handler]
  0x00007f50e9158a88:   jmpq   0x00007f50e907a920           ;   {no_reloc}
[Deopt Handler Code]
  0x00007f50e9158a8d:   callq  0x00007f50e9158a92
  0x00007f50e9158a92:   subq   $0x5,(%rsp)
  0x00007f50e9158a97:   jmpq   0x00007f50e911d340           ;   {runtime_call DeoptimizationBlob}
  0x00007f50e9158a9c:   hlt    
  0x00007f50e9158a9d:   hlt    
  0x00007f50e9158a9e:   hlt    
  0x00007f50e9158a9f:   hlt    
--------------------------------------------------------------------------------
[/Disassembly]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Oops:
  0x00007f50e9158aa0:   0x000000011f0007e0 a 'java/lang/Class'{0x000000011f0007e0} = 'java/lang/Object'
  0x00007f50e9158aa8:   0x000000011f8210f8 a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x000000011f8210f8}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Metadata:
  0x00007f50e9158ab0:   0x0000000053041200 'java/lang/Object'
  0x00007f50e9158ab8:   0x00007f50a0603318 {method} {0x00007f50a0603318} 'snippet2' '()V' in 'RelockInDeopt'
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
pc-bytecode offsets:
PcDesc(pc=0x00007f50e915867f offset=ffffffff bits=0):
PcDesc(pc=0x00007f50e91586b5 offset=35 bits=0):
   RelockInDeopt::snippet2@25 (line 12)
PcDesc(pc=0x00007f50e91586d7 offset=57 bits=0):
   RelockInDeopt::snippet2@0 (line 7)
PcDesc(pc=0x00007f50e9158767 offset=e7 bits=0):
   RelockInDeopt::snippet2@23 (line 11)
PcDesc(pc=0x00007f50e91587f3 offset=173 bits=0):
   RelockInDeopt::snippet2@25 (line 12)
PcDesc(pc=0x00007f50e91587f8 offset=178 bits=0):
   RelockInDeopt::snippet2@32 (line 13)
PcDesc(pc=0x00007f50e91587fb offset=17b bits=0):
   RelockInDeopt::snippet2@33 (line 13)
PcDesc(pc=0x00007f50e9158807 offset=187 bits=0):
   RelockInDeopt::snippet2@50 (line 18)
PcDesc(pc=0x00007f50e915880c offset=18c bits=0):
   RelockInDeopt::snippet2@23 (line 11)
PcDesc(pc=0x00007f50e9158981 offset=301 bits=0):
   RelockInDeopt::snippet2@25 (line 12)
PcDesc(pc=0x00007f50e9158998 offset=318 bits=4):
   RelockInDeopt::snippet2@0 (line 7)
   Locals
    - l0: empty
    - l1: empty
    - l2: empty
    - l3: empty
    - l4: empty
    - l5: empty
PcDesc(pc=0x00007f50e91589a0 offset=320 bits=0):
   RelockInDeopt::snippet2@0 (line 7)
PcDesc(pc=0x00007f50e91589a8 offset=328 bits=0):
   RelockInDeopt::snippet2@12 (line 8)
PcDesc(pc=0x00007f50e91589bc offset=33c bits=0):
   RelockInDeopt::snippet2@23 (line 11)
   Locals
    - l0: stack[8],oop
    - l1: empty
    - l2: obj[101]
    - l3: stack[0],oop
    - l4: empty
    - l5: empty
   Monitor stack
    - @0: monitor{obj[101],stack[16]} (eliminated)
    - @1: monitor{stack[0],oop,stack[24]}
   Objects
    - 0: R obj[101], java.lang.Object
        Fields: 
PcDesc(pc=0x00007f50e91589d1 offset=351 bits=0):
   RelockInDeopt::snippet2@25 (line 12)
PcDesc(pc=0x00007f50e91589e9 offset=369 bits=0):
   RelockInDeopt::snippet2@50 (line 18)
PcDesc(pc=0x00007f50e9158a0b offset=38b bits=0):
   RelockInDeopt::snippet2@25 (line 12)
PcDesc(pc=0x00007f50e9158a18 offset=398 bits=1):
   RelockInDeopt::snippet2@42 (line 15)  reexecute=true
   Locals
    - l0: empty
    - l1: empty
    - l2: obj[166]
    - l3: stack[0],oop
    - l4: empty
    - l5: empty
   Expression stack
    - @0: reg rbp [10],int
    - @1: 9999
   Monitor stack
    - @0: monitor{obj[166],stack[16]} (eliminated)
    - @1: monitor{stack[0],oop,stack[24]}
   Objects
    - 0: R obj[166], java.lang.Object
        Fields: 
PcDesc(pc=0x00007f50e9158a34 offset=3b4 bits=0):
   RelockInDeopt::snippet2@0 (line 7)
PcDesc(pc=0x00007f50e9158a41 offset=3c1 bits=0):
   RelockInDeopt::snippet2@25 (line 12)
PcDesc(pc=0x00007f50e9158aa1 offset=421 bits=0):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
oop maps:ImmutableOopMapSet contains 3 OopMaps

ImmutableOopMap {} pc offsets: 792 
ImmutableOopMap {[0]=Oop [8]=Oop } pc offsets: 828 
ImmutableOopMap {[0]=Oop } pc offsets: 920 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
scopes:
ScopeDesc(pc=0x00007f50e91586b5 offset=35):
   RelockInDeopt::snippet2@25 (line 12)
ScopeDesc(pc=0x00007f50e91586d7 offset=57):
   RelockInDeopt::snippet2@0 (line 7)
ScopeDesc(pc=0x00007f50e9158767 offset=e7):
   RelockInDeopt::snippet2@23 (line 11)
ScopeDesc(pc=0x00007f50e91587f3 offset=173):
   RelockInDeopt::snippet2@25 (line 12)
ScopeDesc(pc=0x00007f50e91587f8 offset=178):
   RelockInDeopt::snippet2@32 (line 13)
ScopeDesc(pc=0x00007f50e91587fb offset=17b):
   RelockInDeopt::snippet2@33 (line 13)
ScopeDesc(pc=0x00007f50e9158807 offset=187):
   RelockInDeopt::snippet2@50 (line 18)
ScopeDesc(pc=0x00007f50e915880c offset=18c):
   RelockInDeopt::snippet2@23 (line 11)
ScopeDesc(pc=0x00007f50e9158981 offset=301):
   RelockInDeopt::snippet2@25 (line 12)
ScopeDesc(pc=0x00007f50e9158998 offset=318):
   RelockInDeopt::snippet2@0 (line 7)
   Locals
    - l0: empty
    - l1: empty
    - l2: empty
    - l3: empty
    - l4: empty
    - l5: empty
ScopeDesc(pc=0x00007f50e91589a0 offset=320):
   RelockInDeopt::snippet2@0 (line 7)
ScopeDesc(pc=0x00007f50e91589a8 offset=328):
   RelockInDeopt::snippet2@12 (line 8)
ScopeDesc(pc=0x00007f50e91589bc offset=33c):
   RelockInDeopt::snippet2@23 (line 11)
   Locals
    - l0: stack[8],oop
    - l1: empty
    - l2: obj[101]
    - l3: stack[0],oop
    - l4: empty
    - l5: empty
   Monitor stack
    - @0: monitor{obj[101],stack[16]} (eliminated)
    - @1: monitor{stack[0],oop,stack[24]}
   Objects
    - 0: R obj[101], java.lang.Object
        Fields: 
ScopeDesc(pc=0x00007f50e91589d1 offset=351):
   RelockInDeopt::snippet2@25 (line 12)
ScopeDesc(pc=0x00007f50e91589e9 offset=369):
   RelockInDeopt::snippet2@50 (line 18)
ScopeDesc(pc=0x00007f50e9158a0b offset=38b):
   RelockInDeopt::snippet2@25 (line 12)
ScopeDesc(pc=0x00007f50e9158a18 offset=398):
   RelockInDeopt::snippet2@42 (line 15)  reexecute=true
   Locals
    - l0: empty
    - l1: empty
    - l2: obj[166]
    - l3: stack[0],oop
    - l4: empty
    - l5: empty
   Expression stack
    - @0: reg rbp [10],int
    - @1: 9999
   Monitor stack
    - @0: monitor{obj[166],stack[16]} (eliminated)
    - @1: monitor{stack[0],oop,stack[24]}
   Objects
    - 0: R obj[166], java.lang.Object
        Fields: 
ScopeDesc(pc=0x00007f50e9158a34 offset=3b4):
   RelockInDeopt::snippet2@0 (line 7)
ScopeDesc(pc=0x00007f50e9158a41 offset=3c1):
   RelockInDeopt::snippet2@25 (line 12)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
relocations:
         @0x00007f50e9158600: 7801634b
relocInfo@0x00007f50e9158602 [type=12(metadata) addr=0x00007f50e91586cb offset=75 format=3 data=1] | [metadata_addr=0x00007f50e9158ab0 *=0x0000000053041200 offset=0]metadata_value=0x0000000053041200: 'java/lang/Object'
         @0x00007f50e9158604: 089c
relocInfo@0x00007f50e9158604 [type=1(oop) addr=0x00007f50e9158767 offset=156] | [oop_addr=0x00007f50e9158769 *=0x000000011f922cf0 offset=0]
         @0x00007f50e9158606: 7c03f3177fe07f50391c
relocInfo@0x00007f50e915860e [type=7(external_word) addr=0x00007f50e9158783 offset=28 format=1 data={f3177fe07f50}] | [target=0x00007f50f3177fe0]
         @0x00007f50e9158610: 7c03f2cf0a707f50380d
relocInfo@0x00007f50e9158618 [type=7(external_word) addr=0x00007f50e9158790 offset=13 data={f2cf0a707f50}] | [target=0x00007f50f2cf0a70]
         @0x00007f50e915861a: 310e
relocInfo@0x00007f50e915861a [type=6(runtime_call) addr=0x00007f50e915879e offset=14 format=1] | [destination=0x00007f50f22fb4e0]
         @0x00007f50e915861c: 7c03f2cf0ab07f50380f
relocInfo@0x00007f50e9158624 [type=7(external_word) addr=0x00007f50e91587ad offset=15 data={f2cf0ab07f50}] | [target=0x00007f50f2cf0ab0]
         @0x00007f50e9158626: 310e
relocInfo@0x00007f50e9158626 [type=6(runtime_call) addr=0x00007f50e91587bb offset=14 format=1] | [destination=0x00007f50f22fb4e0]
         @0x00007f50e9158628: 00ff
relocInfo@0x00007f50e9158628 [type=0(none) addr=0x00007f50e91588ba offset=255]
         @0x00007f50e915862a: 5818
relocInfo@0x00007f50e915862a [type=11(poll_return) addr=0x00007f50e91588d2 offset=24]
         @0x00007f50e915862c: 7c03f3177fe07f503922
relocInfo@0x00007f50e9158634 [type=7(external_word) addr=0x00007f50e91588f4 offset=34 format=1 data={f3177fe07f50}] | [target=0x00007f50f3177fe0]
         @0x00007f50e9158636: 7c03f2cf0b207f50380d
relocInfo@0x00007f50e915863e [type=7(external_word) addr=0x00007f50e9158901 offset=13 data={f2cf0b207f50}] | [target=0x00007f50f2cf0b20]
         @0x00007f50e9158640: 310e
relocInfo@0x00007f50e9158640 [type=6(runtime_call) addr=0x00007f50e915890f offset=14 format=1] | [destination=0x00007f50f22fb4e0]
         @0x00007f50e9158642: 8058
relocInfo@0x00007f50e9158642 [type=16(post_call_nop) addr=0x00007f50e9158967 offset=88]
         @0x00007f50e9158644: 601f
relocInfo@0x00007f50e9158644 [type=12(metadata) addr=0x00007f50e9158986 offset=31] | [metadata_addr=0x00007f50e9158988 *=0x0000000053041200 offset=0]metadata_value=0x0000000053041200: 'java/lang/Object'
         @0x00007f50e9158646: 310d
relocInfo@0x00007f50e9158646 [type=6(runtime_call) addr=0x00007f50e9158993 offset=13 format=1] | [destination=0x00007f50e9029020]
         @0x00007f50e9158648: 8005
relocInfo@0x00007f50e9158648 [type=16(post_call_nop) addr=0x00007f50e9158998 offset=5]
         @0x00007f50e915864a: 311f
relocInfo@0x00007f50e915864a [type=6(runtime_call) addr=0x00007f50e91589b7 offset=31 format=1] | [destination=0x00007f50e9125da0]
         @0x00007f50e915864c: 8005
relocInfo@0x00007f50e915864c [type=16(post_call_nop) addr=0x00007f50e91589bc offset=5]
         @0x00007f50e915864e: 8025
relocInfo@0x00007f50e915864e [type=16(post_call_nop) addr=0x00007f50e91589e1 offset=37]
         @0x00007f50e9158650: 801d
relocInfo@0x00007f50e9158650 [type=16(post_call_nop) addr=0x00007f50e91589fe offset=29]
         @0x00007f50e9158652: 3115
relocInfo@0x00007f50e9158652 [type=6(runtime_call) addr=0x00007f50e9158a13 offset=21 format=1] | [destination=0x00007f50e911f320]
         @0x00007f50e9158654: 8005
relocInfo@0x00007f50e9158654 [type=16(post_call_nop) addr=0x00007f50e9158a18 offset=5]
         @0x00007f50e9158656: 7c03f2c8b3a07f503808
relocInfo@0x00007f50e915865e [type=7(external_word) addr=0x00007f50e9158a20 offset=8 data={f2c8b3a07f50}] | [target=0x00007f50f2c8b3a0]
         @0x00007f50e9158660: 310e
relocInfo@0x00007f50e9158660 [type=6(runtime_call) addr=0x00007f50e9158a2e offset=14 format=1] | [destination=0x00007f50f22fb4e0]
         @0x00007f50e9158662: 310e
relocInfo@0x00007f50e9158662 [type=6(runtime_call) addr=0x00007f50e9158a3c offset=14 format=1] | [destination=0x00007f50e9122ca0]
         @0x00007f50e9158664: 796f4005
relocInfo@0x00007f50e9158666 [type=8(internal_word) addr=0x00007f50e9158a41 offset=5 data=367] | [target=0x00007f50e91588d2]
         @0x00007f50e9158668: 3111
relocInfo@0x00007f50e9158668 [type=6(runtime_call) addr=0x00007f50e9158a52 offset=17 format=1] | [destination=0x00007f50e911e4a0]
         @0x00007f50e915866a: 3125
relocInfo@0x00007f50e915866a [type=6(runtime_call) addr=0x00007f50e9158a77 offset=37 format=1] | [destination=0x00007f50e907c7e0]
         @0x00007f50e915866c: 0011
relocInfo@0x00007f50e915866c [type=0(none) addr=0x00007f50e9158a88 offset=17]
         @0x00007f50e915866e: 3100
relocInfo@0x00007f50e915866e [type=6(runtime_call) addr=0x00007f50e9158a88 offset=0 format=1] | [destination=0x00007f50e907a920]
         @0x00007f50e9158670: 310f
relocInfo@0x00007f50e9158670 [type=6(runtime_call) addr=0x00007f50e9158a97 offset=15 format=1] | [destination=0x00007f50e911d340]
         @0x00007f50e9158672: 0000
relocInfo@0x00007f50e9158672 [type=0(none) addr=0x00007f50e9158a97 offset=0]
         @0x00007f50e9158674: 0000
relocInfo@0x00007f50e9158674 [type=0(none) addr=0x00007f50e9158a97 offset=0]
         @0x00007f50e9158676: 0000
relocInfo@0x00007f50e9158676 [type=0(none) addr=0x00007f50e9158a97 offset=0]
         @0x00007f50e9158678: 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Dependencies:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
ExceptionHandlerTable (size = 24 bytes)
catch_pco = 792 (pc=0x00007f50e9158998, 1 entries)
  bci -1 at scope depth 0 -> pco 948 (pc=0x00007f50e9158a34)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
ImplicitExceptionTable is empty
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Recorded oops:
#0: 0x0000000000000000 nullptr-oop
#1: 0x000000011f0007e0 a 'java/lang/Class'{0x000000011f0007e0} = 'java/lang/Object'
#2: 0x000000011f8210f8 a 'jdk/internal/loader/ClassLoaders$AppClassLoader'{0x000000011f8210f8}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Recorded metadata:
#0: 0x0000000000000000 nullptr-oop
#1: 0x0000000053041200 'java/lang/Object'
#2: 0x00007f50a0603318 {method} {0x00007f50a0603318} 'snippet2' '()V' in 'RelockInDeopt'
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
UNCOMMON TRAP method=RelockInDeopt.snippet2()V  bci=42 pc=0x00007f50e9158a18, relative_pc=0x0000000000000398, debug_id=0 compiler=c2 compile_id=24 (@0x00007f50e9158a18) thread=52022 reason=unstable_if action=reinterpret unloaded_class_index=-1 debug_id=0
733   24   !         RelockInDeopt::snippet2 (74 bytes)   made not entrant
reassign fields for object of type java/lang/Object!
REALLOC OBJECTS in thread 0x00007f50ec02aee0
     object <0x000000011f964c00> of type 'java/lang/Object' allocated (16 bytes)
RELOCK OBJECTS in thread 0x00007f50ec02aee0
     object <0x000000011f964c00> locked
DEOPT PACKING thread=0x00007f50ec02aee0 vframeArray=0x00007f50ec553c20
   Compiled frame (sp=0x00007f50f3e33910 unextended sp=0x00007f50f3e33910, fp=0x000000000000270f, real_fp=0x00007f50f3e33950, pc=0x00007f50e9158a18)
     nmethod734   24   !         RelockInDeopt::snippet2 (74 bytes)
   Virtual frames (innermost/newest first):
      VFrame 0 (0x00007f508009dcd0) - RelockInDeopt.snippet2()V - if_icmplt @ bci=42 

DEOPT UNPACKING thread=0x00007f50ec02aee0 vframeArray=0x00007f50ec553c20 mode=2
   Virtual frames (outermost/oldest first):
      VFrame 0 (0x00007f50ec554f00) - RelockInDeopt.snippet2()V - if_icmplt @ bci=42 sp=0x00007f50f3e33898
Expressions size: 2
 - Reconstructed expression 0 (INT): 9999
 - Reconstructed expression 1 (INT): 9999
Locals size: 6
 - Reconstructed local 2 (OBJECT): java/lang/Object
 - Reconstructed local 3 (OBJECT): java/lang/Object
[1. Interpreted Frame]
Interpreted frame (sp=0x00007f50f3e33898 unextended sp=0x00007f50f3e33898, fp=0x00007f50f3e33910, real_fp=0x00007f50f3e33910, pc=0x00007f50e9024ac0)
~deoptimization entry points  [0x00007f50e9024ac0, 0x00007f50e90280d8]  13848 bytes
     BufferBlob (0x00007f50e9007a90) used for Interpreter
 - local  [0x0000000000000000]; #0
 - local  [0x0000000000000000]; #1
 - local  [0x000000011f964c00]; #2
 - local  [0x000000011f964bf0]; #3
 - local  [0x0000000000000000]; #4
 - local  [0x0000000000000000]; #5
 - stack  [0xdeaddeaf0000270f]; #1
 - stack  [0xdeaddeaf0000270f]; #0
 - obj    [a 'java/lang/Object'{0x000000011f964bf0}]
 - lock   [monitor locked(0x00000000de0bd000)]
 - obj    [a 'java/lang/Object'{0x000000011f964c00}]
 - lock   [monitor locked(0x00000000de0bd000)]
 - monitor[0x00007f50f3e338c8]
 - bcp    [0x00007f50a06032ca]; @42
 - locals [0x00007f50f3e33948]
 - method [0x00007f50a0603318]; static void RelockInDeopt.snippet2()
	{method} {0x00007f50a0603318} 'snippet2' '()V' in 'RelockInDeopt'
	bci:    42
	locals:
	   0 null <0x0000000000000000>
	   1 null <0x0000000000000000>
	   2 a 'java/lang/Object'{0x000000011f964c00} <0x000000011f964c00>
	   3 a 'java/lang/Object'{0x000000011f964bf0} <0x000000011f964bf0>
	   4 0 (int) 0.000000 (float) 0 (hex)  0 (long)
	     0.000000000000000e+00 (double)  0x0000000000000000 (longhex)
	   5 0 (int) 0.000000 (float) 0 (hex)
	expressions:
	   0 9999 (int) 0.000000 (float) 270f (hex)  -2401018183117953265 (long)
	     -1.193551171177127e+148 (double)  0xdeaddeaf0000270f (longhex)
	   1 9999 (int) 0.000000 (float) 270f (hex)
	monitor list:
	  obj	a 'java/lang/Object'{0x000000011f964bf0}(owner=0x000000011f964bf0)
	  monitor locked(0x00000000de0bd000)
	  obj	a 'java/lang/Object'{0x000000011f964c00}(owner=0x000000011f964c00)
	  monitor locked(0x00000000de0bd000)

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