Skip to content

Instantly share code, notes, and snippets.

@vaskoz
Created July 15, 2013 03:39
Show Gist options
  • Save vaskoz/5997340 to your computer and use it in GitHub Desktop.
Save vaskoz/5997340 to your computer and use it in GitHub Desktop.
Nested for loops (N^2) where N is Integer.MAX_VALUE. javap -c Output of bytecode produced by javac compiler below that is the output produced by the PrintAssembly (hsdis) plugin.
public class For {
public static void main(String[] args) {
char x = 'a';
for (int i = 0; i < Integer.MAX_VALUE; i++)
for (int j = 0; j < Integer.MAX_VALUE; j++)
x = 'b';
}
}
//***************************************************************************************
// javap -c For
//Compiled from "For.java"
//public class For {
// public For();
// Code:
// 0: aload_0
// 1: invokespecial #1 // Method java/lang/Object."<init>":()V
// 4: return
//
// public static void main(java.lang.String[]);
// Code:
// 0: bipush 97
// 2: istore_1
// 3: iconst_0
// 4: istore_2
// 5: iload_2
// 6: ldc #3 // int 2147483647
// 8: if_icmpge 34
// 11: iconst_0
// 12: istore_3
// 13: iload_3
// 14: ldc #3 // int 2147483647
// 16: if_icmpge 28
// 19: bipush 98
// 21: istore_1
// 22: iinc 3, 1
// 25: goto 13
// 28: iinc 2, 1
// 31: goto 5
// 34: return
//}
//***************************************************************************************
//Loaded disassembler from /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/jre/lib/hsdis-amd64.dylib
//Decoding compiled method 0x000000010d7f1610:
//Code:
//[Disassembling for mach='i386:x86-64']
//[Entry Point]
//[Constants]
// # {method}
// {0x000000010cf96410} 'hashCode' '()I' in 'java/lang/String'
// # [sp+0x30] (sp of caller)
// 0x000000010d7f1760: mov 0x8(%rsi),%r10d
// 0x000000010d7f1764: shl $0x3,%r10
// 0x000000010d7f1768: cmp %r10,%rax
// 0x000000010d7f176b: jne 0x000000010d7c8960 ; {runtime_call}
// 0x000000010d7f1771: data32 xchg %ax,%ax
// 0x000000010d7f1774: nopl 0x0(%rax,%rax,1)
// 0x000000010d7f177c: data32 data32 xchg %ax,%ax
//[Verified Entry Point]
// 0x000000010d7f1780: mov %eax,-0x14000(%rsp)
// 0x000000010d7f1787: push %rbp
// 0x000000010d7f1788: sub $0x20,%rsp ;*synchronization entry
// ; - java.lang.String::hashCode@-1 (line 1458)
//
// 0x000000010d7f178c: mov %rsi,%rbx
// 0x000000010d7f178f: mov 0x10(%rsi),%eax ;*getfield hash
// ; - java.lang.String::hashCode@1 (line 1458)
//
// 0x000000010d7f1792: test %eax,%eax
// 0x000000010d7f1794: jne 0x000000010d7f1885 ;*ifne
// ; - java.lang.String::hashCode@6 (line 1459)
//
// 0x000000010d7f179a: mov 0xc(%rsi),%ebp ;*getfield value
// ; - java.lang.String::hashCode@10 (line 1459)
//
// 0x000000010d7f179d: mov 0xc(%r12,%rbp,8),%r10d ;*arraylength
// ; - java.lang.String::hashCode@13 (line 1459)
// ; implicit exception: dispatches to 0x000000010d7f18a9
// 0x000000010d7f17a2: xor %r8d,%r8d
// 0x000000010d7f17a5: test %r10d,%r10d
// 0x000000010d7f17a8: jle 0x000000010d7f1891 ;*ifle
// ; - java.lang.String::hashCode@14 (line 1459)
//
// 0x000000010d7f17ae: test %r10d,%r10d
// 0x000000010d7f17b1: jbe 0x000000010d7f1895
// 0x000000010d7f17b7: mov %r10d,%edi
// 0x000000010d7f17ba: dec %edi
// 0x000000010d7f17bc: cmp %r10d,%edi
// 0x000000010d7f17bf: jae 0x000000010d7f1895
// 0x000000010d7f17c5: lea (%r12,%rbp,8),%rdx
// 0x000000010d7f17c9: xor %ebp,%ebp ;*imul
// ; - java.lang.String::hashCode@36 (line 1463)
//
// 0x000000010d7f17cb: movzwl 0x10(%rdx,%r8,2),%r11d
// 0x000000010d7f17d1: add %r11d,%ebp ;*iadd
// ; - java.lang.String::hashCode@40 (line 1463)
//
// 0x000000010d7f17d4: mov %ebp,%r11d
// 0x000000010d7f17d7: shl $0x5,%r11d
// 0x000000010d7f17db: mov %r11d,%eax
// 0x000000010d7f17de: sub %ebp,%eax ;*imul
// ; - java.lang.String::hashCode@36 (line 1463)
//
// 0x000000010d7f17e0: inc %r8d ;*iinc
// ; - java.lang.String::hashCode@42 (line 1462)
//
// 0x000000010d7f17e3: cmp $0x1,%r8d
// 0x000000010d7f17e7: jge 0x000000010d7f17ed ;*if_icmpge
// ; - java.lang.String::hashCode@30 (line 1462)
//
// 0x000000010d7f17e9: mov %eax,%ebp
// 0x000000010d7f17eb: jmp 0x000000010d7f17cb
// 0x000000010d7f17ed: mov %r10d,%ecx
// 0x000000010d7f17f0: add $0xfffffffd,%ecx
// 0x000000010d7f17f3: mov $0x80000000,%r9d
// 0x000000010d7f17f9: cmp %ecx,%edi
// 0x000000010d7f17fb: cmovl %r9d,%ecx
// 0x000000010d7f17ff: cmp %ecx,%r8d
// 0x000000010d7f1802: jl 0x000000010d7f1832
// 0x000000010d7f1804: mov %r11d,%eax
// 0x000000010d7f1807: jmp 0x000000010d7f187b
// 0x000000010d7f1809: mov %eax,%r9d
// 0x000000010d7f180c: shl $0x5,%r9d ;*imul
// ; - java.lang.String::hashCode@36 (line 1463)
//
// 0x000000010d7f1810: mov %eax,%ebp
// 0x000000010d7f1812: mov %r9d,%eax ;*bipush
// ; - java.lang.String::hashCode@33 (line 1463)
//
// 0x000000010d7f1815: movzwl 0x10(%rdx,%r8,2),%r11d
// 0x000000010d7f181b: sub %ebp,%eax
// 0x000000010d7f181d: add %r11d,%eax ;*iadd
// ; - java.lang.String::hashCode@40 (line 1463)
//
// 0x000000010d7f1820: inc %r8d ;*iinc
// ; - java.lang.String::hashCode@42 (line 1462)
//
// 0x000000010d7f1823: cmp %r10d,%r8d
// 0x000000010d7f1826: jl 0x000000010d7f1809 ;*if_icmpge
// ; - java.lang.String::hashCode@30 (line 1462)
//
// 0x000000010d7f1828: jmp 0x000000010d7f1882
// 0x000000010d7f182a: nopw 0x0(%rax,%rax,1)
// 0x000000010d7f1830: sub %ebp,%eax ;*imul
// ; - java.lang.String::hashCode@36 (line 1463)
//
// 0x000000010d7f1832: movzwl 0x10(%rdx,%r8,2),%r11d
// 0x000000010d7f1838: add %r11d,%eax
// 0x000000010d7f183b: movslq %r8d,%r11
// 0x000000010d7f183e: movzwl 0x12(%rdx,%r11,2),%esi
// 0x000000010d7f1844: movzwl 0x16(%rdx,%r11,2),%r9d
// 0x000000010d7f184a: movzwl 0x14(%rdx,%r11,2),%r11d
// 0x000000010d7f1850: mov %eax,%edi
// 0x000000010d7f1852: shl $0x5,%edi
// 0x000000010d7f1855: sub %eax,%edi
// 0x000000010d7f1857: add %esi,%edi
// 0x000000010d7f1859: mov %edi,%esi
// 0x000000010d7f185b: shl $0x5,%esi
// 0x000000010d7f185e: sub %edi,%esi
// 0x000000010d7f1860: add %r11d,%esi
// 0x000000010d7f1863: mov %esi,%ebp
// 0x000000010d7f1865: shl $0x5,%ebp
// 0x000000010d7f1868: sub %esi,%ebp
// 0x000000010d7f186a: add %r9d,%ebp ;*iadd
// ; - java.lang.String::hashCode@40 (line 1463)
//
// 0x000000010d7f186d: mov %ebp,%eax
// 0x000000010d7f186f: shl $0x5,%eax ;*imul
// ; - java.lang.String::hashCode@36 (line 1463)
//
// 0x000000010d7f1872: add $0x4,%r8d ;*iinc
// ; - java.lang.String::hashCode@42 (line 1462)
//
// 0x000000010d7f1876: cmp %ecx,%r8d
// 0x000000010d7f1879: jl 0x000000010d7f1830 ;*if_icmpge
// ; - java.lang.String::hashCode@30 (line 1462)
//
// 0x000000010d7f187b: cmp %r10d,%r8d
// 0x000000010d7f187e: jl 0x000000010d7f1815
// 0x000000010d7f1880: mov %ebp,%eax
// 0x000000010d7f1882: mov %eax,0x10(%rbx) ;*synchronization entry
// ; - java.lang.String::hashCode@-1 (line 1458)
//
// 0x000000010d7f1885: add $0x20,%rsp
// 0x000000010d7f1889: pop %rbp
// 0x000000010d7f188a: test %eax,-0x8f6890(%rip) # 0x000000010cefb000
// ; {poll_return}
// 0x000000010d7f1890: retq
// 0x000000010d7f1891: xor %eax,%eax
// 0x000000010d7f1893: jmp 0x000000010d7f1885
// 0x000000010d7f1895: mov $0xffffff86,%esi
// 0x000000010d7f189a: mov %rbx,(%rsp)
// 0x000000010d7f189e: nop
// 0x000000010d7f189f: callq 0x000000010d7c9f20 ; OopMap{rbp=NarrowOop [0]=Oop off=324}
// ;*bipush
// ; - java.lang.String::hashCode@33 (line 1463)
// ; {runtime_call}
// 0x000000010d7f18a4: callq 0x000000010c750154 ;*bipush
// ; - java.lang.String::hashCode@33 (line 1463)
// ; {runtime_call}
// 0x000000010d7f18a9: mov $0xfffffff6,%esi
// 0x000000010d7f18ae: nop
// 0x000000010d7f18af: callq 0x000000010d7c9f20 ; OopMap{off=340}
// ;*arraylength
// ; - java.lang.String::hashCode@13 (line 1459)
// ; {runtime_call}
// 0x000000010d7f18b4: callq 0x000000010c750154 ;*arraylength
// ; - java.lang.String::hashCode@13 (line 1459)
// ; {runtime_call}
// 0x000000010d7f18b9: hlt
// 0x000000010d7f18ba: hlt
// 0x000000010d7f18bb: hlt
// 0x000000010d7f18bc: hlt
// 0x000000010d7f18bd: hlt
// 0x000000010d7f18be: hlt
// 0x000000010d7f18bf: hlt
//[Exception Handler]
//[Stub Code]
// 0x000000010d7f18c0: jmpq 0x000000010d7f09a0 ; {no_reloc}
//[Deopt Handler Code]
// 0x000000010d7f18c5: callq 0x000000010d7f18ca
// 0x000000010d7f18ca: subq $0x5,(%rsp)
// 0x000000010d7f18cf: jmpq 0x000000010d7c9b00 ; {runtime_call}
// 0x000000010d7f18d4: hlt
// 0x000000010d7f18d5: hlt
// 0x000000010d7f18d6: hlt
// 0x000000010d7f18d7: hlt
//Decoding compiled method 0x000000010d7f0fd0:
//Code:
//[Entry Point]
//[Constants]
// # {method}
// {0x000000010cf965a0} 'indexOf' '(II)I' in 'java/lang/String'
// # this: rsi:rsi = 'java/lang/String'
// # parm0: rdx = int
// # parm1: rcx = int
// # [sp+0x30] (sp of caller)
// 0x000000010d7f1120: mov 0x8(%rsi),%r10d
// 0x000000010d7f1124: shl $0x3,%r10
// 0x000000010d7f1128: cmp %r10,%rax
// 0x000000010d7f112b: jne 0x000000010d7c8960 ; {runtime_call}
// 0x000000010d7f1131: data32 xchg %ax,%ax
// 0x000000010d7f1134: nopl 0x0(%rax,%rax,1)
// 0x000000010d7f113c: data32 data32 xchg %ax,%ax
//[Verified Entry Point]
// 0x000000010d7f1140: mov %eax,-0x14000(%rsp)
// 0x000000010d7f1147: push %rbp
// 0x000000010d7f1148: sub $0x20,%rsp ;*synchronization entry
// ; - java.lang.String::indexOf@-1 (line 1538)
//
// 0x000000010d7f114c: mov 0xc(%rsi),%r8d ;*getfield value
// ; - java.lang.String::indexOf@1 (line 1538)
//
// 0x000000010d7f1150: mov 0xc(%r12,%r8,8),%ebp ;*arraylength
// ; - java.lang.String::indexOf@4 (line 1538)
// ; implicit exception: dispatches to 0x000000010d7f1266
// 0x000000010d7f1155: mov $0xffffffff,%eax
// 0x000000010d7f115a: test %ecx,%ecx
// 0x000000010d7f115c: jl 0x000000010d7f1255 ;*ifge
// ; - java.lang.String::indexOf@7 (line 1539)
//
// 0x000000010d7f1162: cmp %ebp,%ecx
// 0x000000010d7f1164: jge 0x000000010d7f121d ;*if_icmplt
// ; - java.lang.String::indexOf@17 (line 1541)
//
// 0x000000010d7f116a: cmp $0x10000,%edx
// 0x000000010d7f1170: jge 0x000000010d7f125c ;*if_icmpge
// ; - java.lang.String::indexOf@25 (line 1546)
//
// 0x000000010d7f1176: cmp %ebp,%ecx
// 0x000000010d7f1178: jge 0x000000010d7f121d ;*if_icmpge
// ; - java.lang.String::indexOf@40 (line 1550)
//
// 0x000000010d7f117e: cmp %ebp,%ecx
// 0x000000010d7f1180: jae 0x000000010d7f1237
// 0x000000010d7f1186: mov %ebp,%r10d
// 0x000000010d7f1189: dec %r10d
// 0x000000010d7f118c: cmp %ebp,%r10d
// 0x000000010d7f118f: jae 0x000000010d7f1237
// 0x000000010d7f1195: lea (%r12,%r8,8),%r9
// 0x000000010d7f1199: mov %ecx,%r11d
// 0x000000010d7f119c: inc %r11d ;*aload
// ; - java.lang.String::indexOf@43 (line 1551)
//
// 0x000000010d7f119f: movzwl 0x10(%r9,%rcx,2),%r8d ;*caload
// ; - java.lang.String::indexOf@47 (line 1551)
//
// 0x000000010d7f11a5: cmp %edx,%r8d
// 0x000000010d7f11a8: je 0x000000010d7f1233 ;*if_icmpne
// ; - java.lang.String::indexOf@49 (line 1551)
//
// 0x000000010d7f11ae: inc %ecx ;*iinc
// ; - java.lang.String::indexOf@55 (line 1550)
//
// 0x000000010d7f11b0: cmp %r11d,%ecx
// 0x000000010d7f11b3: jl 0x000000010d7f119f ;*if_icmpge
// ; - java.lang.String::indexOf@40 (line 1550)
//
// 0x000000010d7f11b5: mov %ebp,%r11d
// 0x000000010d7f11b8: add $0xfffffffd,%r11d
// 0x000000010d7f11bc: mov $0x80000000,%r8d
// 0x000000010d7f11c2: cmp %r11d,%r10d
// 0x000000010d7f11c5: cmovl %r8d,%r11d
// 0x000000010d7f11c9: cmp %r11d,%ecx
// 0x000000010d7f11cc: jge 0x000000010d7f1205
// 0x000000010d7f11ce: xchg %ax,%ax ;*aload
// ; - java.lang.String::indexOf@43 (line 1551)
//
// 0x000000010d7f11d0: movzwl 0x10(%r9,%rcx,2),%r10d ;*caload
// ; - java.lang.String::indexOf@47 (line 1551)
//
// 0x000000010d7f11d6: cmp %edx,%r10d
// 0x000000010d7f11d9: je 0x000000010d7f1233 ;*if_icmpne
// ; - java.lang.String::indexOf@49 (line 1551)
//
// 0x000000010d7f11db: movslq %ecx,%r10
// 0x000000010d7f11de: movzwl 0x12(%r9,%r10,2),%ebx ;*caload
// ; - java.lang.String::indexOf@47 (line 1551)
//
// 0x000000010d7f11e4: cmp %edx,%ebx
// 0x000000010d7f11e6: je 0x000000010d7f122c ;*if_icmpne
// ; - java.lang.String::indexOf@49 (line 1551)
//
// 0x000000010d7f11e8: movzwl 0x14(%r9,%r10,2),%ebx ;*caload
// ; - java.lang.String::indexOf@47 (line 1551)
//
// 0x000000010d7f11ee: cmp %edx,%ebx
// 0x000000010d7f11f0: je 0x000000010d7f1230 ;*if_icmpne
// ; - java.lang.String::indexOf@49 (line 1551)
//
// 0x000000010d7f11f2: movzwl 0x16(%r9,%r10,2),%r8d ;*caload
// ; - java.lang.String::indexOf@47 (line 1551)
//
// 0x000000010d7f11f8: cmp %edx,%r8d
// 0x000000010d7f11fb: je 0x000000010d7f1229 ;*if_icmpne
// ; - java.lang.String::indexOf@49 (line 1551)
//
// 0x000000010d7f11fd: add $0x4,%ecx ;*iinc
// ; - java.lang.String::indexOf@55 (line 1550)
//
// 0x000000010d7f1200: cmp %r11d,%ecx
// 0x000000010d7f1203: jl 0x000000010d7f11d0 ;*if_icmpge
// ; - java.lang.String::indexOf@40 (line 1550)
//
// 0x000000010d7f1205: cmp %ebp,%ecx
// 0x000000010d7f1207: jge 0x000000010d7f121d
// 0x000000010d7f1209: data32 xchg %ax,%ax ;*aload
// ; - java.lang.String::indexOf@43 (line 1551)
//
// 0x000000010d7f120c: movzwl 0x10(%r9,%rcx,2),%r11d ;*caload
// ; - java.lang.String::indexOf@47 (line 1551)
//
// 0x000000010d7f1212: cmp %edx,%r11d
// 0x000000010d7f1215: je 0x000000010d7f1233 ;*if_icmpne
// ; - java.lang.String::indexOf@49 (line 1551)
//
// 0x000000010d7f1217: inc %ecx ;*iinc
// ; - java.lang.String::indexOf@55 (line 1550)
//
// 0x000000010d7f1219: cmp %ebp,%ecx
// 0x000000010d7f121b: jl 0x000000010d7f120c ;*aload
// ; - java.lang.String::indexOf@43 (line 1551)
//
// 0x000000010d7f121d: add $0x20,%rsp
// 0x000000010d7f1221: pop %rbp
// 0x000000010d7f1222: test %eax,-0x8f6228(%rip) # 0x000000010cefb000
// ; {poll_return}
// 0x000000010d7f1228: retq
// 0x000000010d7f1229: add $0x2,%ecx
// 0x000000010d7f122c: inc %ecx
// 0x000000010d7f122e: jmp 0x000000010d7f1233
// 0x000000010d7f1230: add $0x2,%ecx ;*iinc
// ; - java.lang.String::indexOf@55 (line 1550)
//
// 0x000000010d7f1233: mov %ecx,%eax
// 0x000000010d7f1235: jmp 0x000000010d7f121d
// 0x000000010d7f1237: mov $0xffffff86,%esi
// 0x000000010d7f123c: mov %edx,(%rsp)
// 0x000000010d7f123f: mov %ecx,0x4(%rsp)
// 0x000000010d7f1243: mov %r8d,0x8(%rsp)
// 0x000000010d7f1248: data32 xchg %ax,%ax
// 0x000000010d7f124b: callq 0x000000010d7c9f20 ; OopMap{[8]=NarrowOop off=304}
// ;*aload
// ; - java.lang.String::indexOf@43 (line 1551)
// ; {runtime_call}
// 0x000000010d7f1250: callq 0x000000010c750154 ;*aload
// ; - java.lang.String::indexOf@43 (line 1551)
// ; {runtime_call}
// 0x000000010d7f1255: xor %ecx,%ecx
// 0x000000010d7f1257: jmpq 0x000000010d7f116a
// 0x000000010d7f125c: data32 xchg %ax,%ax
// 0x000000010d7f125f: callq 0x000000010d7c8b60 ; OopMap{off=324}
// ;*invokespecial indexOfSupplementary
// ; - java.lang.String::indexOf@66 (line 1557)
// ; {optimized virtual_call}
// 0x000000010d7f1264: jmp 0x000000010d7f121d
// 0x000000010d7f1266: mov $0xfffffff6,%esi
// 0x000000010d7f126b: callq 0x000000010d7c9f20 ; OopMap{off=336}
// ;*arraylength
// ; - java.lang.String::indexOf@4 (line 1538)
// ; {runtime_call}
// 0x000000010d7f1270: callq 0x000000010c750154 ;*invokespecial indexOfSupplementary
// ; - java.lang.String::indexOf@66 (line 1557)
// ; {runtime_call}
// 0x000000010d7f1275: mov %rax,%rsi
// 0x000000010d7f1278: add $0x20,%rsp
// 0x000000010d7f127c: pop %rbp
// 0x000000010d7f127d: jmpq 0x000000010d7f1d20 ;*iconst_m1
// ; - java.lang.String::indexOf@61 (line 1555)
// ; {runtime_call}
// 0x000000010d7f1282: hlt
// 0x000000010d7f1283: hlt
// 0x000000010d7f1284: hlt
// 0x000000010d7f1285: hlt
// 0x000000010d7f1286: hlt
// 0x000000010d7f1287: hlt
// 0x000000010d7f1288: hlt
// 0x000000010d7f1289: hlt
// 0x000000010d7f128a: hlt
// 0x000000010d7f128b: hlt
// 0x000000010d7f128c: hlt
// 0x000000010d7f128d: hlt
// 0x000000010d7f128e: hlt
// 0x000000010d7f128f: hlt
// 0x000000010d7f1290: hlt
// 0x000000010d7f1291: hlt
// 0x000000010d7f1292: hlt
// 0x000000010d7f1293: hlt
// 0x000000010d7f1294: hlt
// 0x000000010d7f1295: hlt
// 0x000000010d7f1296: hlt
// 0x000000010d7f1297: hlt
// 0x000000010d7f1298: hlt
// 0x000000010d7f1299: hlt
// 0x000000010d7f129a: hlt
// 0x000000010d7f129b: hlt
// 0x000000010d7f129c: hlt
// 0x000000010d7f129d: hlt
// 0x000000010d7f129e: hlt
// 0x000000010d7f129f: hlt
//[Stub Code]
// 0x000000010d7f12a0: movabs $0x0,%rbx ; {no_reloc}
// 0x000000010d7f12aa: jmpq 0x000000010d7f12aa ; {runtime_call}
//[Exception Handler]
// 0x000000010d7f12af: jmpq 0x000000010d7f09a0 ; {runtime_call}
//[Deopt Handler Code]
// 0x000000010d7f12b4: callq 0x000000010d7f12b9
// 0x000000010d7f12b9: subq $0x5,(%rsp)
// 0x000000010d7f12be: jmpq 0x000000010d7c9b00 ; {runtime_call}
// 0x000000010d7f12c3: hlt
// 0x000000010d7f12c4: hlt
// 0x000000010d7f12c5: hlt
// 0x000000010d7f12c6: hlt
// 0x000000010d7f12c7: hlt
//Decoding compiled method 0x000000010d7f0dd0:
//Code:
//[Entry Point]
//[Verified Entry Point]
//[Constants]
// # {method}
// {0x000000010d391280} 'main' '([Ljava/lang/String;)V' in 'For'
// 0x000000010d7f0f00: callq 0x000000010c750154 ; {runtime_call}
// 0x000000010d7f0f05: data32 data32 nopw 0x0(%rax,%rax,1)
// 0x000000010d7f0f10: sub $0x18,%rsp
// 0x000000010d7f0f17: mov %rbp,0x10(%rsp)
// 0x000000010d7f0f1c: mov %rsi,%rdi
// 0x000000010d7f0f1f: movabs $0x10c7a9778,%r10
// 0x000000010d7f0f29: callq *%r10 ;*iload_3
// ; - For::main@13 (line 5)
//
// 0x000000010d7f0f2c: add $0x10,%rsp
// 0x000000010d7f0f30: pop %rbp
// 0x000000010d7f0f31: test %eax,-0x8f5f37(%rip) # 0x000000010cefb000
// ; {poll_return}
// 0x000000010d7f0f37: retq
// 0x000000010d7f0f38: hlt
// 0x000000010d7f0f39: hlt
// 0x000000010d7f0f3a: hlt
// 0x000000010d7f0f3b: hlt
// 0x000000010d7f0f3c: hlt
// 0x000000010d7f0f3d: hlt
// 0x000000010d7f0f3e: hlt
// 0x000000010d7f0f3f: hlt
//[Exception Handler]
//[Stub Code]
// 0x000000010d7f0f40: jmpq 0x000000010d7f09a0 ; {no_reloc}
//[Deopt Handler Code]
// 0x000000010d7f0f45: callq 0x000000010d7f0f4a
// 0x000000010d7f0f4a: subq $0x5,(%rsp)
// 0x000000010d7f0f4f: jmpq 0x000000010d7c9b00 ; {runtime_call}
// 0x000000010d7f0f54: hlt
// 0x000000010d7f0f55: hlt
// 0x000000010d7f0f56: hlt
// 0x000000010d7f0f57: hlt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment