Problem with auto-vectorized code in AVX2
Adam Petcher
adam.petcher at oracle.com
Fri Jul 13 15:42:58 UTC 2018
I've been working on an experiment in which I try to improve the
performance of X25519[1] using the Vector API and the vectorIntrinsics
branch. I started by building this branch and running some tests with
the existing code to make sure everything works and get some baseline
measurements. I didn't get very far because some tests fail and the code
produces incorrect results on my machines.
I get the same problematic results on both a Haswell Macbook Pro and an
Ubuntu VM running on a Skylake Windows laptop. If I modify the VM to
remove AVX2 (but leave AVX and everything else), then I don't encounter
the problem. I also tried testing on an older Linux machine that doesn't
have AVX2, and I don't see the problem.
The first problem is that an existing test fails:
test/jdk/sun/security/util/math/TestIntegerModuloP.java. This test
exercises the finite field operations used in X25519, which all boil
down to simple arithmetic and bitwise operations on long arrays. The
test fails because it produces a result that is incorrect (it is
different from the value produced by performing the same operation on
BigInteger). To isolate the problem, I developed the simplified test
that is attached. This test fails intermittently with default settings,
and it seems to fail every time with -Xcomp. I've also attached the
assembly that is produced on my Macbook. You can see some AVX
instructions near line 3259---this appears to be an auto-vectorization
of the loop that multiplies the array by a value. An interesting thing
about this test is that I tried to simplify it further, but then the
problem goes away. So all of that code seems to be necessary to make the
problem happen.
Is anyone else seeing a similar problem with AVX2? Is this a bug in the
intrinsics, or am I doing something wrong here?
[1] http://openjdk.java.net/jeps/324
-------------- next part --------------
/*
* @test
* @run main TestArrayMult
*/
import java.util.*;
import java.math.BigInteger;
public class TestArrayMult {
private static final int POWER = 255;
private static final int SUBTRAHEND = 19;
private static final int NUM_LIMBS = 10;
private static final int BITS_PER_LIMB = 26;
private static final int BIT_OFFSET = NUM_LIMBS * BITS_PER_LIMB - POWER;
private static final int LIMB_MASK = -1 >>> (64 - BITS_PER_LIMB);
private static final int RIGHT_BIT_OFFSET = BITS_PER_LIMB - BIT_OFFSET;
static long carryValue(long x) {
return (x + (1 << (BITS_PER_LIMB - 1))) >> BITS_PER_LIMB;
}
static long carryOut(long[] limbs, int index) {
long carry = carryValue(limbs[index]);
limbs[index] -= (carry << BITS_PER_LIMB);
return carry;
}
static void carry(long[] limbs, int start, int end) {
for (int i = start; i < end; i++) {
long carry = carryOut(limbs, i);
limbs[i + 1] += carry;
}
}
static void multByInt(long[] a, long b, long[] r) {
for (int i = 0; i < a.length; i++) {
r[i] = a[i] * b;
}
// carry(8, 2)
long carry8 = carryValue(r[8]);
r[8] -= (carry8 << BITS_PER_LIMB);
r[9] += carry8;
long carry9 = carryValue(r[9]);
r[9] -= (carry9 << BITS_PER_LIMB);
// reduce(0, 1)
long reducedValue10 = (carry9 * SUBTRAHEND);
r[0] += ((reducedValue10 << BIT_OFFSET) & LIMB_MASK);
r[1] += reducedValue10 >> RIGHT_BIT_OFFSET;
// carry(0, 9)
carry(r, 0, 9);
}
public static void main(String[] args) {
Random rand = new Random();
int v = 28976;
long[] a1 = new long[NUM_LIMBS];
long[] a2 = new long[NUM_LIMBS];
for(int j = 0; j < a1.length; j++) {
long r = rand.nextInt();
a1[j] = r;
a2[j] = r;
}
for(int i = 0; i < 1000000; i++) {
multByInt(a1, v, a1);
}
for(int i = 0; i < 1000000; i++) {
multByInt(a2, v, a2);
}
for (int j = 0; j < a1.length; j++) {
if (a1[j] != a2[j]) {
throw new RuntimeException("not equal");
}
}
}
}
-------------- next part --------------
Compiled method (c1) 41 1 3 java.lang.Object::<init> (1 bytes)
total in heap [0x0000000117e2f010,0x0000000117e2f380] = 880
relocation [0x0000000117e2f188,0x0000000117e2f1b0] = 40
main code [0x0000000117e2f1c0,0x0000000117e2f280] = 192
stub code [0x0000000117e2f280,0x0000000117e2f310] = 144
metadata [0x0000000117e2f310,0x0000000117e2f320] = 16
scopes data [0x0000000117e2f320,0x0000000117e2f338] = 24
scopes pcs [0x0000000117e2f338,0x0000000117e2f378] = 64
dependencies [0x0000000117e2f378,0x0000000117e2f380] = 8
Loaded disassembler from /Users/adam/jdk/panama/dev/build/macosx-x86_64-normal-server-release/images/jdk/lib/server/hsdis-amd64.dylib
----------------------------------------------------------------------
java/lang/Object.<init>()V [0x0000000117e2f1c0, 0x0000000117e2f310] 336 bytes
[Disassembling for mach='i386:x86-64']
[Entry Point]
[Constants]
# {method} {0x0000000133107610} '<init>' '()V' in 'java/lang/Object'
# [sp+0x40] (sp of caller)
0x0000000117e2f1c0: mov 0x8(%rsi),%r10d
0x0000000117e2f1c4: movabs $0x800000000,%r12
0x0000000117e2f1ce: add %r12,%r10
0x0000000117e2f1d1: xor %r12,%r12
0x0000000117e2f1d4: cmp %rax,%r10
0x0000000117e2f1d7: jne 0x00000001178c4c80 ; {runtime_call ic_miss_stub}
0x0000000117e2f1dd: data16 xchg %ax,%ax
[Verified Entry Point]
0x0000000117e2f1e0: mov %eax,-0x14000(%rsp)
0x0000000117e2f1e7: push %rbp
0x0000000117e2f1e8: sub $0x30,%rsp
0x0000000117e2f1ec: movabs $0x13332f3e0,%rdi ; {metadata(method data for {method} {0x0000000133107610} '<init>' '()V' in 'java/lang/Object')}
0x0000000117e2f1f6: mov 0x104(%rdi),%ebx
0x0000000117e2f1fc: add $0x8,%ebx
0x0000000117e2f1ff: mov %ebx,0x104(%rdi)
0x0000000117e2f205: and $0x1ff8,%ebx
0x0000000117e2f20b: cmp $0x0,%ebx
0x0000000117e2f20e: je 0x0000000117e2f224 ;*return {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Object::<init>@0 (line 50)
0x0000000117e2f214: add $0x30,%rsp
0x0000000117e2f218: pop %rbp
0x0000000117e2f219: mov 0x108(%r15),%r10
0x0000000117e2f220: test %eax,(%r10) ; {poll_return}
0x0000000117e2f223: retq
0x0000000117e2f224: movabs $0x133107610,%r10 ; {metadata({method} {0x0000000133107610} '<init>' '()V' in 'java/lang/Object')}
0x0000000117e2f22e: mov %r10,0x8(%rsp)
0x0000000117e2f233: movq $0xffffffffffffffff,(%rsp)
0x0000000117e2f23b: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop }
;*synchronization entry
; - java.lang.Object::<init>@-1 (line 50)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e2f240: jmp 0x0000000117e2f214
0x0000000117e2f242: nop
0x0000000117e2f243: nop
0x0000000117e2f244: mov 0x420(%r15),%rax
0x0000000117e2f24b: movabs $0x0,%r10
0x0000000117e2f255: mov %r10,0x420(%r15)
0x0000000117e2f25c: movabs $0x0,%r10
0x0000000117e2f266: mov %r10,0x428(%r15)
0x0000000117e2f26d: add $0x30,%rsp
0x0000000117e2f271: pop %rbp
0x0000000117e2f272: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e2f277: hlt
0x0000000117e2f278: hlt
0x0000000117e2f279: hlt
0x0000000117e2f27a: hlt
0x0000000117e2f27b: hlt
0x0000000117e2f27c: hlt
0x0000000117e2f27d: hlt
0x0000000117e2f27e: hlt
0x0000000117e2f27f: hlt
[Exception Handler]
[Stub Code]
0x0000000117e2f280: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e2f285: mov %rsp,-0x28(%rsp)
0x0000000117e2f28a: sub $0x80,%rsp
0x0000000117e2f291: mov %rax,0x78(%rsp)
0x0000000117e2f296: mov %rcx,0x70(%rsp)
0x0000000117e2f29b: mov %rdx,0x68(%rsp)
0x0000000117e2f2a0: mov %rbx,0x60(%rsp)
0x0000000117e2f2a5: mov %rbp,0x50(%rsp)
0x0000000117e2f2aa: mov %rsi,0x48(%rsp)
0x0000000117e2f2af: mov %rdi,0x40(%rsp)
0x0000000117e2f2b4: mov %r8,0x38(%rsp)
0x0000000117e2f2b9: mov %r9,0x30(%rsp)
0x0000000117e2f2be: mov %r10,0x28(%rsp)
0x0000000117e2f2c3: mov %r11,0x20(%rsp)
0x0000000117e2f2c8: mov %r12,0x18(%rsp)
0x0000000117e2f2cd: mov %r13,0x10(%rsp)
0x0000000117e2f2d2: mov %r14,0x8(%rsp)
0x0000000117e2f2d7: mov %r15,(%rsp)
0x0000000117e2f2db: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e2f2e5: movabs $0x117e2f285,%rsi ; {internal_word}
0x0000000117e2f2ef: mov %rsp,%rdx
0x0000000117e2f2f2: and $0xfffffffffffffff0,%rsp
0x0000000117e2f2f6: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e2f2fb: hlt
[Deopt Handler Code]
0x0000000117e2f2fc: movabs $0x117e2f2fc,%r10 ; {section_word}
0x0000000117e2f306: push %r10
0x0000000117e2f308: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e2f30d: hlt
0x0000000117e2f30e: hlt
0x0000000117e2f30f: hlt
ImmutableOopMap{rsi=Oop }pc offsets: 128 Compiled method (c1) 47 2 2 java.lang.StringLatin1::hashCode (42 bytes)
total in heap [0x0000000117e2f390,0x0000000117e2f848] = 1208
relocation [0x0000000117e2f508,0x0000000117e2f538] = 48
main code [0x0000000117e2f540,0x0000000117e2f660] = 288
stub code [0x0000000117e2f660,0x0000000117e2f6f0] = 144
metadata [0x0000000117e2f6f0,0x0000000117e2f6f8] = 8
scopes data [0x0000000117e2f6f8,0x0000000117e2f760] = 104
scopes pcs [0x0000000117e2f760,0x0000000117e2f830] = 208
dependencies [0x0000000117e2f830,0x0000000117e2f838] = 8
nul chk table [0x0000000117e2f838,0x0000000117e2f848] = 16
----------------------------------------------------------------------
java/lang/StringLatin1.hashCode([B)I [0x0000000117e2f540, 0x0000000117e2f6f0] 432 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000000013325f2e8} 'hashCode' '([B)I' in 'java/lang/StringLatin1'
# parm0: rsi:rsi = '[B'
# [sp+0x40] (sp of caller)
0x0000000117e2f540: mov %eax,-0x14000(%rsp)
0x0000000117e2f547: push %rbp
0x0000000117e2f548: sub $0x30,%rsp
0x0000000117e2f54c: movabs $0x133261af8,%rax
0x0000000117e2f556: mov 0x18(%rax),%edi
0x0000000117e2f559: add $0x8,%edi
0x0000000117e2f55c: mov %edi,0x18(%rax)
0x0000000117e2f55f: and $0x3ff8,%edi
0x0000000117e2f565: cmp $0x0,%edi
0x0000000117e2f568: je 0x0000000117e2f5dd ;*iconst_0 {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 0 (line 194)
0x0000000117e2f56e: mov 0xc(%rsi),%eax ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 5 (line 195)
; implicit exception: dispatches to 0x0000000117e2f5fe
0x0000000117e2f571: mov $0x0,%edi
0x0000000117e2f576: mov $0x0,%ebx
0x0000000117e2f57b: jmpq 0x0000000117e2f5c6 ;*iload {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 10 (line 195)
0x0000000117e2f580: movslq %edi,%rdx
0x0000000117e2f583: movsbl 0x10(%rsi,%rdx,1),%edx ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 19 (line 195)
0x0000000117e2f588: mov %rbx,%rcx
0x0000000117e2f58b: shl $0x5,%ebx
0x0000000117e2f58e: sub %ecx,%ebx
0x0000000117e2f590: and $0xff,%edx
0x0000000117e2f596: add %edx,%ebx
0x0000000117e2f598: inc %edi
0x0000000117e2f59a: movabs $0x133261af8,%rdx
0x0000000117e2f5a4: mov 0x1c(%rdx),%ecx
0x0000000117e2f5a7: add $0x8,%ecx
0x0000000117e2f5aa: mov %ecx,0x1c(%rdx)
0x0000000117e2f5ad: and $0x1fff8,%ecx
0x0000000117e2f5b3: cmp $0x0,%ecx
0x0000000117e2f5b6: je 0x0000000117e2f603 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 37 (line 195)
0x0000000117e2f5bc: mov 0x108(%r15),%r10 ; ImmutableOopMap{rsi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 37 (line 195)
0x0000000117e2f5c3: test %eax,(%r10) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 37 (line 195)
; {poll}
0x0000000117e2f5c6: cmp %eax,%edi
0x0000000117e2f5c8: jl 0x0000000117e2f580 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 13 (line 195)
0x0000000117e2f5ca: mov %rbx,%rax
0x0000000117e2f5cd: add $0x30,%rsp
0x0000000117e2f5d1: pop %rbp
0x0000000117e2f5d2: mov 0x108(%r15),%r10
0x0000000117e2f5d9: test %eax,(%r10) ; {poll_return}
0x0000000117e2f5dc: retq
0x0000000117e2f5dd: movabs $0x13325f2e8,%r10 ; {metadata({method} {0x000000013325f2e8} 'hashCode' '([B)I' in 'java/lang/StringLatin1')}
0x0000000117e2f5e7: mov %r10,0x8(%rsp)
0x0000000117e2f5ec: movq $0xffffffffffffffff,(%rsp)
0x0000000117e2f5f4: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop }
;*synchronization entry
; - java.lang.StringLatin1::hashCode at -1 (line 194)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e2f5f9: jmpq 0x0000000117e2f56e
0x0000000117e2f5fe: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop }
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 5 (line 195)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e2f603: movabs $0x13325f2e8,%r10 ; {metadata({method} {0x000000013325f2e8} 'hashCode' '([B)I' in 'java/lang/StringLatin1')}
0x0000000117e2f60d: mov %r10,0x8(%rsp)
0x0000000117e2f612: movq $0x25,(%rsp)
0x0000000117e2f61a: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::hashCode at 37 (line 195)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e2f61f: jmp 0x0000000117e2f5bc
0x0000000117e2f621: nop
0x0000000117e2f622: nop
0x0000000117e2f623: mov 0x420(%r15),%rax
0x0000000117e2f62a: movabs $0x0,%r10
0x0000000117e2f634: mov %r10,0x420(%r15)
0x0000000117e2f63b: movabs $0x0,%r10
0x0000000117e2f645: mov %r10,0x428(%r15)
0x0000000117e2f64c: add $0x30,%rsp
0x0000000117e2f650: pop %rbp
0x0000000117e2f651: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e2f656: hlt
0x0000000117e2f657: hlt
0x0000000117e2f658: hlt
0x0000000117e2f659: hlt
0x0000000117e2f65a: hlt
0x0000000117e2f65b: hlt
0x0000000117e2f65c: hlt
0x0000000117e2f65d: hlt
0x0000000117e2f65e: hlt
0x0000000117e2f65f: hlt
[Exception Handler]
[Stub Code]
0x0000000117e2f660: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e2f665: mov %rsp,-0x28(%rsp)
0x0000000117e2f66a: sub $0x80,%rsp
0x0000000117e2f671: mov %rax,0x78(%rsp)
0x0000000117e2f676: mov %rcx,0x70(%rsp)
0x0000000117e2f67b: mov %rdx,0x68(%rsp)
0x0000000117e2f680: mov %rbx,0x60(%rsp)
0x0000000117e2f685: mov %rbp,0x50(%rsp)
0x0000000117e2f68a: mov %rsi,0x48(%rsp)
0x0000000117e2f68f: mov %rdi,0x40(%rsp)
0x0000000117e2f694: mov %r8,0x38(%rsp)
0x0000000117e2f699: mov %r9,0x30(%rsp)
0x0000000117e2f69e: mov %r10,0x28(%rsp)
0x0000000117e2f6a3: mov %r11,0x20(%rsp)
0x0000000117e2f6a8: mov %r12,0x18(%rsp)
0x0000000117e2f6ad: mov %r13,0x10(%rsp)
0x0000000117e2f6b2: mov %r14,0x8(%rsp)
0x0000000117e2f6b7: mov %r15,(%rsp)
0x0000000117e2f6bb: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e2f6c5: movabs $0x117e2f665,%rsi ; {internal_word}
0x0000000117e2f6cf: mov %rsp,%rdx
0x0000000117e2f6d2: and $0xfffffffffffffff0,%rsp
0x0000000117e2f6d6: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e2f6db: hlt
[Deopt Handler Code]
0x0000000117e2f6dc: movabs $0x117e2f6dc,%r10 ; {section_word}
0x0000000117e2f6e6: push %r10
0x0000000117e2f6e8: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e2f6ed: hlt
0x0000000117e2f6ee: hlt
0x0000000117e2f6ef: hlt
ImmutableOopMap{rsi=Oop }pc offsets: 131 185 195 223 Compiled method (c1) 54 8 3 java.util.ImmutableCollections$SetN::probe (56 bytes)
total in heap [0x0000000117e2f890,0x0000000117e30458] = 3016
relocation [0x0000000117e2fa08,0x0000000117e2fa88] = 128
main code [0x0000000117e2faa0,0x0000000117e30000] = 1376
stub code [0x0000000117e30000,0x0000000117e300b8] = 184
metadata [0x0000000117e300b8,0x0000000117e300d0] = 24
scopes data [0x0000000117e300d0,0x0000000117e30200] = 304
scopes pcs [0x0000000117e30200,0x0000000117e30420] = 544
dependencies [0x0000000117e30420,0x0000000117e30428] = 8
nul chk table [0x0000000117e30428,0x0000000117e30458] = 48
----------------------------------------------------------------------
java/util/ImmutableCollections$SetN.probe(Ljava/lang/Object;)I [0x0000000117e2faa0, 0x0000000117e300b8] 1560 bytes
[Entry Point]
[Constants]
# {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN'
# this: rsi:rsi = 'java/util/ImmutableCollections$SetN'
# parm0: rdx:rdx = 'java/lang/Object'
# [sp+0x80] (sp of caller)
0x0000000117e2faa0: mov 0x8(%rsi),%r10d
0x0000000117e2faa4: movabs $0x800000000,%r12
0x0000000117e2faae: add %r12,%r10
0x0000000117e2fab1: xor %r12,%r12
0x0000000117e2fab4: cmp %rax,%r10
0x0000000117e2fab7: jne 0x00000001178c4c80 ; {runtime_call ic_miss_stub}
0x0000000117e2fabd: data16 xchg %ax,%ax
[Verified Entry Point]
0x0000000117e2fac0: mov %eax,-0x14000(%rsp)
0x0000000117e2fac7: push %rbp
0x0000000117e2fac8: sub $0x70,%rsp
0x0000000117e2facc: mov %rsi,0x50(%rsp)
0x0000000117e2fad1: mov %rdx,0x58(%rsp)
0x0000000117e2fad6: movabs $0x13333fb98,%rdi ; {metadata(method data for {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2fae0: mov 0x104(%rdi),%ebx
0x0000000117e2fae6: add $0x8,%ebx
0x0000000117e2fae9: mov %ebx,0x104(%rdi)
0x0000000117e2faef: and $0x1ff8,%ebx
0x0000000117e2faf5: cmp $0x0,%ebx
0x0000000117e2faf8: je 0x0000000117e2ff0f ;*aload_1 {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 0 (line 672)
0x0000000117e2fafe: cmp (%rdx),%rax ; implicit exception: dispatches to 0x0000000117e2ff30
0x0000000117e2fb01: mov %rdx,%rdi
0x0000000117e2fb04: movabs $0x13333fb98,%rbx ; {metadata(method data for {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2fb0e: mov 0x8(%rdi),%edi
0x0000000117e2fb11: movabs $0x800000000,%r12
0x0000000117e2fb1b: add %r12,%rdi
0x0000000117e2fb1e: xor %r12,%r12
0x0000000117e2fb21: cmp 0x150(%rbx),%rdi
0x0000000117e2fb28: jne 0x0000000117e2fb37
0x0000000117e2fb2a: addq $0x1,0x158(%rbx)
0x0000000117e2fb32: jmpq 0x0000000117e2fb9d
0x0000000117e2fb37: cmp 0x160(%rbx),%rdi
0x0000000117e2fb3e: jne 0x0000000117e2fb4d
0x0000000117e2fb40: addq $0x1,0x168(%rbx)
0x0000000117e2fb48: jmpq 0x0000000117e2fb9d
0x0000000117e2fb4d: cmpq $0x0,0x150(%rbx)
0x0000000117e2fb58: jne 0x0000000117e2fb71
0x0000000117e2fb5a: mov %rdi,0x150(%rbx)
0x0000000117e2fb61: movq $0x1,0x158(%rbx)
0x0000000117e2fb6c: jmpq 0x0000000117e2fb9d
0x0000000117e2fb71: cmpq $0x0,0x160(%rbx)
0x0000000117e2fb7c: jne 0x0000000117e2fb95
0x0000000117e2fb7e: mov %rdi,0x160(%rbx)
0x0000000117e2fb85: movq $0x1,0x168(%rbx)
0x0000000117e2fb90: jmpq 0x0000000117e2fb9d
0x0000000117e2fb95: addq $0x1,0x140(%rbx)
0x0000000117e2fb9d: mov %rdx,%rsi ;*invokevirtual hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 1 (line 672)
0x0000000117e2fba0: nopl 0x0(%rax,%rax,1)
0x0000000117e2fba5: movabs $0xffffffffffffffff,%rax
0x0000000117e2fbaf: callq 0x00000001178c6ba0 ; ImmutableOopMap{[88]=Oop [80]=Oop }
;*invokevirtual hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 1 (line 672)
; {virtual_call}
0x0000000117e2fbb4: mov %rax,%rsi ;*invokevirtual hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 1 (line 672)
0x0000000117e2fbb7: mov 0x50(%rsp),%rdi
0x0000000117e2fbbc: mov 0x10(%rdi),%eax
0x0000000117e2fbbf: shl $0x3,%rax ;*getfield elements {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 5 (line 672)
0x0000000117e2fbc3: mov 0xc(%rax),%ebx ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 8 (line 672)
; implicit exception: dispatches to 0x0000000117e2ff35
0x0000000117e2fbc6: movabs $0x13333fb98,%rax ; {metadata(method data for {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2fbd0: addq $0x1,0x178(%rax)
0x0000000117e2fbd8: movabs $0x13333f858,%rax ; {metadata(method data for {method} {0x0000000133284c60} 'floorMod' '(II)I' in 'java/lang/Math')}
0x0000000117e2fbe2: mov 0x104(%rax),%edx
0x0000000117e2fbe8: add $0x8,%edx
0x0000000117e2fbeb: mov %edx,0x104(%rax)
0x0000000117e2fbf1: and $0x7ffff8,%edx
0x0000000117e2fbf7: cmp $0x0,%edx
0x0000000117e2fbfa: je 0x0000000117e2ff3a
0x0000000117e2fc00: movabs $0x13333f858,%rax ; {metadata(method data for {method} {0x0000000133284c60} 'floorMod' '(II)I' in 'java/lang/Math')}
0x0000000117e2fc0a: addq $0x1,0x140(%rax)
0x0000000117e2fc12: movabs $0x13333f9f0,%rax ; {metadata(method data for {method} {0x0000000133284a08} 'floorDiv' '(II)I' in 'java/lang/Math')}
0x0000000117e2fc1c: mov 0x104(%rax),%edx
0x0000000117e2fc22: add $0x8,%edx
0x0000000117e2fc25: mov %edx,0x104(%rax)
0x0000000117e2fc2b: and $0x7ffff8,%edx
0x0000000117e2fc31: cmp $0x0,%edx
0x0000000117e2fc34: je 0x0000000117e2ff5b
0x0000000117e2fc3a: mov %rsi,%rax
0x0000000117e2fc3d: cmp $0x80000000,%eax
0x0000000117e2fc43: jne 0x0000000117e2fc54
0x0000000117e2fc49: xor %edx,%edx
0x0000000117e2fc4b: cmp $0xffffffff,%ebx
0x0000000117e2fc4e: je 0x0000000117e2fc57
0x0000000117e2fc54: cltd
0x0000000117e2fc55: idiv %ebx ;*idiv {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Math::floorDiv at 2 (line 1161)
; - java.lang.Math::floorMod at 3 (line 1277)
; - java.util.ImmutableCollections$SetN::probe at 9 (line 672)
; implicit exception: dispatches to 0x0000000117e2ff7c
0x0000000117e2fc57: mov %rbx,%rdx
0x0000000117e2fc5a: xor %rsi,%rdx
0x0000000117e2fc5d: cmp $0x0,%edx
0x0000000117e2fc60: movabs $0x13333f9f0,%rdx ; {metadata(method data for {method} {0x0000000133284a08} 'floorDiv' '(II)I' in 'java/lang/Math')}
0x0000000117e2fc6a: movabs $0x140,%rcx
0x0000000117e2fc74: jge 0x0000000117e2fc84
0x0000000117e2fc7a: movabs $0x150,%rcx
0x0000000117e2fc84: mov (%rdx,%rcx,1),%r8
0x0000000117e2fc88: lea 0x1(%r8),%r8
0x0000000117e2fc8c: mov %r8,(%rdx,%rcx,1)
0x0000000117e2fc90: jge 0x0000000117e2fcd6 ;*ifge {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Math::floorDiv at 7 (line 1163)
; - java.lang.Math::floorMod at 3 (line 1277)
; - java.util.ImmutableCollections$SetN::probe at 9 (line 672)
0x0000000117e2fc96: mov %rax,%rdx
0x0000000117e2fc99: imul %ebx,%edx
0x0000000117e2fc9c: cmp %esi,%edx
0x0000000117e2fc9e: movabs $0x13333f9f0,%rdx ; {metadata(method data for {method} {0x0000000133284a08} 'floorDiv' '(II)I' in 'java/lang/Math')}
0x0000000117e2fca8: movabs $0x160,%rcx
0x0000000117e2fcb2: je 0x0000000117e2fcc2
0x0000000117e2fcb8: movabs $0x170,%rcx
0x0000000117e2fcc2: mov (%rdx,%rcx,1),%r8
0x0000000117e2fcc6: lea 0x1(%r8),%r8
0x0000000117e2fcca: mov %r8,(%rdx,%rcx,1)
0x0000000117e2fcce: je 0x0000000117e2fcd6 ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Math::floorDiv at 14 (line 1163)
; - java.lang.Math::floorMod at 3 (line 1277)
; - java.util.ImmutableCollections$SetN::probe at 9 (line 672)
0x0000000117e2fcd4: dec %eax
0x0000000117e2fcd6: imul %ebx,%eax
0x0000000117e2fcd9: sub %eax,%esi
0x0000000117e2fcdb: mov 0x58(%rsp),%rdx
0x0000000117e2fce0: mov 0x10(%rdi),%ebx
0x0000000117e2fce3: shl $0x3,%rbx ;*getfield elements {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 14 (line 674)
0x0000000117e2fce7: mov 0xc(%rbx),%eax ; implicit exception: dispatches to 0x0000000117e2ff81
0x0000000117e2fcea: cmp %esi,%eax
0x0000000117e2fcec: jbe 0x0000000117e2ff86
0x0000000117e2fcf2: movslq %esi,%rax
0x0000000117e2fcf5: mov 0x10(%rbx,%rax,4),%ebx
0x0000000117e2fcf9: shl $0x3,%rbx ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 18 (line 674)
0x0000000117e2fcfd: cmp $0x0,%rbx
0x0000000117e2fd01: movabs $0x13333fb98,%rax ; {metadata(method data for {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2fd0b: movabs $0x198,%rcx
0x0000000117e2fd15: je 0x0000000117e2fd25
0x0000000117e2fd1b: movabs $0x188,%rcx
0x0000000117e2fd25: mov (%rax,%rcx,1),%r8
0x0000000117e2fd29: lea 0x1(%r8),%r8
0x0000000117e2fd2d: mov %r8,(%rax,%rcx,1)
0x0000000117e2fd31: je 0x0000000117e2fef2 ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 21 (line 675)
0x0000000117e2fd37: mov %esi,0x60(%rsp)
0x0000000117e2fd3b: mov %rdx,%rax
0x0000000117e2fd3e: movabs $0x13333fb98,%rcx ; {metadata(method data for {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2fd48: mov 0x8(%rax),%eax
0x0000000117e2fd4b: movabs $0x800000000,%r12
0x0000000117e2fd55: add %r12,%rax
0x0000000117e2fd58: xor %r12,%r12
0x0000000117e2fd5b: cmp 0x1b8(%rcx),%rax
0x0000000117e2fd62: jne 0x0000000117e2fd71
0x0000000117e2fd64: addq $0x1,0x1c0(%rcx)
0x0000000117e2fd6c: jmpq 0x0000000117e2fdd7
0x0000000117e2fd71: cmp 0x1c8(%rcx),%rax
0x0000000117e2fd78: jne 0x0000000117e2fd87
0x0000000117e2fd7a: addq $0x1,0x1d0(%rcx)
0x0000000117e2fd82: jmpq 0x0000000117e2fdd7
0x0000000117e2fd87: cmpq $0x0,0x1b8(%rcx)
0x0000000117e2fd92: jne 0x0000000117e2fdab
0x0000000117e2fd94: mov %rax,0x1b8(%rcx)
0x0000000117e2fd9b: movq $0x1,0x1c0(%rcx)
0x0000000117e2fda6: jmpq 0x0000000117e2fdd7
0x0000000117e2fdab: cmpq $0x0,0x1c8(%rcx)
0x0000000117e2fdb6: jne 0x0000000117e2fdcf
0x0000000117e2fdb8: mov %rax,0x1c8(%rcx)
0x0000000117e2fdbf: movq $0x1,0x1d0(%rcx)
0x0000000117e2fdca: jmpq 0x0000000117e2fdd7
0x0000000117e2fdcf: addq $0x1,0x1a8(%rcx)
0x0000000117e2fdd7: mov %rdx,%rax
0x0000000117e2fdda: mov %rbx,%rdx
0x0000000117e2fddd: mov %rax,%rsi ;*invokevirtual equals {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 31 (line 677)
0x0000000117e2fde0: nopl 0x0(%rax,%rax,1)
0x0000000117e2fde5: movabs $0xffffffffffffffff,%rax
0x0000000117e2fdef: callq 0x00000001178c6be0 ; ImmutableOopMap{[88]=Oop [80]=Oop }
;*invokevirtual equals {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 31 (line 677)
; {virtual_call}
0x0000000117e2fdf4: cmp $0x0,%eax
0x0000000117e2fdf7: movabs $0x13333fb98,%rax ; {metadata(method data for {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2fe01: movabs $0x1f0,%rsi
0x0000000117e2fe0b: jne 0x0000000117e2fe1b
0x0000000117e2fe11: movabs $0x1e0,%rsi
0x0000000117e2fe1b: mov (%rax,%rsi,1),%rdi
0x0000000117e2fe1f: lea 0x1(%rdi),%rdi
0x0000000117e2fe23: mov %rdi,(%rax,%rsi,1)
0x0000000117e2fe27: jne 0x0000000117e2fedb ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 34 (line 677)
0x0000000117e2fe2d: mov 0x50(%rsp),%rsi
0x0000000117e2fe32: mov 0x60(%rsp),%eax
0x0000000117e2fe36: inc %eax
0x0000000117e2fe38: mov 0x10(%rsi),%edi
0x0000000117e2fe3b: shl $0x3,%rdi ;*getfield elements {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 44 (line 679)
0x0000000117e2fe3f: mov 0xc(%rdi),%edi ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 47 (line 679)
; implicit exception: dispatches to 0x0000000117e2ff94
0x0000000117e2fe42: cmp %edi,%eax
0x0000000117e2fe44: movabs $0x13333fb98,%rdi ; {metadata(method data for {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2fe4e: movabs $0x200,%rbx
0x0000000117e2fe58: jne 0x0000000117e2fe68
0x0000000117e2fe5e: movabs $0x210,%rbx
0x0000000117e2fe68: mov (%rdi,%rbx,1),%rdx
0x0000000117e2fe6c: lea 0x1(%rdx),%rdx
0x0000000117e2fe70: mov %rdx,(%rdi,%rbx,1)
0x0000000117e2fe74: jne 0x0000000117e2fe7f ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 48 (line 679)
0x0000000117e2fe7a: mov $0x0,%eax
0x0000000117e2fe7f: movabs $0x13333fb98,%rdi ; {metadata(method data for {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2fe89: mov 0x108(%rdi),%ebx
0x0000000117e2fe8f: add $0x8,%ebx
0x0000000117e2fe92: mov %ebx,0x108(%rdi)
0x0000000117e2fe98: and $0xfff8,%ebx
0x0000000117e2fe9e: cmp $0x0,%ebx
0x0000000117e2fea1: je 0x0000000117e2ff99 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 53 (line 682)
0x0000000117e2fea7: mov 0x108(%r15),%r10 ; ImmutableOopMap{[88]=Oop rsi=Oop [80]=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 53 (line 682)
0x0000000117e2feae: test %eax,(%r10) ; {poll}
0x0000000117e2feb1: movabs $0x13333fb98,%rdi ; {metadata(method data for {method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2febb: incl 0x220(%rdi)
0x0000000117e2fec1: mov %rax,%rdi
0x0000000117e2fec4: mov 0x58(%rsp),%rdx
0x0000000117e2fec9: mov %rsi,0x50(%rsp)
0x0000000117e2fece: mov %rdi,%rsi
0x0000000117e2fed1: mov 0x50(%rsp),%rdi
0x0000000117e2fed6: jmpq 0x0000000117e2fce0 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 53 (line 682)
0x0000000117e2fedb: mov 0x60(%rsp),%edi
0x0000000117e2fedf: mov %rdi,%rax
0x0000000117e2fee2: add $0x70,%rsp
0x0000000117e2fee6: pop %rbp
0x0000000117e2fee7: mov 0x108(%r15),%r10
0x0000000117e2feee: test %eax,(%r10) ; {poll_return}
0x0000000117e2fef1: retq ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 38 (line 678)
0x0000000117e2fef2: mov %rsi,%rdi
0x0000000117e2fef5: mov %rdi,%rsi
0x0000000117e2fef8: neg %esi
0x0000000117e2fefa: mov %rsi,%rax
0x0000000117e2fefd: dec %eax
0x0000000117e2feff: add $0x70,%rsp
0x0000000117e2ff03: pop %rbp
0x0000000117e2ff04: mov 0x108(%r15),%r10
0x0000000117e2ff0b: test %eax,(%r10) ; {poll_return}
0x0000000117e2ff0e: retq
0x0000000117e2ff0f: movabs $0x13332d820,%r10 ; {metadata({method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2ff19: mov %r10,0x8(%rsp)
0x0000000117e2ff1e: movq $0xffffffffffffffff,(%rsp)
0x0000000117e2ff26: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop [80]=Oop rdx=Oop [88]=Oop }
;*synchronization entry
; - java.util.ImmutableCollections$SetN::probe at -1 (line 672)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e2ff2b: jmpq 0x0000000117e2fafe
0x0000000117e2ff30: callq 0x0000000117987f20 ; ImmutableOopMap{rdx=Oop [88]=Oop [80]=Oop }
;*invokevirtual hashCode {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 1 (line 672)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e2ff35: callq 0x0000000117987f20 ; ImmutableOopMap{[88]=Oop rdi=Oop [80]=Oop }
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 8 (line 672)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e2ff3a: movabs $0x133284c60,%r10 ; {metadata({method} {0x0000000133284c60} 'floorMod' '(II)I' in 'java/lang/Math')}
0x0000000117e2ff44: mov %r10,0x8(%rsp)
0x0000000117e2ff49: movq $0xffffffffffffffff,(%rsp)
0x0000000117e2ff51: callq 0x000000011798d300 ; ImmutableOopMap{[88]=Oop rdi=Oop [80]=Oop }
;*synchronization entry
; - java.lang.Math::floorMod at -1 (line 1277)
; - java.util.ImmutableCollections$SetN::probe at 9 (line 672)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e2ff56: jmpq 0x0000000117e2fc00
0x0000000117e2ff5b: movabs $0x133284a08,%r10 ; {metadata({method} {0x0000000133284a08} 'floorDiv' '(II)I' in 'java/lang/Math')}
0x0000000117e2ff65: mov %r10,0x8(%rsp)
0x0000000117e2ff6a: movq $0xffffffffffffffff,(%rsp)
0x0000000117e2ff72: callq 0x000000011798d300 ; ImmutableOopMap{[88]=Oop rdi=Oop [80]=Oop }
;*synchronization entry
; - java.lang.Math::floorDiv at -1 (line 1161)
; - java.lang.Math::floorMod at 3 (line 1277)
; - java.util.ImmutableCollections$SetN::probe at 9 (line 672)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e2ff77: jmpq 0x0000000117e2fc3a
0x0000000117e2ff7c: callq 0x0000000117989020 ; ImmutableOopMap{[88]=Oop rdi=Oop [80]=Oop }
;*idiv {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Math::floorDiv at 2 (line 1161)
; - java.lang.Math::floorMod at 3 (line 1277)
; - java.util.ImmutableCollections$SetN::probe at 9 (line 672)
; {runtime_call throw_div0_exception Runtime1 stub}
0x0000000117e2ff81: callq 0x0000000117987f20 ; ImmutableOopMap{rdi=Oop [80]=Oop rdx=Oop [88]=Oop rbx=Oop }
;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 18 (line 674)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e2ff86: mov %rsi,(%rsp)
0x0000000117e2ff8a: mov %rbx,0x8(%rsp)
0x0000000117e2ff8f: callq 0x0000000117988b20 ; ImmutableOopMap{rdi=Oop [80]=Oop rdx=Oop [88]=Oop rbx=Oop }
;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 18 (line 674)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e2ff94: callq 0x0000000117987f20 ; ImmutableOopMap{[88]=Oop rsi=Oop [80]=Oop }
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 47 (line 679)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e2ff99: movabs $0x13332d820,%r10 ; {metadata({method} {0x000000013332d820} 'probe' '(Ljava/lang/Object;)I' in 'java/util/ImmutableCollections$SetN')}
0x0000000117e2ffa3: mov %r10,0x8(%rsp)
0x0000000117e2ffa8: movq $0x35,(%rsp)
0x0000000117e2ffb0: callq 0x000000011798d300 ; ImmutableOopMap{[88]=Oop rsi=Oop [80]=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN::probe at 53 (line 682)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e2ffb5: jmpq 0x0000000117e2fea7
0x0000000117e2ffba: nop
0x0000000117e2ffbb: nop
0x0000000117e2ffbc: mov 0x420(%r15),%rax
0x0000000117e2ffc3: movabs $0x0,%r10
0x0000000117e2ffcd: mov %r10,0x420(%r15)
0x0000000117e2ffd4: movabs $0x0,%r10
0x0000000117e2ffde: mov %r10,0x428(%r15)
0x0000000117e2ffe5: add $0x70,%rsp
0x0000000117e2ffe9: pop %rbp
0x0000000117e2ffea: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e2ffef: hlt
0x0000000117e2fff0: hlt
0x0000000117e2fff1: hlt
0x0000000117e2fff2: hlt
0x0000000117e2fff3: hlt
0x0000000117e2fff4: hlt
0x0000000117e2fff5: hlt
0x0000000117e2fff6: hlt
0x0000000117e2fff7: hlt
0x0000000117e2fff8: hlt
0x0000000117e2fff9: hlt
0x0000000117e2fffa: hlt
0x0000000117e2fffb: hlt
0x0000000117e2fffc: hlt
0x0000000117e2fffd: hlt
0x0000000117e2fffe: hlt
0x0000000117e2ffff: hlt
[Stub Code]
0x0000000117e30000: nopl 0x0(%rax,%rax,1) ; {no_reloc}
0x0000000117e30005: movabs $0x0,%rbx ; {static_stub}
0x0000000117e3000f: jmpq 0x0000000117e3000f ; {runtime_call}
0x0000000117e30014: nop
0x0000000117e30015: movabs $0x0,%rbx ; {static_stub}
0x0000000117e3001f: jmpq 0x0000000117e3001f ; {runtime_call}
[Exception Handler]
0x0000000117e30024: callq 0x000000011798a600 ; {runtime_call handle_exception_from_callee Runtime1 stub}
0x0000000117e30029: mov %rsp,-0x28(%rsp)
0x0000000117e3002e: sub $0x80,%rsp
0x0000000117e30035: mov %rax,0x78(%rsp)
0x0000000117e3003a: mov %rcx,0x70(%rsp)
0x0000000117e3003f: mov %rdx,0x68(%rsp)
0x0000000117e30044: mov %rbx,0x60(%rsp)
0x0000000117e30049: mov %rbp,0x50(%rsp)
0x0000000117e3004e: mov %rsi,0x48(%rsp)
0x0000000117e30053: mov %rdi,0x40(%rsp)
0x0000000117e30058: mov %r8,0x38(%rsp)
0x0000000117e3005d: mov %r9,0x30(%rsp)
0x0000000117e30062: mov %r10,0x28(%rsp)
0x0000000117e30067: mov %r11,0x20(%rsp)
0x0000000117e3006c: mov %r12,0x18(%rsp)
0x0000000117e30071: mov %r13,0x10(%rsp)
0x0000000117e30076: mov %r14,0x8(%rsp)
0x0000000117e3007b: mov %r15,(%rsp)
0x0000000117e3007f: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e30089: movabs $0x117e30029,%rsi ; {internal_word}
0x0000000117e30093: mov %rsp,%rdx
0x0000000117e30096: and $0xfffffffffffffff0,%rsp
0x0000000117e3009a: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e3009f: hlt
[Deopt Handler Code]
0x0000000117e300a0: movabs $0x117e300a0,%r10 ; {section_word}
0x0000000117e300aa: push %r10
0x0000000117e300ac: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e300b1: hlt
0x0000000117e300b2: hlt
0x0000000117e300b3: hlt
0x0000000117e300b4: hlt
0x0000000117e300b5: hlt
0x0000000117e300b6: hlt
0x0000000117e300b7: hlt
ImmutableOopMap{[88]=Oop [80]=Oop }pc offsets: 276 852
ImmutableOopMap{[88]=Oop rsi=Oop [80]=Oop }pc offsets: 1038
ImmutableOopMap{rsi=Oop [80]=Oop rdx=Oop [88]=Oop }pc offsets: 1163
ImmutableOopMap{rdx=Oop [88]=Oop [80]=Oop }pc offsets: 1173
ImmutableOopMap{[88]=Oop rdi=Oop [80]=Oop }pc offsets: 1178 1206 1239 1249
ImmutableOopMap{rdi=Oop [80]=Oop rdx=Oop [88]=Oop rbx=Oop }pc offsets: 1254 1268
ImmutableOopMap{[88]=Oop rsi=Oop [80]=Oop }pc offsets: 1273 1301 ----------------------------------------------------------------------
jdk/internal/misc/Unsafe.getObjectVolatile(Ljava/lang/Object;J)Ljava/lang/Object; [0x000000011f3661c0, 0x000000011f366440] 640 bytes
[Entry Point]
# {method} {0x00000001331bfba8} 'getObjectVolatile' '(Ljava/lang/Object;J)Ljava/lang/Object;' in 'jdk/internal/misc/Unsafe'
# this: rsi:rsi = 'jdk/internal/misc/Unsafe'
# parm0: rdx:rdx = 'java/lang/Object'
# parm1: rcx:rcx = long
# [sp+0x50] (sp of caller)
0x000000011f3661c0: mov 0x8(%rsi),%r10d
0x000000011f3661c4: movabs $0x800000000,%r12
0x000000011f3661ce: add %r12,%r10
0x000000011f3661d1: xor %r12,%r12
0x000000011f3661d4: cmp %r10,%rax
0x000000011f3661d7: je 0x000000011f3661e8
0x000000011f3661dd: jmpq 0x00000001178c4c80 ; {runtime_call ic_miss_stub}
0x000000011f3661e2: nopw 0x0(%rax,%rax,1)
[Verified Entry Point]
0x000000011f3661e8: mov %eax,-0x14000(%rsp)
0x000000011f3661ef: push %rbp
0x000000011f3661f0: mov %rsp,%rbp
0x000000011f3661f3: sub $0x40,%rsp
0x000000011f3661f7: mov %rdx,0x8(%rsp)
0x000000011f3661fc: cmp $0x0,%rdx
0x000000011f366200: lea 0x8(%rsp),%rdx
0x000000011f366205: cmove 0x8(%rsp),%rdx
0x000000011f36620b: mov %rsi,(%rsp)
0x000000011f36620f: cmp $0x0,%rsi
0x000000011f366213: lea (%rsp),%rsi
0x000000011f366217: cmove (%rsp),%rsi ; ImmutableOopMap{[8]=Oop [0]=Oop }
0x000000011f36621c: vzeroupper
0x000000011f36621f: movabs $0x11f36621c,%r10 ; {internal_word}
0x000000011f366229: mov %r10,0x328(%r15)
0x000000011f366230: mov %rsp,0x320(%r15)
0x000000011f366237: cmpb $0x0,-0x10ad336c(%rip) # 0x000000010e892ed2
; {external_word}
0x000000011f36623e: je 0x000000011f36627a
0x000000011f366244: push %rsi
0x000000011f366245: push %rdx
0x000000011f366246: push %rcx
0x000000011f366247: movabs $0x1331bfba8,%rsi ; {metadata({method} {0x00000001331bfba8} 'getObjectVolatile' '(Ljava/lang/Object;J)Ljava/lang/Object;' in 'jdk/internal/misc/Unsafe')}
0x000000011f366251: mov %r15,%rdi
0x000000011f366254: test $0xf,%esp
0x000000011f36625a: je 0x000000011f366272
0x000000011f366260: sub $0x8,%rsp
0x000000011f366264: callq 0x000000010e560614 ; {runtime_call SharedRuntime::dtrace_method_entry(JavaThread*, Method*)}
0x000000011f366269: add $0x8,%rsp
0x000000011f36626d: jmpq 0x000000011f366277
0x000000011f366272: callq 0x000000010e560614 ; {runtime_call SharedRuntime::dtrace_method_entry(JavaThread*, Method*)}
0x000000011f366277: pop %rcx
0x000000011f366278: pop %rdx
0x000000011f366279: pop %rsi
0x000000011f36627a: lea 0x340(%r15),%rdi
0x000000011f366281: movl $0x4,0x3b8(%r15)
0x000000011f36628c: callq 0x000000010e6105e0 ; {runtime_call Unsafe_GetObjectVolatile(JNIEnv_*, _jobject*, _jobject*, long)}
0x000000011f366291: vzeroupper
0x000000011f366294: movl $0x5,0x3b8(%r15)
0x000000011f36629f: lock addl $0x0,-0x40(%rsp)
0x000000011f3662a5: testb $0x8,0x108(%r15)
0x000000011f3662ad: jne 0x000000011f3662c4
0x000000011f3662b3: cmpl $0x0,0xd8(%r15)
0x000000011f3662be: je 0x000000011f3662e8
0x000000011f3662c4: vzeroupper
0x000000011f3662c7: mov %rax,-0x8(%rbp)
0x000000011f3662cb: mov %r15,%rdi
0x000000011f3662ce: mov %rsp,%r12
0x000000011f3662d1: sub $0x0,%rsp
0x000000011f3662d5: and $0xfffffffffffffff0,%rsp
0x000000011f3662d9: callq 0x000000010e5f6234 ; {runtime_call JavaThread::check_special_condition_for_native_trans(JavaThread*)}
0x000000011f3662de: mov %r12,%rsp
0x000000011f3662e1: xor %r12,%r12
0x000000011f3662e4: mov -0x8(%rbp),%rax
0x000000011f3662e8: movl $0x8,0x3b8(%r15)
0x000000011f3662f3: cmpl $0x2,0x408(%r15)
0x000000011f3662fe: je 0x000000011f366417
0x000000011f366304: cmpb $0x0,-0x10ad3439(%rip) # 0x000000010e892ed2
; {external_word}
0x000000011f36630b: je 0x000000011f366349
0x000000011f366311: mov %rax,-0x8(%rbp)
0x000000011f366315: movabs $0x1331bfba8,%rsi ; {metadata({method} {0x00000001331bfba8} 'getObjectVolatile' '(Ljava/lang/Object;J)Ljava/lang/Object;' in 'jdk/internal/misc/Unsafe')}
0x000000011f36631f: mov %r15,%rdi
0x000000011f366322: test $0xf,%esp
0x000000011f366328: je 0x000000011f366340
0x000000011f36632e: sub $0x8,%rsp
0x000000011f366332: callq 0x000000010e56068e ; {runtime_call SharedRuntime::dtrace_method_exit(JavaThread*, Method*)}
0x000000011f366337: add $0x8,%rsp
0x000000011f36633b: jmpq 0x000000011f366345
0x000000011f366340: callq 0x000000010e56068e ; {runtime_call SharedRuntime::dtrace_method_exit(JavaThread*, Method*)}
0x000000011f366345: mov -0x8(%rbp),%rax
0x000000011f366349: movabs $0x0,%r10
0x000000011f366353: mov %r10,0x320(%r15)
0x000000011f36635a: movabs $0x0,%r10
0x000000011f366364: mov %r10,0x328(%r15)
0x000000011f36636b: vzeroupper
0x000000011f36636e: test %rax,%rax
0x000000011f366371: je 0x000000011f3663f1
0x000000011f366377: test $0x1,%rax
0x000000011f36637d: je 0x000000011f3663ee
0x000000011f366383: mov -0x1(%rax),%rax
0x000000011f366387: cmpb $0x0,0x30(%r15)
0x000000011f36638c: je 0x000000011f3663e9
0x000000011f366392: cmp $0x0,%rax
0x000000011f366396: je 0x000000011f3663e9
0x000000011f36639c: mov 0x38(%r15),%rcx
0x000000011f3663a0: cmp $0x0,%rcx
0x000000011f3663a4: je 0x000000011f3663be
0x000000011f3663aa: sub $0x8,%rcx
0x000000011f3663ae: mov %rcx,0x38(%r15)
0x000000011f3663b2: add 0x48(%r15),%rcx
0x000000011f3663b6: mov %rax,(%rcx)
0x000000011f3663b9: jmpq 0x000000011f3663e9
0x000000011f3663be: push %rax
0x000000011f3663bf: mov %r15,%rsi
0x000000011f3663c2: mov %rax,%rdi
0x000000011f3663c5: test $0xf,%esp
0x000000011f3663cb: je 0x000000011f3663e3
0x000000011f3663d1: sub $0x8,%rsp
0x000000011f3663d5: callq 0x000000010e1c4590 ; {runtime_call G1BarrierSetRuntime::write_ref_field_pre_entry(oopDesc*, JavaThread*)}
0x000000011f3663da: add $0x8,%rsp
0x000000011f3663de: jmpq 0x000000011f3663e8
0x000000011f3663e3: callq 0x000000010e1c4590 ; {runtime_call G1BarrierSetRuntime::write_ref_field_pre_entry(oopDesc*, JavaThread*)}
0x000000011f3663e8: pop %rax
0x000000011f3663e9: jmpq 0x000000011f3663f1
0x000000011f3663ee: mov (%rax),%rax
0x000000011f3663f1: mov 0xe0(%r15),%rcx
0x000000011f3663f8: movl $0x0,0x100(%rcx)
0x000000011f366402: leaveq
0x000000011f366403: cmpq $0x0,0x8(%r15)
0x000000011f36640b: jne 0x000000011f366412
0x000000011f366411: retq
0x000000011f366412: jmpq Stub::forward exception ; {runtime_call StubRoutines (1)}
0x000000011f366417: vzeroupper
0x000000011f36641a: mov %rax,-0x8(%rbp)
0x000000011f36641e: mov %rsp,%r12
0x000000011f366421: sub $0x0,%rsp
0x000000011f366425: and $0xfffffffffffffff0,%rsp
0x000000011f366429: callq 0x000000010e562204 ; {runtime_call SharedRuntime::reguard_yellow_pages()}
0x000000011f36642e: mov %r12,%rsp
0x000000011f366431: xor %r12,%r12
0x000000011f366434: mov -0x8(%rbp),%rax
0x000000011f366438: jmpq 0x000000011f366304
0x000000011f36643d: hlt
0x000000011f36643e: hlt
0x000000011f36643f: hlt
Compiled method (c1) 76 17 1 java.lang.Object::<init> (1 bytes)
total in heap [0x000000011f366490,0x000000011f3667a0] = 784
relocation [0x000000011f366608,0x000000011f366630] = 40
main code [0x000000011f366640,0x000000011f3666c0] = 128
stub code [0x000000011f3666c0,0x000000011f366750] = 144
metadata [0x000000011f366750,0x000000011f366760] = 16
scopes data [0x000000011f366760,0x000000011f366768] = 8
scopes pcs [0x000000011f366768,0x000000011f366798] = 48
dependencies [0x000000011f366798,0x000000011f3667a0] = 8
----------------------------------------------------------------------
java/lang/Object.<init>()V [0x000000011f366640, 0x000000011f366750] 272 bytes
[Entry Point]
[Constants]
# {method} {0x0000000133107610} '<init>' '()V' in 'java/lang/Object'
# [sp+0x40] (sp of caller)
0x000000011f366640: mov 0x8(%rsi),%r10d
0x000000011f366644: movabs $0x800000000,%r12
0x000000011f36664e: add %r12,%r10
0x000000011f366651: xor %r12,%r12
0x000000011f366654: cmp %rax,%r10
0x000000011f366657: jne 0x00000001178c4c80 ; {runtime_call ic_miss_stub}
0x000000011f36665d: data16 xchg %ax,%ax
[Verified Entry Point]
0x000000011f366660: mov %eax,-0x14000(%rsp)
0x000000011f366667: push %rbp
0x000000011f366668: sub $0x30,%rsp ;*return {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Object::<init>@0 (line 50)
0x000000011f36666c: add $0x30,%rsp
0x000000011f366670: pop %rbp
0x000000011f366671: mov 0x108(%r15),%r10
0x000000011f366678: test %eax,(%r10) ; {poll_return}
0x000000011f36667b: retq
0x000000011f36667c: nop
0x000000011f36667d: nop
0x000000011f36667e: mov 0x420(%r15),%rax
0x000000011f366685: movabs $0x0,%r10
0x000000011f36668f: mov %r10,0x420(%r15)
0x000000011f366696: movabs $0x0,%r10
0x000000011f3666a0: mov %r10,0x428(%r15)
0x000000011f3666a7: add $0x30,%rsp
0x000000011f3666ab: pop %rbp
0x000000011f3666ac: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x000000011f3666b1: hlt
0x000000011f3666b2: hlt
0x000000011f3666b3: hlt
0x000000011f3666b4: hlt
0x000000011f3666b5: hlt
0x000000011f3666b6: hlt
0x000000011f3666b7: hlt
0x000000011f3666b8: hlt
0x000000011f3666b9: hlt
0x000000011f3666ba: hlt
0x000000011f3666bb: hlt
0x000000011f3666bc: hlt
0x000000011f3666bd: hlt
0x000000011f3666be: hlt
0x000000011f3666bf: hlt
[Exception Handler]
[Stub Code]
0x000000011f3666c0: callq 0x000000011798a600 ; {no_reloc}
0x000000011f3666c5: mov %rsp,-0x28(%rsp)
0x000000011f3666ca: sub $0x80,%rsp
0x000000011f3666d1: mov %rax,0x78(%rsp)
0x000000011f3666d6: mov %rcx,0x70(%rsp)
0x000000011f3666db: mov %rdx,0x68(%rsp)
0x000000011f3666e0: mov %rbx,0x60(%rsp)
0x000000011f3666e5: mov %rbp,0x50(%rsp)
0x000000011f3666ea: mov %rsi,0x48(%rsp)
0x000000011f3666ef: mov %rdi,0x40(%rsp)
0x000000011f3666f4: mov %r8,0x38(%rsp)
0x000000011f3666f9: mov %r9,0x30(%rsp)
0x000000011f3666fe: mov %r10,0x28(%rsp)
0x000000011f366703: mov %r11,0x20(%rsp)
0x000000011f366708: mov %r12,0x18(%rsp)
0x000000011f36670d: mov %r13,0x10(%rsp)
0x000000011f366712: mov %r14,0x8(%rsp)
0x000000011f366717: mov %r15,(%rsp)
0x000000011f36671b: movabs $0x10e6c818e,%rdi ; {external_word}
0x000000011f366725: movabs $0x11f3666c5,%rsi ; {internal_word}
0x000000011f36672f: mov %rsp,%rdx
0x000000011f366732: and $0xfffffffffffffff0,%rsp
0x000000011f366736: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x000000011f36673b: hlt
[Deopt Handler Code]
0x000000011f36673c: movabs $0x11f36673c,%r10 ; {section_word}
0x000000011f366746: push %r10
0x000000011f366748: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x000000011f36674d: hlt
0x000000011f36674e: hlt
0x000000011f36674f: hlt
Compiled method (c1) 79 24 3 java.util.ImmutableCollections$SetN$SetNIterator::next (47 bytes)
total in heap [0x0000000117e30490,0x0000000117e30d58] = 2248
relocation [0x0000000117e30608,0x0000000117e30678] = 112
main code [0x0000000117e30680,0x0000000117e309c0] = 832
stub code [0x0000000117e309c0,0x0000000117e30a78] = 184
metadata [0x0000000117e30a78,0x0000000117e30a88] = 16
scopes data [0x0000000117e30a88,0x0000000117e30b48] = 192
scopes pcs [0x0000000117e30b48,0x0000000117e30d38] = 496
dependencies [0x0000000117e30d38,0x0000000117e30d40] = 8
nul chk table [0x0000000117e30d40,0x0000000117e30d58] = 24
----------------------------------------------------------------------
java/util/ImmutableCollections$SetN$SetNIterator.next()Ljava/lang/Object; [0x0000000117e30680, 0x0000000117e30a78] 1016 bytes
[Entry Point]
[Constants]
# {method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator'
# [sp+0x60] (sp of caller)
0x0000000117e30680: mov 0x8(%rsi),%r10d
0x0000000117e30684: movabs $0x800000000,%r12
0x0000000117e3068e: add %r12,%r10
0x0000000117e30691: xor %r12,%r12
0x0000000117e30694: cmp %rax,%r10
0x0000000117e30697: jne 0x00000001178c4c80 ; {runtime_call ic_miss_stub}
0x0000000117e3069d: data16 xchg %ax,%ax
[Verified Entry Point]
0x0000000117e306a0: mov %eax,-0x14000(%rsp)
0x0000000117e306a7: push %rbp
0x0000000117e306a8: sub $0x50,%rsp
0x0000000117e306ac: mov %rsi,0x38(%rsp)
0x0000000117e306b1: movabs $0x133399d60,%rdi ; {metadata(method data for {method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e306bb: mov 0x104(%rdi),%ebx
0x0000000117e306c1: add $0x8,%ebx
0x0000000117e306c4: mov %ebx,0x104(%rdi)
0x0000000117e306ca: and $0x1ff8,%ebx
0x0000000117e306d0: cmp $0x0,%ebx
0x0000000117e306d3: je 0x0000000117e308e6 ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 0 (line 639)
0x0000000117e306d9: mov %rsi,%rdi
0x0000000117e306dc: movabs $0x133399d60,%rbx ; {metadata(method data for {method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e306e6: addq $0x1,0x140(%rbx)
0x0000000117e306ee: movabs $0x1333900c0,%rdi ; {metadata(method data for {method} {0x000000013338ea10} 'hasNext' '()Z' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e306f8: mov 0x104(%rdi),%ebx
0x0000000117e306fe: add $0x8,%ebx
0x0000000117e30701: mov %ebx,0x104(%rdi)
0x0000000117e30707: and $0x7ffff8,%ebx
0x0000000117e3070d: cmp $0x0,%ebx
0x0000000117e30710: je 0x0000000117e30907
0x0000000117e30716: mov 0xc(%rsi),%edi ;*getfield remaining {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::hasNext at 1 (line 620)
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 1 (line 639)
0x0000000117e30719: cmp $0x0,%edi
0x0000000117e3071c: movabs $0x1333900c0,%rdi ; {metadata(method data for {method} {0x000000013338ea10} 'hasNext' '()Z' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e30726: movabs $0x140,%rbx
0x0000000117e30730: jle 0x0000000117e30740
0x0000000117e30736: movabs $0x150,%rbx
0x0000000117e30740: mov (%rdi,%rbx,1),%rax
0x0000000117e30744: lea 0x1(%rax),%rax
0x0000000117e30748: mov %rax,(%rdi,%rbx,1)
0x0000000117e3074c: jle 0x0000000117e3076c ;*ifle {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::hasNext at 4 (line 620)
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 1 (line 639)
0x0000000117e30752: movabs $0x1333900c0,%rdi ; {metadata(method data for {method} {0x000000013338ea10} 'hasNext' '()Z' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e3075c: incl 0x160(%rdi)
0x0000000117e30762: mov $0x1,%edi
0x0000000117e30767: jmpq 0x0000000117e30771 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::hasNext at 8 (line 620)
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 1 (line 639)
0x0000000117e3076c: mov $0x0,%edi ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::hasNext at 12 (line 620)
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 1 (line 639)
0x0000000117e30771: and $0x1,%edi
0x0000000117e30774: cmp $0x0,%edi
0x0000000117e30777: movabs $0x133399d60,%rdi ; {metadata(method data for {method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e30781: movabs $0x178,%rbx
0x0000000117e3078b: je 0x0000000117e3079b
0x0000000117e30791: movabs $0x188,%rbx
0x0000000117e3079b: mov (%rdi,%rbx,1),%rax
0x0000000117e3079f: lea 0x1(%rax),%rax
0x0000000117e307a3: mov %rax,(%rdi,%rbx,1)
0x0000000117e307a7: je 0x0000000117e308a6
0x0000000117e307ad: jmpq 0x0000000117e307ff ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 4 (line 639)
0x0000000117e307b2: nopw 0x0(%rax,%rax,1)
0x0000000117e307b8: movabs $0x133399d60,%rax ; {metadata(method data for {method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e307c2: mov 0x108(%rax),%edx
0x0000000117e307c8: add $0x8,%edx
0x0000000117e307cb: mov %edx,0x108(%rax)
0x0000000117e307d1: and $0xfff8,%edx
0x0000000117e307d7: cmp $0x0,%edx
0x0000000117e307da: je 0x0000000117e30928 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 24 (line 642)
0x0000000117e307e0: mov 0x108(%r15),%r10 ; ImmutableOopMap{[56]=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 24 (line 642)
0x0000000117e307e7: test %eax,(%r10) ; {poll}
0x0000000117e307ea: movabs $0x133399d60,%rax ; {metadata(method data for {method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e307f4: incl 0x1f0(%rax) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 24 (line 642)
0x0000000117e307fa: mov 0x38(%rsp),%rsi
0x0000000117e307ff: mov 0x14(%rsi),%edi
0x0000000117e30802: shl $0x3,%rdi ;*getfield this$0 {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 8 (line 642)
0x0000000117e30806: mov 0x10(%rdi),%edi ; implicit exception: dispatches to 0x0000000117e30949
0x0000000117e30809: shl $0x3,%rdi ;*getfield elements {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 11 (line 642)
0x0000000117e3080d: mov %rsi,%rbx
0x0000000117e30810: movabs $0x133399d60,%rax ; {metadata(method data for {method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e3081a: addq $0x1,0x198(%rax)
0x0000000117e30822: mov %rsi,%rbx
0x0000000117e30825: mov %rbx,%rsi ;*invokevirtual nextIndex {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 15 (line 642)
0x0000000117e30828: mov %rdi,0x30(%rsp)
0x0000000117e3082d: xchg %ax,%ax
0x0000000117e3082f: callq 0x0000000117e309c5 ; ImmutableOopMap{[56]=Oop [48]=Oop }
;*invokevirtual nextIndex {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 15 (line 642)
; {optimized virtual_call}
0x0000000117e30834: mov 0x30(%rsp),%rdi
0x0000000117e30839: mov 0xc(%rdi),%edx ; implicit exception: dispatches to 0x0000000117e3094e
0x0000000117e3083c: cmp %eax,%edx
0x0000000117e3083e: jbe 0x0000000117e30953
0x0000000117e30844: movslq %eax,%rax
0x0000000117e30847: mov 0x10(%rdi,%rax,4),%eax
0x0000000117e3084b: shl $0x3,%rax ;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 18 (line 642)
0x0000000117e3084f: cmp $0x0,%rax
0x0000000117e30853: movabs $0x133399d60,%rdx ; {metadata(method data for {method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e3085d: movabs $0x1e0,%rsi
0x0000000117e30867: je 0x0000000117e30877
0x0000000117e3086d: movabs $0x1d0,%rsi
0x0000000117e30877: mov (%rdx,%rsi,1),%rdi
0x0000000117e3087b: lea 0x1(%rdi),%rdi
0x0000000117e3087f: mov %rdi,(%rdx,%rsi,1)
0x0000000117e30883: je 0x0000000117e307b8 ;*ifnonnull {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 21 (line 642)
0x0000000117e30889: mov 0x38(%rsp),%rsi
0x0000000117e3088e: mov 0xc(%rsi),%edx ;*getfield remaining {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 29 (line 643)
0x0000000117e30891: dec %edx
0x0000000117e30893: mov %edx,0xc(%rsi) ;*putfield remaining {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 34 (line 643)
0x0000000117e30896: add $0x50,%rsp
0x0000000117e3089a: pop %rbp
0x0000000117e3089b: mov 0x108(%r15),%r10
0x0000000117e308a2: test %eax,(%r10) ; {poll_return}
0x0000000117e308a5: retq ;*areturn {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 38 (line 644)
0x0000000117e308a6: xchg %ax,%ax
0x0000000117e308a8: jmpq 0x0000000117e30970 ; {no_reloc}
0x0000000117e308ad: add %al,(%rax)
0x0000000117e308af: add %al,(%rax)
0x0000000117e308b1: add %ch,%cl
0x0000000117e308b3: retq
0x0000000117e308b4: add %al,(%rax)
0x0000000117e308b6: add %cl,-0x75(%rax) ;*new {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 39 (line 646)
0x0000000117e308b9: lock movabs $0x133399d60,%rdi ; {metadata(method data for {method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e308c4: addq $0x1,0x208(%rdi)
0x0000000117e308cc: mov %rax,%rsi ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 43 (line 646)
0x0000000117e308cf: mov %rax,0x40(%rsp)
0x0000000117e308d4: data16 xchg %ax,%ax
0x0000000117e308d7: callq 0x00000001178c4f00 ; ImmutableOopMap{[64]=Oop }
;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 43 (line 646)
; {optimized virtual_call}
0x0000000117e308dc: mov 0x40(%rsp),%rax
0x0000000117e308e1: jmpq 0x0000000117e309b2
0x0000000117e308e6: movabs $0x13338ebe8,%r10 ; {metadata({method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e308f0: mov %r10,0x8(%rsp)
0x0000000117e308f5: movq $0xffffffffffffffff,(%rsp)
0x0000000117e308fd: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop [56]=Oop }
;*synchronization entry
; - java.util.ImmutableCollections$SetN$SetNIterator::next at -1 (line 639)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e30902: jmpq 0x0000000117e306d9
0x0000000117e30907: movabs $0x13338ea10,%r10 ; {metadata({method} {0x000000013338ea10} 'hasNext' '()Z' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e30911: mov %r10,0x8(%rsp)
0x0000000117e30916: movq $0xffffffffffffffff,(%rsp)
0x0000000117e3091e: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop [56]=Oop }
;*synchronization entry
; - java.util.ImmutableCollections$SetN$SetNIterator::hasNext at -1 (line 620)
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 1 (line 639)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e30923: jmpq 0x0000000117e30716
0x0000000117e30928: movabs $0x13338ebe8,%r10 ; {metadata({method} {0x000000013338ebe8} 'next' '()Ljava/lang/Object;' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e30932: mov %r10,0x8(%rsp)
0x0000000117e30937: movq $0x18,(%rsp)
0x0000000117e3093f: callq 0x000000011798d300 ; ImmutableOopMap{[56]=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 24 (line 642)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e30944: jmpq 0x0000000117e307e0
0x0000000117e30949: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop [56]=Oop }
;*getfield elements {reexecute=1 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 11 (line 642)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e3094e: callq 0x0000000117987f20 ; ImmutableOopMap{[56]=Oop rdi=Oop }
;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 18 (line 642)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e30953: mov %rax,(%rsp)
0x0000000117e30957: mov %rdi,0x8(%rsp)
0x0000000117e3095c: callq 0x0000000117988b20 ; ImmutableOopMap{[56]=Oop rdi=Oop }
;*aaload {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 18 (line 642)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e30961: movabs $0x0,%rdx ; {metadata(NULL)}
0x0000000117e3096b: mov $0xa050f00,%eax
0x0000000117e30970: callq 0x000000011798c180 ; ImmutableOopMap{}
;*new {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 39 (line 646)
; {runtime_call load_klass_patching Runtime1 stub}
0x0000000117e30975: jmpq 0x0000000117e308a8
0x0000000117e3097a: mov %rdx,%rdx
0x0000000117e3097d: callq 0x0000000117987800 ; ImmutableOopMap{}
;*new {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::next at 39 (line 646)
; {runtime_call new_instance Runtime1 stub}
0x0000000117e30982: jmpq 0x0000000117e308b7
0x0000000117e30987: nop
0x0000000117e30988: nop
0x0000000117e30989: mov 0x420(%r15),%rax
0x0000000117e30990: movabs $0x0,%r10
0x0000000117e3099a: mov %r10,0x420(%r15)
0x0000000117e309a1: movabs $0x0,%r10
0x0000000117e309ab: mov %r10,0x428(%r15)
0x0000000117e309b2: add $0x50,%rsp
0x0000000117e309b6: pop %rbp
0x0000000117e309b7: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e309bc: hlt
0x0000000117e309bd: hlt
0x0000000117e309be: hlt
0x0000000117e309bf: hlt
[Stub Code]
0x0000000117e309c0: nopl 0x0(%rax,%rax,1) ; {no_reloc}
0x0000000117e309c5: movabs $0x13338eb00,%rbx ; {static_stub}
0x0000000117e309cf: jmpq 0x00000001178c5c5c ; {runtime_call I2C/C2I adapters}
0x0000000117e309d4: nop
0x0000000117e309d5: movabs $0x0,%rbx ; {static_stub}
0x0000000117e309df: jmpq 0x0000000117e309df ; {runtime_call}
[Exception Handler]
0x0000000117e309e4: callq 0x000000011798a600 ; {runtime_call handle_exception_from_callee Runtime1 stub}
0x0000000117e309e9: mov %rsp,-0x28(%rsp)
0x0000000117e309ee: sub $0x80,%rsp
0x0000000117e309f5: mov %rax,0x78(%rsp)
0x0000000117e309fa: mov %rcx,0x70(%rsp)
0x0000000117e309ff: mov %rdx,0x68(%rsp)
0x0000000117e30a04: mov %rbx,0x60(%rsp)
0x0000000117e30a09: mov %rbp,0x50(%rsp)
0x0000000117e30a0e: mov %rsi,0x48(%rsp)
0x0000000117e30a13: mov %rdi,0x40(%rsp)
0x0000000117e30a18: mov %r8,0x38(%rsp)
0x0000000117e30a1d: mov %r9,0x30(%rsp)
0x0000000117e30a22: mov %r10,0x28(%rsp)
0x0000000117e30a27: mov %r11,0x20(%rsp)
0x0000000117e30a2c: mov %r12,0x18(%rsp)
0x0000000117e30a31: mov %r13,0x10(%rsp)
0x0000000117e30a36: mov %r14,0x8(%rsp)
0x0000000117e30a3b: mov %r15,(%rsp)
0x0000000117e30a3f: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e30a49: movabs $0x117e309e9,%rsi ; {internal_word}
0x0000000117e30a53: mov %rsp,%rdx
0x0000000117e30a56: and $0xfffffffffffffff0,%rsp
0x0000000117e30a5a: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e30a5f: hlt
[Deopt Handler Code]
0x0000000117e30a60: movabs $0x117e30a60,%r10 ; {section_word}
0x0000000117e30a6a: push %r10
0x0000000117e30a6c: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e30a71: hlt
0x0000000117e30a72: hlt
0x0000000117e30a73: hlt
0x0000000117e30a74: hlt
0x0000000117e30a75: hlt
0x0000000117e30a76: hlt
0x0000000117e30a77: hlt
ImmutableOopMap{[56]=Oop }pc offsets: 359
ImmutableOopMap{[56]=Oop [48]=Oop }pc offsets: 436
ImmutableOopMap{[64]=Oop }pc offsets: 604
ImmutableOopMap{rsi=Oop [56]=Oop }pc offsets: 642 675
ImmutableOopMap{[56]=Oop }pc offsets: 708
ImmutableOopMap{rsi=Oop [56]=Oop }pc offsets: 718
ImmutableOopMap{[56]=Oop rdi=Oop }pc offsets: 723 737
ImmutableOopMap{}pc offsets: 757 770 Compiled method (c1) 95 11 3 java.lang.StringLatin1::equals (36 bytes)
total in heap [0x0000000117e30d90,0x0000000117e31408] = 1656
relocation [0x0000000117e30f08,0x0000000117e30f48] = 64
main code [0x0000000117e30f60,0x0000000117e31180] = 544
stub code [0x0000000117e31180,0x0000000117e31210] = 144
metadata [0x0000000117e31210,0x0000000117e31218] = 8
scopes data [0x0000000117e31218,0x0000000117e31298] = 128
scopes pcs [0x0000000117e31298,0x0000000117e313e8] = 336
dependencies [0x0000000117e313e8,0x0000000117e313f0] = 8
nul chk table [0x0000000117e313f0,0x0000000117e31408] = 24
----------------------------------------------------------------------
java/lang/StringLatin1.equals([B[B)Z [0x0000000117e30f60, 0x0000000117e31210] 688 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x000000013325e9b8} 'equals' '([B[B)Z' in 'java/lang/StringLatin1'
# parm0: rsi:rsi = '[B'
# parm1: rdx:rdx = '[B'
# [sp+0x40] (sp of caller)
0x0000000117e30f60: mov %eax,-0x14000(%rsp)
0x0000000117e30f67: push %rbp
0x0000000117e30f68: sub $0x30,%rsp
0x0000000117e30f6c: movabs $0x1333415c0,%rax ; {metadata(method data for {method} {0x000000013325e9b8} 'equals' '([B[B)Z' in 'java/lang/StringLatin1')}
0x0000000117e30f76: mov 0x104(%rax),%edi
0x0000000117e30f7c: add $0x8,%edi
0x0000000117e30f7f: mov %edi,0x104(%rax)
0x0000000117e30f85: and $0x1ff8,%edi
0x0000000117e30f8b: cmp $0x0,%edi
0x0000000117e30f8e: je 0x0000000117e310f1 ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 0 (line 94)
0x0000000117e30f94: mov 0xc(%rsi),%eax ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 1 (line 94)
; implicit exception: dispatches to 0x0000000117e31112
0x0000000117e30f97: mov 0xc(%rdx),%edi ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 3 (line 94)
; implicit exception: dispatches to 0x0000000117e31117
0x0000000117e30f9a: cmp %edi,%eax
0x0000000117e30f9c: movabs $0x1333415c0,%rdi ; {metadata(method data for {method} {0x000000013325e9b8} 'equals' '([B[B)Z' in 'java/lang/StringLatin1')}
0x0000000117e30fa6: movabs $0x140,%rbx
0x0000000117e30fb0: jne 0x0000000117e30fc0
0x0000000117e30fb6: movabs $0x150,%rbx
0x0000000117e30fc0: mov (%rdi,%rbx,1),%rcx
0x0000000117e30fc4: lea 0x1(%rcx),%rcx
0x0000000117e30fc8: mov %rcx,(%rdi,%rbx,1)
0x0000000117e30fcc: jne 0x0000000117e310dc ;*if_icmpne {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 4 (line 94)
0x0000000117e30fd2: mov $0x0,%edi
0x0000000117e30fd7: jmpq 0x0000000117e31075 ;*iload_2 {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 9 (line 95)
0x0000000117e30fdc: nopl 0x0(%rax)
0x0000000117e30fe0: movslq %edi,%rbx
0x0000000117e30fe3: movsbl 0x10(%rsi,%rbx,1),%ebx ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 17 (line 96)
0x0000000117e30fe8: cmp 0xc(%rdx),%edi
0x0000000117e30feb: jae 0x0000000117e3111c
0x0000000117e30ff1: movslq %edi,%rcx
0x0000000117e30ff4: movsbl 0x10(%rdx,%rcx,1),%ecx ;*baload {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 20 (line 96)
0x0000000117e30ff9: cmp %ecx,%ebx
0x0000000117e30ffb: movabs $0x1333415c0,%rbx ; {metadata(method data for {method} {0x000000013325e9b8} 'equals' '([B[B)Z' in 'java/lang/StringLatin1')}
0x0000000117e31005: movabs $0x190,%rcx
0x0000000117e3100f: jne 0x0000000117e3101f
0x0000000117e31015: movabs $0x180,%rcx
0x0000000117e3101f: mov (%rbx,%rcx,1),%r8
0x0000000117e31023: lea 0x1(%r8),%r8
0x0000000117e31027: mov %r8,(%rbx,%rcx,1)
0x0000000117e3102b: jne 0x0000000117e310b2 ;*if_icmpeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 21 (line 96)
0x0000000117e31031: inc %edi
0x0000000117e31033: movabs $0x1333415c0,%rbx ; {metadata(method data for {method} {0x000000013325e9b8} 'equals' '([B[B)Z' in 'java/lang/StringLatin1')}
0x0000000117e3103d: mov 0x108(%rbx),%ecx
0x0000000117e31043: add $0x8,%ecx
0x0000000117e31046: mov %ecx,0x108(%rbx)
0x0000000117e3104c: and $0xfff8,%ecx
0x0000000117e31052: cmp $0x0,%ecx
0x0000000117e31055: je 0x0000000117e3112a ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 29 (line 95)
0x0000000117e3105b: mov 0x108(%r15),%r10 ; ImmutableOopMap{rsi=Oop rdx=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 29 (line 95)
0x0000000117e31062: test %eax,(%r10) ; {poll}
0x0000000117e31065: movabs $0x1333415c0,%rbx ; {metadata(method data for {method} {0x000000013325e9b8} 'equals' '([B[B)Z' in 'java/lang/StringLatin1')}
0x0000000117e3106f: incl 0x1a0(%rbx) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 29 (line 95)
0x0000000117e31075: cmp %eax,%edi
0x0000000117e31077: movabs $0x1333415c0,%rbx ; {metadata(method data for {method} {0x000000013325e9b8} 'equals' '([B[B)Z' in 'java/lang/StringLatin1')}
0x0000000117e31081: movabs $0x160,%rcx
0x0000000117e3108b: jge 0x0000000117e3109b
0x0000000117e31091: movabs $0x170,%rcx
0x0000000117e3109b: mov (%rbx,%rcx,1),%r8
0x0000000117e3109f: lea 0x1(%r8),%r8
0x0000000117e310a3: mov %r8,(%rbx,%rcx,1)
0x0000000117e310a7: jge 0x0000000117e310c7
0x0000000117e310ad: jmpq 0x0000000117e30fe0 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 12 (line 95)
0x0000000117e310b2: mov $0x0,%eax
0x0000000117e310b7: add $0x30,%rsp
0x0000000117e310bb: pop %rbp
0x0000000117e310bc: mov 0x108(%r15),%r10
0x0000000117e310c3: test %eax,(%r10) ; {poll_return}
0x0000000117e310c6: retq ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 25 (line 97)
0x0000000117e310c7: mov $0x1,%eax
0x0000000117e310cc: add $0x30,%rsp
0x0000000117e310d0: pop %rbp
0x0000000117e310d1: mov 0x108(%r15),%r10
0x0000000117e310d8: test %eax,(%r10) ; {poll_return}
0x0000000117e310db: retq ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 33 (line 100)
0x0000000117e310dc: mov $0x0,%eax
0x0000000117e310e1: add $0x30,%rsp
0x0000000117e310e5: pop %rbp
0x0000000117e310e6: mov 0x108(%r15),%r10
0x0000000117e310ed: test %eax,(%r10) ; {poll_return}
0x0000000117e310f0: retq
0x0000000117e310f1: movabs $0x13325e9b8,%r10 ; {metadata({method} {0x000000013325e9b8} 'equals' '([B[B)Z' in 'java/lang/StringLatin1')}
0x0000000117e310fb: mov %r10,0x8(%rsp)
0x0000000117e31100: movq $0xffffffffffffffff,(%rsp)
0x0000000117e31108: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop rdx=Oop }
;*synchronization entry
; - java.lang.StringLatin1::equals at -1 (line 94)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e3110d: jmpq 0x0000000117e30f94
0x0000000117e31112: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop rdx=Oop }
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 1 (line 94)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e31117: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop rdx=Oop }
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 3 (line 94)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e3111c: mov %rdi,(%rsp)
0x0000000117e31120: mov %rdx,0x8(%rsp)
0x0000000117e31125: callq 0x0000000117988b20 ; ImmutableOopMap{rsi=Oop rdx=Oop }
;*baload {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 20 (line 96)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e3112a: movabs $0x13325e9b8,%r10 ; {metadata({method} {0x000000013325e9b8} 'equals' '([B[B)Z' in 'java/lang/StringLatin1')}
0x0000000117e31134: mov %r10,0x8(%rsp)
0x0000000117e31139: movq $0x1d,(%rsp)
0x0000000117e31141: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop rdx=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - java.lang.StringLatin1::equals at 29 (line 95)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e31146: jmpq 0x0000000117e3105b
0x0000000117e3114b: nop
0x0000000117e3114c: nop
0x0000000117e3114d: mov 0x420(%r15),%rax
0x0000000117e31154: movabs $0x0,%r10
0x0000000117e3115e: mov %r10,0x420(%r15)
0x0000000117e31165: movabs $0x0,%r10
0x0000000117e3116f: mov %r10,0x428(%r15)
0x0000000117e31176: add $0x30,%rsp
0x0000000117e3117a: pop %rbp
0x0000000117e3117b: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
[Exception Handler]
[Stub Code]
0x0000000117e31180: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e31185: mov %rsp,-0x28(%rsp)
0x0000000117e3118a: sub $0x80,%rsp
0x0000000117e31191: mov %rax,0x78(%rsp)
0x0000000117e31196: mov %rcx,0x70(%rsp)
0x0000000117e3119b: mov %rdx,0x68(%rsp)
0x0000000117e311a0: mov %rbx,0x60(%rsp)
0x0000000117e311a5: mov %rbp,0x50(%rsp)
0x0000000117e311aa: mov %rsi,0x48(%rsp)
0x0000000117e311af: mov %rdi,0x40(%rsp)
0x0000000117e311b4: mov %r8,0x38(%rsp)
0x0000000117e311b9: mov %r9,0x30(%rsp)
0x0000000117e311be: mov %r10,0x28(%rsp)
0x0000000117e311c3: mov %r11,0x20(%rsp)
0x0000000117e311c8: mov %r12,0x18(%rsp)
0x0000000117e311cd: mov %r13,0x10(%rsp)
0x0000000117e311d2: mov %r14,0x8(%rsp)
0x0000000117e311d7: mov %r15,(%rsp)
0x0000000117e311db: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e311e5: movabs $0x117e31185,%rsi ; {internal_word}
0x0000000117e311ef: mov %rsp,%rdx
0x0000000117e311f2: and $0xfffffffffffffff0,%rsp
0x0000000117e311f6: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e311fb: hlt
[Deopt Handler Code]
0x0000000117e311fc: movabs $0x117e311fc,%r10 ; {section_word}
0x0000000117e31206: push %r10
0x0000000117e31208: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e3120d: hlt
0x0000000117e3120e: hlt
0x0000000117e3120f: hlt
ImmutableOopMap{rsi=Oop rdx=Oop }pc offsets: 258 429 439 444 458 486 Compiled method (c1) 103 15 2 java.util.ImmutableCollections$SetN$SetNIterator::hasNext (13 bytes)
total in heap [0x0000000117e31490,0x0000000117e31828] = 920
relocation [0x0000000117e31608,0x0000000117e31630] = 40
main code [0x0000000117e31640,0x0000000117e31720] = 224
stub code [0x0000000117e31720,0x0000000117e317b0] = 144
metadata [0x0000000117e317b0,0x0000000117e317b8] = 8
scopes data [0x0000000117e317b8,0x0000000117e317d0] = 24
scopes pcs [0x0000000117e317d0,0x0000000117e31820] = 80
dependencies [0x0000000117e31820,0x0000000117e31828] = 8
----------------------------------------------------------------------
java/util/ImmutableCollections$SetN$SetNIterator.hasNext()Z [0x0000000117e31640, 0x0000000117e317b0] 368 bytes
[Entry Point]
[Constants]
# {method} {0x000000013338ea10} 'hasNext' '()Z' in 'java/util/ImmutableCollections$SetN$SetNIterator'
# [sp+0x40] (sp of caller)
0x0000000117e31640: mov 0x8(%rsi),%r10d
0x0000000117e31644: movabs $0x800000000,%r12
0x0000000117e3164e: add %r12,%r10
0x0000000117e31651: xor %r12,%r12
0x0000000117e31654: cmp %rax,%r10
0x0000000117e31657: jne 0x00000001178c4c80 ; {runtime_call ic_miss_stub}
0x0000000117e3165d: data16 xchg %ax,%ax
[Verified Entry Point]
0x0000000117e31660: mov %eax,-0x14000(%rsp)
0x0000000117e31667: push %rbp
0x0000000117e31668: sub $0x30,%rsp
0x0000000117e3166c: movabs $0x13338eeb8,%rax
0x0000000117e31676: mov 0x18(%rax),%edi
0x0000000117e31679: add $0x8,%edi
0x0000000117e3167c: mov %edi,0x18(%rax)
0x0000000117e3167f: and $0x3ff8,%edi
0x0000000117e31685: cmp $0x0,%edi
0x0000000117e31688: je 0x0000000117e316b7 ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::hasNext at 0 (line 620)
0x0000000117e3168e: mov 0xc(%rsi),%eax ;*getfield remaining {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::hasNext at 1 (line 620)
0x0000000117e31691: cmp $0x0,%eax
0x0000000117e31694: mov $0x0,%eax
0x0000000117e31699: jle 0x0000000117e316a4
0x0000000117e3169f: mov $0x1,%eax
0x0000000117e316a4: and $0x1,%eax
0x0000000117e316a7: add $0x30,%rsp
0x0000000117e316ab: pop %rbp
0x0000000117e316ac: mov 0x108(%r15),%r10
0x0000000117e316b3: test %eax,(%r10) ; {poll_return}
0x0000000117e316b6: retq
0x0000000117e316b7: movabs $0x13338ea10,%r10 ; {metadata({method} {0x000000013338ea10} 'hasNext' '()Z' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e316c1: mov %r10,0x8(%rsp)
0x0000000117e316c6: movq $0xffffffffffffffff,(%rsp)
0x0000000117e316ce: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop }
;*synchronization entry
; - java.util.ImmutableCollections$SetN$SetNIterator::hasNext at -1 (line 620)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e316d3: jmp 0x0000000117e3168e
0x0000000117e316d5: nop
0x0000000117e316d6: nop
0x0000000117e316d7: mov 0x420(%r15),%rax
0x0000000117e316de: movabs $0x0,%r10
0x0000000117e316e8: mov %r10,0x420(%r15)
0x0000000117e316ef: movabs $0x0,%r10
0x0000000117e316f9: mov %r10,0x428(%r15)
0x0000000117e31700: add $0x30,%rsp
0x0000000117e31704: pop %rbp
0x0000000117e31705: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e3170a: hlt
0x0000000117e3170b: hlt
0x0000000117e3170c: hlt
0x0000000117e3170d: hlt
0x0000000117e3170e: hlt
0x0000000117e3170f: hlt
0x0000000117e31710: hlt
0x0000000117e31711: hlt
0x0000000117e31712: hlt
0x0000000117e31713: hlt
0x0000000117e31714: hlt
0x0000000117e31715: hlt
0x0000000117e31716: hlt
0x0000000117e31717: hlt
0x0000000117e31718: hlt
0x0000000117e31719: hlt
0x0000000117e3171a: hlt
0x0000000117e3171b: hlt
0x0000000117e3171c: hlt
0x0000000117e3171d: hlt
0x0000000117e3171e: hlt
0x0000000117e3171f: hlt
[Exception Handler]
[Stub Code]
0x0000000117e31720: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e31725: mov %rsp,-0x28(%rsp)
0x0000000117e3172a: sub $0x80,%rsp
0x0000000117e31731: mov %rax,0x78(%rsp)
0x0000000117e31736: mov %rcx,0x70(%rsp)
0x0000000117e3173b: mov %rdx,0x68(%rsp)
0x0000000117e31740: mov %rbx,0x60(%rsp)
0x0000000117e31745: mov %rbp,0x50(%rsp)
0x0000000117e3174a: mov %rsi,0x48(%rsp)
0x0000000117e3174f: mov %rdi,0x40(%rsp)
0x0000000117e31754: mov %r8,0x38(%rsp)
0x0000000117e31759: mov %r9,0x30(%rsp)
0x0000000117e3175e: mov %r10,0x28(%rsp)
0x0000000117e31763: mov %r11,0x20(%rsp)
0x0000000117e31768: mov %r12,0x18(%rsp)
0x0000000117e3176d: mov %r13,0x10(%rsp)
0x0000000117e31772: mov %r14,0x8(%rsp)
0x0000000117e31777: mov %r15,(%rsp)
0x0000000117e3177b: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e31785: movabs $0x117e31725,%rsi ; {internal_word}
0x0000000117e3178f: mov %rsp,%rdx
0x0000000117e31792: and $0xfffffffffffffff0,%rsp
0x0000000117e31796: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e3179b: hlt
[Deopt Handler Code]
0x0000000117e3179c: movabs $0x117e3179c,%r10 ; {section_word}
0x0000000117e317a6: push %r10
0x0000000117e317a8: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e317ad: hlt
0x0000000117e317ae: hlt
0x0000000117e317af: hlt
ImmutableOopMap{rsi=Oop }pc offsets: 147 Compiled method (c1) 108 19 2 java.util.ImmutableCollections$SetN$SetNIterator::nextIndex (56 bytes)
total in heap [0x0000000117e31890,0x0000000117e31ce0] = 1104
relocation [0x0000000117e31a08,0x0000000117e31a38] = 48
main code [0x0000000117e31a40,0x0000000117e31b20] = 224
stub code [0x0000000117e31b20,0x0000000117e31bb0] = 144
metadata [0x0000000117e31bb0,0x0000000117e31bb8] = 8
scopes data [0x0000000117e31bb8,0x0000000117e31c00] = 72
scopes pcs [0x0000000117e31c00,0x0000000117e31cc0] = 192
dependencies [0x0000000117e31cc0,0x0000000117e31cc8] = 8
nul chk table [0x0000000117e31cc8,0x0000000117e31ce0] = 24
----------------------------------------------------------------------
java/util/ImmutableCollections$SetN$SetNIterator.nextIndex()I [0x0000000117e31a40, 0x0000000117e31bb0] 368 bytes
[Entry Point]
[Constants]
# {method} {0x000000013338eb00} 'nextIndex' '()I' in 'java/util/ImmutableCollections$SetN$SetNIterator'
# [sp+0x40] (sp of caller)
0x0000000117e31a40: mov 0x8(%rsi),%r10d
0x0000000117e31a44: movabs $0x800000000,%r12
0x0000000117e31a4e: add %r12,%r10
0x0000000117e31a51: xor %r12,%r12
0x0000000117e31a54: cmp %rax,%r10
0x0000000117e31a57: jne 0x00000001178c4c80 ; {runtime_call ic_miss_stub}
0x0000000117e31a5d: data16 xchg %ax,%ax
[Verified Entry Point]
0x0000000117e31a60: mov %eax,-0x14000(%rsp)
0x0000000117e31a67: push %rbp
0x0000000117e31a68: sub $0x30,%rsp
0x0000000117e31a6c: movabs $0x13338ef58,%rax
0x0000000117e31a76: mov 0x18(%rax),%edi
0x0000000117e31a79: add $0x8,%edi
0x0000000117e31a7c: mov %edi,0x18(%rax)
0x0000000117e31a7f: and $0x3ff8,%edi
0x0000000117e31a85: cmp $0x0,%edi
0x0000000117e31a88: je 0x0000000117e31ac2 ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at 0 (line 624)
0x0000000117e31a8e: mov 0x10(%rsi),%eax ;*getfield idx {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at 1 (line 624)
0x0000000117e31a91: dec %eax
0x0000000117e31a93: cmp $0x0,%eax
0x0000000117e31a96: jge 0x0000000117e31aaf ;*ifge {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at 35 (line 630)
0x0000000117e31a9c: mov 0x14(%rsi),%eax
0x0000000117e31a9f: shl $0x3,%rax ;*getfield this$0 {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at 39 (line 631)
0x0000000117e31aa3: mov 0x10(%rax),%eax ; implicit exception: dispatches to 0x0000000117e31ae0
0x0000000117e31aa6: shl $0x3,%rax ;*getfield elements {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at 42 (line 631)
0x0000000117e31aaa: mov 0xc(%rax),%eax ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at 45 (line 631)
; implicit exception: dispatches to 0x0000000117e31ae5
0x0000000117e31aad: dec %eax
0x0000000117e31aaf: mov %eax,0x10(%rsi) ;*putfield idx {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at 52 (line 634)
0x0000000117e31ab2: add $0x30,%rsp
0x0000000117e31ab6: pop %rbp
0x0000000117e31ab7: mov 0x108(%r15),%r10
0x0000000117e31abe: test %eax,(%r10) ; {poll_return}
0x0000000117e31ac1: retq
0x0000000117e31ac2: movabs $0x13338eb00,%r10 ; {metadata({method} {0x000000013338eb00} 'nextIndex' '()I' in 'java/util/ImmutableCollections$SetN$SetNIterator')}
0x0000000117e31acc: mov %r10,0x8(%rsp)
0x0000000117e31ad1: movq $0xffffffffffffffff,(%rsp)
0x0000000117e31ad9: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop }
;*synchronization entry
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at -1 (line 624)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e31ade: jmp 0x0000000117e31a8e
0x0000000117e31ae0: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop }
;*getfield elements {reexecute=1 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at 42 (line 631)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e31ae5: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop }
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.util.ImmutableCollections$SetN$SetNIterator::nextIndex at 45 (line 631)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e31aea: nop
0x0000000117e31aeb: nop
0x0000000117e31aec: mov 0x420(%r15),%rax
0x0000000117e31af3: movabs $0x0,%r10
0x0000000117e31afd: mov %r10,0x420(%r15)
0x0000000117e31b04: movabs $0x0,%r10
0x0000000117e31b0e: mov %r10,0x428(%r15)
0x0000000117e31b15: add $0x30,%rsp
0x0000000117e31b19: pop %rbp
0x0000000117e31b1a: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e31b1f: hlt
[Exception Handler]
[Stub Code]
0x0000000117e31b20: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e31b25: mov %rsp,-0x28(%rsp)
0x0000000117e31b2a: sub $0x80,%rsp
0x0000000117e31b31: mov %rax,0x78(%rsp)
0x0000000117e31b36: mov %rcx,0x70(%rsp)
0x0000000117e31b3b: mov %rdx,0x68(%rsp)
0x0000000117e31b40: mov %rbx,0x60(%rsp)
0x0000000117e31b45: mov %rbp,0x50(%rsp)
0x0000000117e31b4a: mov %rsi,0x48(%rsp)
0x0000000117e31b4f: mov %rdi,0x40(%rsp)
0x0000000117e31b54: mov %r8,0x38(%rsp)
0x0000000117e31b59: mov %r9,0x30(%rsp)
0x0000000117e31b5e: mov %r10,0x28(%rsp)
0x0000000117e31b63: mov %r11,0x20(%rsp)
0x0000000117e31b68: mov %r12,0x18(%rsp)
0x0000000117e31b6d: mov %r13,0x10(%rsp)
0x0000000117e31b72: mov %r14,0x8(%rsp)
0x0000000117e31b77: mov %r15,(%rsp)
0x0000000117e31b7b: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e31b85: movabs $0x117e31b25,%rsi ; {internal_word}
0x0000000117e31b8f: mov %rsp,%rdx
0x0000000117e31b92: and $0xfffffffffffffff0,%rsp
0x0000000117e31b96: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e31b9b: hlt
[Deopt Handler Code]
0x0000000117e31b9c: movabs $0x117e31b9c,%r10 ; {section_word}
0x0000000117e31ba6: push %r10
0x0000000117e31ba8: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e31bad: hlt
0x0000000117e31bae: hlt
0x0000000117e31baf: hlt
ImmutableOopMap{rsi=Oop }pc offsets: 158 165 170 Compiled method (c1) 113 37 3 TestArrayMult::carryValue (9 bytes)
total in heap [0x0000000117e31d10,0x0000000117e32080] = 880
relocation [0x0000000117e31e88,0x0000000117e31eb0] = 40
main code [0x0000000117e31ec0,0x0000000117e31f80] = 192
stub code [0x0000000117e31f80,0x0000000117e32010] = 144
oops [0x0000000117e32010,0x0000000117e32018] = 8
metadata [0x0000000117e32018,0x0000000117e32020] = 8
scopes data [0x0000000117e32020,0x0000000117e32038] = 24
scopes pcs [0x0000000117e32038,0x0000000117e32078] = 64
dependencies [0x0000000117e32078,0x0000000117e32080] = 8
----------------------------------------------------------------------
TestArrayMult.carryValue(J)J [0x0000000117e31ec0, 0x0000000117e32010] 336 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x00000001335074d0} 'carryValue' '(J)J' in 'TestArrayMult'
# parm0: rsi:rsi = long
# [sp+0x40] (sp of caller)
0x0000000117e31ec0: mov %eax,-0x14000(%rsp)
0x0000000117e31ec7: push %rbp
0x0000000117e31ec8: sub $0x30,%rsp
0x0000000117e31ecc: movabs $0x133507c30,%rcx ; {metadata(method data for {method} {0x00000001335074d0} 'carryValue' '(J)J' in 'TestArrayMult')}
0x0000000117e31ed6: mov 0x104(%rcx),%eax
0x0000000117e31edc: add $0x8,%eax
0x0000000117e31edf: mov %eax,0x104(%rcx)
0x0000000117e31ee5: and $0x1ff8,%eax
0x0000000117e31eeb: cmp $0x0,%eax
0x0000000117e31eee: je 0x0000000117e31f1c ;*lload_0 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 0 (line 23)
0x0000000117e31ef4: movabs $0x2000000,%r10
0x0000000117e31efe: add %r10,%rsi
0x0000000117e31f01: mov $0x1a,%ecx
0x0000000117e31f06: sar %cl,%rsi
0x0000000117e31f09: mov %rsi,%rax
0x0000000117e31f0c: add $0x30,%rsp
0x0000000117e31f10: pop %rbp
0x0000000117e31f11: mov 0x108(%r15),%r10
0x0000000117e31f18: test %eax,(%r10) ; {poll_return}
0x0000000117e31f1b: retq
0x0000000117e31f1c: movabs $0x1335074d0,%r10 ; {metadata({method} {0x00000001335074d0} 'carryValue' '(J)J' in 'TestArrayMult')}
0x0000000117e31f26: mov %r10,0x8(%rsp)
0x0000000117e31f2b: movq $0xffffffffffffffff,(%rsp)
0x0000000117e31f33: callq 0x000000011798d300 ; ImmutableOopMap{}
;*synchronization entry
; - TestArrayMult::carryValue at -1 (line 23)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e31f38: jmp 0x0000000117e31ef4
0x0000000117e31f3a: nop
0x0000000117e31f3b: nop
0x0000000117e31f3c: mov 0x420(%r15),%rax
0x0000000117e31f43: movabs $0x0,%r10
0x0000000117e31f4d: mov %r10,0x420(%r15)
0x0000000117e31f54: movabs $0x0,%r10
0x0000000117e31f5e: mov %r10,0x428(%r15)
0x0000000117e31f65: add $0x30,%rsp
0x0000000117e31f69: pop %rbp
0x0000000117e31f6a: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e31f6f: hlt
0x0000000117e31f70: hlt
0x0000000117e31f71: hlt
0x0000000117e31f72: hlt
0x0000000117e31f73: hlt
0x0000000117e31f74: hlt
0x0000000117e31f75: hlt
0x0000000117e31f76: hlt
0x0000000117e31f77: hlt
0x0000000117e31f78: hlt
0x0000000117e31f79: hlt
0x0000000117e31f7a: hlt
0x0000000117e31f7b: hlt
0x0000000117e31f7c: hlt
0x0000000117e31f7d: hlt
0x0000000117e31f7e: hlt
0x0000000117e31f7f: hlt
[Exception Handler]
[Stub Code]
0x0000000117e31f80: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e31f85: mov %rsp,-0x28(%rsp)
0x0000000117e31f8a: sub $0x80,%rsp
0x0000000117e31f91: mov %rax,0x78(%rsp)
0x0000000117e31f96: mov %rcx,0x70(%rsp)
0x0000000117e31f9b: mov %rdx,0x68(%rsp)
0x0000000117e31fa0: mov %rbx,0x60(%rsp)
0x0000000117e31fa5: mov %rbp,0x50(%rsp)
0x0000000117e31faa: mov %rsi,0x48(%rsp)
0x0000000117e31faf: mov %rdi,0x40(%rsp)
0x0000000117e31fb4: mov %r8,0x38(%rsp)
0x0000000117e31fb9: mov %r9,0x30(%rsp)
0x0000000117e31fbe: mov %r10,0x28(%rsp)
0x0000000117e31fc3: mov %r11,0x20(%rsp)
0x0000000117e31fc8: mov %r12,0x18(%rsp)
0x0000000117e31fcd: mov %r13,0x10(%rsp)
0x0000000117e31fd2: mov %r14,0x8(%rsp)
0x0000000117e31fd7: mov %r15,(%rsp)
0x0000000117e31fdb: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e31fe5: movabs $0x117e31f85,%rsi ; {internal_word}
0x0000000117e31fef: mov %rsp,%rdx
0x0000000117e31ff2: and $0xfffffffffffffff0,%rsp
0x0000000117e31ff6: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e31ffb: hlt
[Deopt Handler Code]
0x0000000117e31ffc: movabs $0x117e31ffc,%r10 ; {section_word}
0x0000000117e32006: push %r10
0x0000000117e32008: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e3200d: hlt
0x0000000117e3200e: hlt
0x0000000117e3200f: hlt
ImmutableOopMap{}pc offsets: 120 Compiled method (c1) 117 39 2 TestArrayMult::multByInt (118 bytes)
total in heap [0x0000000117e32090,0x0000000117e32a68] = 2520
relocation [0x0000000117e32208,0x0000000117e32250] = 72
main code [0x0000000117e32260,0x0000000117e32580] = 800
stub code [0x0000000117e32580,0x0000000117e32610] = 144
oops [0x0000000117e32610,0x0000000117e32618] = 8
metadata [0x0000000117e32618,0x0000000117e32630] = 24
scopes data [0x0000000117e32630,0x0000000117e32780] = 336
scopes pcs [0x0000000117e32780,0x0000000117e32a30] = 688
dependencies [0x0000000117e32a30,0x0000000117e32a38] = 8
nul chk table [0x0000000117e32a38,0x0000000117e32a68] = 48
----------------------------------------------------------------------
TestArrayMult.multByInt([JJ[J)V [0x0000000117e32260, 0x0000000117e32610] 944 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000000133507770} 'multByInt' '([JJ[J)V' in 'TestArrayMult'
# parm0: rsi:rsi = '[J'
# parm1: rdx:rdx = long
# parm2: rcx:rcx = '[J'
# [sp+0x100] (sp of caller)
0x0000000117e32260: mov %eax,-0x14000(%rsp)
0x0000000117e32267: push %rbp
0x0000000117e32268: sub $0xf0,%rsp
0x0000000117e3226f: mov %rcx,%rdi
0x0000000117e32272: movabs $0x133507af0,%rax
0x0000000117e3227c: mov 0x18(%rax),%ecx
0x0000000117e3227f: add $0x8,%ecx
0x0000000117e32282: mov %ecx,0x18(%rax)
0x0000000117e32285: and $0x3ff8,%ecx
0x0000000117e3228b: cmp $0x0,%ecx
0x0000000117e3228e: je 0x0000000117e3246d ;*iconst_0 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 0 (line 43)
0x0000000117e32294: mov $0x0,%ecx
0x0000000117e32299: jmpq 0x0000000117e322f1 ;*iload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 3 (line 43)
0x0000000117e3229e: xchg %ax,%ax
0x0000000117e322a0: movslq %ecx,%rax
0x0000000117e322a3: mov 0x10(%rsi,%rax,8),%rbx ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 16 (line 44)
0x0000000117e322a8: mov %rdx,%r8
0x0000000117e322ab: mov %rbx,%rax
0x0000000117e322ae: imul %r8,%rax
0x0000000117e322b2: cmp 0xc(%rdi),%ecx ; implicit exception: dispatches to 0x0000000117e3248e
0x0000000117e322b5: jae 0x0000000117e32498
0x0000000117e322bb: movslq %ecx,%rbx
0x0000000117e322be: mov %rax,0x10(%rdi,%rbx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 19 (line 44)
0x0000000117e322c3: inc %ecx
0x0000000117e322c5: movabs $0x133507af0,%rax
0x0000000117e322cf: mov 0x1c(%rax),%ebx
0x0000000117e322d2: add $0x8,%ebx
0x0000000117e322d5: mov %ebx,0x1c(%rax)
0x0000000117e322d8: and $0x1fff8,%ebx
0x0000000117e322de: cmp $0x0,%ebx
0x0000000117e322e1: je 0x0000000117e324a6 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 23 (line 43)
0x0000000117e322e7: mov 0x108(%r15),%r10 ; ImmutableOopMap{rsi=Oop rdi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 23 (line 43)
0x0000000117e322ee: test %eax,(%r10) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 23 (line 43)
; {poll}
0x0000000117e322f1: mov 0xc(%rsi),%eax ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 6 (line 43)
; implicit exception: dispatches to 0x0000000117e324c7
0x0000000117e322f4: cmp %eax,%ecx
0x0000000117e322f6: jl 0x0000000117e322a0 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 7 (line 43)
0x0000000117e322f8: cmpl $0x8,0xc(%rdi) ; implicit exception: dispatches to 0x0000000117e324cc
0x0000000117e322ff: jbe 0x0000000117e324d6
0x0000000117e32305: mov 0x50(%rdi),%rax ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 29 (line 48)
0x0000000117e32309: movabs $0x2000000,%rsi
0x0000000117e32313: mov %rax,%rbx
0x0000000117e32316: add %rsi,%rbx
0x0000000117e32319: mov $0x1a,%ecx
0x0000000117e3231e: sar %cl,%rbx
0x0000000117e32321: mov $0x1a,%ecx
0x0000000117e32326: mov %rbx,%rdx
0x0000000117e32329: shl %cl,%rdx
0x0000000117e3232c: sub %rdx,%rax
0x0000000117e3232f: mov %rax,0x50(%rdi) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 46 (line 49)
0x0000000117e32333: cmpl $0x9,0xc(%rdi)
0x0000000117e3233a: jbe 0x0000000117e324e8
0x0000000117e32340: mov 0x58(%rdi),%rcx ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 51 (line 50)
0x0000000117e32344: add %rbx,%rcx
0x0000000117e32347: mov %rcx,0x58(%rdi) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 55 (line 50)
0x0000000117e3234b: mov 0x58(%rdi),%rax ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 59 (line 52)
0x0000000117e3234f: mov %rax,%rbx
0x0000000117e32352: add %rsi,%rbx
0x0000000117e32355: mov $0x1a,%ecx
0x0000000117e3235a: sar %cl,%rbx
0x0000000117e3235d: mov $0x1a,%ecx
0x0000000117e32362: mov %rbx,%rsi
0x0000000117e32365: shl %cl,%rsi
0x0000000117e32368: sub %rsi,%rax
0x0000000117e3236b: mov %rax,0x58(%rdi) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 76 (line 53)
0x0000000117e3236f: movabs $0x13,%rax
0x0000000117e32379: mov %rax,%rcx
0x0000000117e3237c: mov %rbx,%rax
0x0000000117e3237f: imul %rcx,%rax
0x0000000117e32383: mov 0x10(%rdi),%rsi ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 88 (line 57)
0x0000000117e32387: mov $0x5,%ecx
0x0000000117e3238c: mov %rax,%rbx
0x0000000117e3238f: shl %cl,%rbx
0x0000000117e32392: movabs $0x3ffffff,%r10
0x0000000117e3239c: and %r10,%rbx
0x0000000117e3239f: add %rbx,%rsi
0x0000000117e323a2: mov %rsi,0x10(%rdi) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 98 (line 57)
0x0000000117e323a6: mov 0x18(%rdi),%rsi ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 102 (line 58)
0x0000000117e323aa: mov $0x15,%ecx
0x0000000117e323af: sar %cl,%rax
0x0000000117e323b2: add %rax,%rsi
0x0000000117e323b5: mov %rsi,0x18(%rdi) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 109 (line 58)
0x0000000117e323b9: mov $0x0,%esi
0x0000000117e323be: jmpq 0x0000000117e32451 ;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 2 (line 34)
; - TestArrayMult::multByInt at 114 (line 61)
0x0000000117e323c3: nopl 0x0(%rax,%rax,1)
0x0000000117e323c8: cmp 0xc(%rdi),%esi
0x0000000117e323cb: jae 0x0000000117e324fa
0x0000000117e323d1: movslq %esi,%rcx
0x0000000117e323d4: mov 0x10(%rdi,%rcx,8),%rbx ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x0000000117e323d9: movabs $0x2000000,%rcx
0x0000000117e323e3: mov %rbx,%rax
0x0000000117e323e6: add %rcx,%rax
0x0000000117e323e9: mov $0x1a,%ecx
0x0000000117e323ee: sar %cl,%rax
0x0000000117e323f1: mov $0x1a,%ecx
0x0000000117e323f6: mov %rax,%rdx
0x0000000117e323f9: shl %cl,%rdx
0x0000000117e323fc: sub %rdx,%rbx
0x0000000117e323ff: movslq %esi,%rdx
0x0000000117e32402: mov %rbx,0x10(%rdi,%rdx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x0000000117e32407: inc %esi
0x0000000117e32409: cmp 0xc(%rdi),%esi
0x0000000117e3240c: jae 0x0000000117e32508
0x0000000117e32412: movslq %esi,%rbx
0x0000000117e32415: mov 0x10(%rdi,%rbx,8),%rdx ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 19 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x0000000117e3241a: add %rax,%rdx
0x0000000117e3241d: movslq %esi,%rbx
0x0000000117e32420: mov %rdx,0x10(%rdi,%rbx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 23 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x0000000117e32425: movabs $0x133507b90,%rbx
0x0000000117e3242f: mov 0x1c(%rbx),%eax
0x0000000117e32432: add $0x8,%eax
0x0000000117e32435: mov %eax,0x1c(%rbx)
0x0000000117e32438: and $0x1fff8,%eax
0x0000000117e3243e: cmp $0x0,%eax
0x0000000117e32441: je 0x0000000117e32516 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
; - TestArrayMult::multByInt at 114 (line 61)
0x0000000117e32447: mov 0x108(%r15),%r10 ; ImmutableOopMap{rdi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
; - TestArrayMult::multByInt at 114 (line 61)
0x0000000117e3244e: test %eax,(%r10) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
; - TestArrayMult::multByInt at 114 (line 61)
; {poll}
0x0000000117e32451: cmp $0x9,%esi
0x0000000117e32454: jl 0x0000000117e323c8 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 4 (line 34)
; - TestArrayMult::multByInt at 114 (line 61)
0x0000000117e3245a: add $0xf0,%rsp
0x0000000117e32461: pop %rbp
0x0000000117e32462: mov 0x108(%r15),%r10
0x0000000117e32469: test %eax,(%r10) ; {poll_return}
0x0000000117e3246c: retq
0x0000000117e3246d: movabs $0x133507770,%r10 ; {metadata({method} {0x0000000133507770} 'multByInt' '([JJ[J)V' in 'TestArrayMult')}
0x0000000117e32477: mov %r10,0x8(%rsp)
0x0000000117e3247c: movq $0xffffffffffffffff,(%rsp)
0x0000000117e32484: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop rdi=Oop }
;*synchronization entry
; - TestArrayMult::multByInt at -1 (line 43)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e32489: jmpq 0x0000000117e32294
0x0000000117e3248e: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop rdi=Oop }
;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 19 (line 44)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e32493: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop rdi=Oop }
;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 19 (line 44)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e32498: mov %rcx,(%rsp)
0x0000000117e3249c: mov %rdi,0x8(%rsp)
0x0000000117e324a1: callq 0x0000000117988b20 ; ImmutableOopMap{rsi=Oop rdi=Oop }
;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 19 (line 44)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e324a6: movabs $0x133507770,%r10 ; {metadata({method} {0x0000000133507770} 'multByInt' '([JJ[J)V' in 'TestArrayMult')}
0x0000000117e324b0: mov %r10,0x8(%rsp)
0x0000000117e324b5: movq $0x17,(%rsp)
0x0000000117e324bd: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop rdi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 23 (line 43)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e324c2: jmpq 0x0000000117e322e7
0x0000000117e324c7: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop rdi=Oop }
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 6 (line 43)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e324cc: callq 0x0000000117987f20 ; ImmutableOopMap{rdi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 29 (line 48)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e324d1: callq 0x0000000117987f20 ; ImmutableOopMap{rdi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 29 (line 48)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e324d6: movq $0x8,(%rsp)
0x0000000117e324de: mov %rdi,0x8(%rsp)
0x0000000117e324e3: callq 0x0000000117988b20 ; ImmutableOopMap{rdi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 29 (line 48)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e324e8: movq $0x9,(%rsp)
0x0000000117e324f0: mov %rdi,0x8(%rsp)
0x0000000117e324f5: callq 0x0000000117988b20 ; ImmutableOopMap{rdi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 51 (line 50)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e324fa: mov %rsi,(%rsp)
0x0000000117e324fe: mov %rdi,0x8(%rsp)
0x0000000117e32503: callq 0x0000000117988b20 ; ImmutableOopMap{rdi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e32508: mov %rsi,(%rsp)
0x0000000117e3250c: mov %rdi,0x8(%rsp)
0x0000000117e32511: callq 0x0000000117988b20 ; ImmutableOopMap{rdi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 19 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e32516: movabs $0x133507640,%r10 ; {metadata({method} {0x0000000133507640} 'carry' '([JII)V' in 'TestArrayMult')}
0x0000000117e32520: mov %r10,0x8(%rsp)
0x0000000117e32525: movq $0x1b,(%rsp)
0x0000000117e3252d: callq 0x000000011798d300 ; ImmutableOopMap{rdi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
; - TestArrayMult::multByInt at 114 (line 61)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e32532: jmpq 0x0000000117e32447
0x0000000117e32537: nop
0x0000000117e32538: nop
0x0000000117e32539: mov 0x420(%r15),%rax
0x0000000117e32540: movabs $0x0,%r10
0x0000000117e3254a: mov %r10,0x420(%r15)
0x0000000117e32551: movabs $0x0,%r10
0x0000000117e3255b: mov %r10,0x428(%r15)
0x0000000117e32562: add $0xf0,%rsp
0x0000000117e32569: pop %rbp
0x0000000117e3256a: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e3256f: hlt
0x0000000117e32570: hlt
0x0000000117e32571: hlt
0x0000000117e32572: hlt
0x0000000117e32573: hlt
0x0000000117e32574: hlt
0x0000000117e32575: hlt
0x0000000117e32576: hlt
0x0000000117e32577: hlt
0x0000000117e32578: hlt
0x0000000117e32579: hlt
0x0000000117e3257a: hlt
0x0000000117e3257b: hlt
0x0000000117e3257c: hlt
0x0000000117e3257d: hlt
0x0000000117e3257e: hlt
0x0000000117e3257f: hlt
[Exception Handler]
[Stub Code]
0x0000000117e32580: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e32585: mov %rsp,-0x28(%rsp)
0x0000000117e3258a: sub $0x80,%rsp
0x0000000117e32591: mov %rax,0x78(%rsp)
0x0000000117e32596: mov %rcx,0x70(%rsp)
0x0000000117e3259b: mov %rdx,0x68(%rsp)
0x0000000117e325a0: mov %rbx,0x60(%rsp)
0x0000000117e325a5: mov %rbp,0x50(%rsp)
0x0000000117e325aa: mov %rsi,0x48(%rsp)
0x0000000117e325af: mov %rdi,0x40(%rsp)
0x0000000117e325b4: mov %r8,0x38(%rsp)
0x0000000117e325b9: mov %r9,0x30(%rsp)
0x0000000117e325be: mov %r10,0x28(%rsp)
0x0000000117e325c3: mov %r11,0x20(%rsp)
0x0000000117e325c8: mov %r12,0x18(%rsp)
0x0000000117e325cd: mov %r13,0x10(%rsp)
0x0000000117e325d2: mov %r14,0x8(%rsp)
0x0000000117e325d7: mov %r15,(%rsp)
0x0000000117e325db: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e325e5: movabs $0x117e32585,%rsi ; {internal_word}
0x0000000117e325ef: mov %rsp,%rdx
0x0000000117e325f2: and $0xfffffffffffffff0,%rsp
0x0000000117e325f6: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e325fb: hlt
[Deopt Handler Code]
0x0000000117e325fc: movabs $0x117e325fc,%r10 ; {section_word}
0x0000000117e32606: push %r10
0x0000000117e32608: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e3260d: hlt
0x0000000117e3260e: hlt
0x0000000117e3260f: hlt
ImmutableOopMap{rsi=Oop rdi=Oop }pc offsets: 142
ImmutableOopMap{rdi=Oop }pc offsets: 494
ImmutableOopMap{rsi=Oop rdi=Oop }pc offsets: 553 563 568 582 610 620
ImmutableOopMap{rdi=Oop }pc offsets: 625 630 648 666 680 694 722 Compiled method (c1) 132 41 1 TestArrayMult::carryValue (9 bytes)
total in heap [0x000000011f366810,0x000000011f366b20] = 784
relocation [0x000000011f366988,0x000000011f3669a8] = 32
main code [0x000000011f3669c0,0x000000011f366a40] = 128
stub code [0x000000011f366a40,0x000000011f366ad0] = 144
oops [0x000000011f366ad0,0x000000011f366ad8] = 8
metadata [0x000000011f366ad8,0x000000011f366ae0] = 8
scopes data [0x000000011f366ae0,0x000000011f366ae8] = 8
scopes pcs [0x000000011f366ae8,0x000000011f366b18] = 48
dependencies [0x000000011f366b18,0x000000011f366b20] = 8
----------------------------------------------------------------------
TestArrayMult.carryValue(J)J [0x000000011f3669c0, 0x000000011f366ad0] 272 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x00000001335074d0} 'carryValue' '(J)J' in 'TestArrayMult'
# parm0: rsi:rsi = long
# [sp+0x40] (sp of caller)
0x000000011f3669c0: mov %eax,-0x14000(%rsp)
0x000000011f3669c7: push %rbp
0x000000011f3669c8: sub $0x30,%rsp ;*lload_0 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 0 (line 23)
0x000000011f3669cc: movabs $0x2000000,%r10
0x000000011f3669d6: add %r10,%rsi
0x000000011f3669d9: mov $0x1a,%ecx
0x000000011f3669de: sar %cl,%rsi
0x000000011f3669e1: mov %rsi,%rax
0x000000011f3669e4: add $0x30,%rsp
0x000000011f3669e8: pop %rbp
0x000000011f3669e9: mov 0x108(%r15),%r10
0x000000011f3669f0: test %eax,(%r10) ; {poll_return}
0x000000011f3669f3: retq
0x000000011f3669f4: nop
0x000000011f3669f5: nop
0x000000011f3669f6: mov 0x420(%r15),%rax
0x000000011f3669fd: movabs $0x0,%r10
0x000000011f366a07: mov %r10,0x420(%r15)
0x000000011f366a0e: movabs $0x0,%r10
0x000000011f366a18: mov %r10,0x428(%r15)
0x000000011f366a1f: add $0x30,%rsp
0x000000011f366a23: pop %rbp
0x000000011f366a24: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x000000011f366a29: hlt
0x000000011f366a2a: hlt
0x000000011f366a2b: hlt
0x000000011f366a2c: hlt
0x000000011f366a2d: hlt
0x000000011f366a2e: hlt
0x000000011f366a2f: hlt
0x000000011f366a30: hlt
0x000000011f366a31: hlt
0x000000011f366a32: hlt
0x000000011f366a33: hlt
0x000000011f366a34: hlt
0x000000011f366a35: hlt
0x000000011f366a36: hlt
0x000000011f366a37: hlt
0x000000011f366a38: hlt
0x000000011f366a39: hlt
0x000000011f366a3a: hlt
0x000000011f366a3b: hlt
0x000000011f366a3c: hlt
0x000000011f366a3d: hlt
0x000000011f366a3e: hlt
0x000000011f366a3f: hlt
[Exception Handler]
[Stub Code]
0x000000011f366a40: callq 0x000000011798a600 ; {no_reloc}
0x000000011f366a45: mov %rsp,-0x28(%rsp)
0x000000011f366a4a: sub $0x80,%rsp
0x000000011f366a51: mov %rax,0x78(%rsp)
0x000000011f366a56: mov %rcx,0x70(%rsp)
0x000000011f366a5b: mov %rdx,0x68(%rsp)
0x000000011f366a60: mov %rbx,0x60(%rsp)
0x000000011f366a65: mov %rbp,0x50(%rsp)
0x000000011f366a6a: mov %rsi,0x48(%rsp)
0x000000011f366a6f: mov %rdi,0x40(%rsp)
0x000000011f366a74: mov %r8,0x38(%rsp)
0x000000011f366a79: mov %r9,0x30(%rsp)
0x000000011f366a7e: mov %r10,0x28(%rsp)
0x000000011f366a83: mov %r11,0x20(%rsp)
0x000000011f366a88: mov %r12,0x18(%rsp)
0x000000011f366a8d: mov %r13,0x10(%rsp)
0x000000011f366a92: mov %r14,0x8(%rsp)
0x000000011f366a97: mov %r15,(%rsp)
0x000000011f366a9b: movabs $0x10e6c818e,%rdi ; {external_word}
0x000000011f366aa5: movabs $0x11f366a45,%rsi ; {internal_word}
0x000000011f366aaf: mov %rsp,%rdx
0x000000011f366ab2: and $0xfffffffffffffff0,%rsp
0x000000011f366ab6: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x000000011f366abb: hlt
[Deopt Handler Code]
0x000000011f366abc: movabs $0x11f366abc,%r10 ; {section_word}
0x000000011f366ac6: push %r10
0x000000011f366ac8: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x000000011f366acd: hlt
0x000000011f366ace: hlt
0x000000011f366acf: hlt
Compiled method (c1) 137 40 2 TestArrayMult::carry (31 bytes)
total in heap [0x0000000117e32a90,0x0000000117e33058] = 1480
relocation [0x0000000117e32c08,0x0000000117e32c40] = 56
main code [0x0000000117e32c40,0x0000000117e32de0] = 416
stub code [0x0000000117e32de0,0x0000000117e32e70] = 144
oops [0x0000000117e32e70,0x0000000117e32e78] = 8
metadata [0x0000000117e32e78,0x0000000117e32e88] = 16
scopes data [0x0000000117e32e88,0x0000000117e32f18] = 144
scopes pcs [0x0000000117e32f18,0x0000000117e33038] = 288
dependencies [0x0000000117e33038,0x0000000117e33040] = 8
nul chk table [0x0000000117e33040,0x0000000117e33058] = 24
----------------------------------------------------------------------
TestArrayMult.carry([JII)V [0x0000000117e32c40, 0x0000000117e32e70] 560 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000000133507640} 'carry' '([JII)V' in 'TestArrayMult'
# parm0: rsi:rsi = '[J'
# parm1: rdx = int
# parm2: rcx = int
# [sp+0xc0] (sp of caller)
0x0000000117e32c40: mov %eax,-0x14000(%rsp)
0x0000000117e32c47: push %rbp
0x0000000117e32c48: sub $0xb0,%rsp
0x0000000117e32c4f: mov %rcx,%rdi
0x0000000117e32c52: movabs $0x133507b90,%rcx
0x0000000117e32c5c: mov 0x18(%rcx),%ebx
0x0000000117e32c5f: add $0x8,%ebx
0x0000000117e32c62: mov %ebx,0x18(%rcx)
0x0000000117e32c65: and $0x3ff8,%ebx
0x0000000117e32c6b: cmp $0x0,%ebx
0x0000000117e32c6e: je 0x0000000117e32d24 ;*iload_1 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 0 (line 34)
0x0000000117e32c74: jmpq 0x0000000117e32d09 ;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 2 (line 34)
0x0000000117e32c79: nopl 0x0(%rax)
0x0000000117e32c80: cmp 0xc(%rsi),%edx ; implicit exception: dispatches to 0x0000000117e32d45
0x0000000117e32c83: jae 0x0000000117e32d4f
0x0000000117e32c89: movslq %edx,%rcx
0x0000000117e32c8c: mov 0x10(%rsi,%rcx,8),%rbx ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x0000000117e32c91: mov %rbx,%rax
0x0000000117e32c94: movabs $0x2000000,%r10
0x0000000117e32c9e: add %r10,%rax
0x0000000117e32ca1: mov $0x1a,%ecx
0x0000000117e32ca6: sar %cl,%rax
0x0000000117e32ca9: mov $0x1a,%ecx
0x0000000117e32cae: mov %rax,%r8
0x0000000117e32cb1: shl %cl,%r8
0x0000000117e32cb4: sub %r8,%rbx
0x0000000117e32cb7: movslq %edx,%rcx
0x0000000117e32cba: mov %rbx,0x10(%rsi,%rcx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
0x0000000117e32cbf: inc %edx
0x0000000117e32cc1: cmp 0xc(%rsi),%edx
0x0000000117e32cc4: jae 0x0000000117e32d5d
0x0000000117e32cca: movslq %edx,%rbx
0x0000000117e32ccd: mov 0x10(%rsi,%rbx,8),%rcx ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 19 (line 37)
0x0000000117e32cd2: add %rax,%rcx
0x0000000117e32cd5: movslq %edx,%rbx
0x0000000117e32cd8: mov %rcx,0x10(%rsi,%rbx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 23 (line 37)
0x0000000117e32cdd: movabs $0x133507b90,%rbx
0x0000000117e32ce7: mov 0x1c(%rbx),%eax
0x0000000117e32cea: add $0x8,%eax
0x0000000117e32ced: mov %eax,0x1c(%rbx)
0x0000000117e32cf0: and $0x1fff8,%eax
0x0000000117e32cf6: cmp $0x0,%eax
0x0000000117e32cf9: je 0x0000000117e32d6b ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
0x0000000117e32cff: mov 0x108(%r15),%r10 ; ImmutableOopMap{rsi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
0x0000000117e32d06: test %eax,(%r10) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
; {poll}
0x0000000117e32d09: cmp %edi,%edx
0x0000000117e32d0b: jl 0x0000000117e32c80 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 4 (line 34)
0x0000000117e32d11: add $0xb0,%rsp
0x0000000117e32d18: pop %rbp
0x0000000117e32d19: mov 0x108(%r15),%r10
0x0000000117e32d20: test %eax,(%r10) ; {poll_return}
0x0000000117e32d23: retq
0x0000000117e32d24: movabs $0x133507640,%r10 ; {metadata({method} {0x0000000133507640} 'carry' '([JII)V' in 'TestArrayMult')}
0x0000000117e32d2e: mov %r10,0x8(%rsp)
0x0000000117e32d33: movq $0xffffffffffffffff,(%rsp)
0x0000000117e32d3b: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop }
;*synchronization entry
; - TestArrayMult::carry at -1 (line 34)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e32d40: jmpq 0x0000000117e32c74
0x0000000117e32d45: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e32d4a: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e32d4f: mov %rdx,(%rsp)
0x0000000117e32d53: mov %rsi,0x8(%rsp)
0x0000000117e32d58: callq 0x0000000117988b20 ; ImmutableOopMap{rsi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e32d5d: mov %rdx,(%rsp)
0x0000000117e32d61: mov %rsi,0x8(%rsp)
0x0000000117e32d66: callq 0x0000000117988b20 ; ImmutableOopMap{rsi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 19 (line 37)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e32d6b: movabs $0x133507640,%r10 ; {metadata({method} {0x0000000133507640} 'carry' '([JII)V' in 'TestArrayMult')}
0x0000000117e32d75: mov %r10,0x8(%rsp)
0x0000000117e32d7a: movq $0x1b,(%rsp)
0x0000000117e32d82: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e32d87: jmpq 0x0000000117e32cff
0x0000000117e32d8c: nop
0x0000000117e32d8d: nop
0x0000000117e32d8e: mov 0x420(%r15),%rax
0x0000000117e32d95: movabs $0x0,%r10
0x0000000117e32d9f: mov %r10,0x420(%r15)
0x0000000117e32da6: movabs $0x0,%r10
0x0000000117e32db0: mov %r10,0x428(%r15)
0x0000000117e32db7: add $0xb0,%rsp
0x0000000117e32dbe: pop %rbp
0x0000000117e32dbf: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e32dc4: hlt
0x0000000117e32dc5: hlt
0x0000000117e32dc6: hlt
0x0000000117e32dc7: hlt
0x0000000117e32dc8: hlt
0x0000000117e32dc9: hlt
0x0000000117e32dca: hlt
0x0000000117e32dcb: hlt
0x0000000117e32dcc: hlt
0x0000000117e32dcd: hlt
0x0000000117e32dce: hlt
0x0000000117e32dcf: hlt
0x0000000117e32dd0: hlt
0x0000000117e32dd1: hlt
0x0000000117e32dd2: hlt
0x0000000117e32dd3: hlt
0x0000000117e32dd4: hlt
0x0000000117e32dd5: hlt
0x0000000117e32dd6: hlt
0x0000000117e32dd7: hlt
0x0000000117e32dd8: hlt
0x0000000117e32dd9: hlt
0x0000000117e32dda: hlt
0x0000000117e32ddb: hlt
0x0000000117e32ddc: hlt
0x0000000117e32ddd: hlt
0x0000000117e32dde: hlt
0x0000000117e32ddf: hlt
[Exception Handler]
[Stub Code]
0x0000000117e32de0: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e32de5: mov %rsp,-0x28(%rsp)
0x0000000117e32dea: sub $0x80,%rsp
0x0000000117e32df1: mov %rax,0x78(%rsp)
0x0000000117e32df6: mov %rcx,0x70(%rsp)
0x0000000117e32dfb: mov %rdx,0x68(%rsp)
0x0000000117e32e00: mov %rbx,0x60(%rsp)
0x0000000117e32e05: mov %rbp,0x50(%rsp)
0x0000000117e32e0a: mov %rsi,0x48(%rsp)
0x0000000117e32e0f: mov %rdi,0x40(%rsp)
0x0000000117e32e14: mov %r8,0x38(%rsp)
0x0000000117e32e19: mov %r9,0x30(%rsp)
0x0000000117e32e1e: mov %r10,0x28(%rsp)
0x0000000117e32e23: mov %r11,0x20(%rsp)
0x0000000117e32e28: mov %r12,0x18(%rsp)
0x0000000117e32e2d: mov %r13,0x10(%rsp)
0x0000000117e32e32: mov %r14,0x8(%rsp)
0x0000000117e32e37: mov %r15,(%rsp)
0x0000000117e32e3b: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e32e45: movabs $0x117e32de5,%rsi ; {internal_word}
0x0000000117e32e4f: mov %rsp,%rdx
0x0000000117e32e52: and $0xfffffffffffffff0,%rsp
0x0000000117e32e56: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e32e5b: hlt
[Deopt Handler Code]
0x0000000117e32e5c: movabs $0x117e32e5c,%r10 ; {section_word}
0x0000000117e32e66: push %r10
0x0000000117e32e68: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e32e6d: hlt
0x0000000117e32e6e: hlt
0x0000000117e32e6f: hlt
ImmutableOopMap{rsi=Oop }pc offsets: 198 256 266 271 285 299 327 Compiled method (c2) 145 42 % 4 TestArrayMult::main @ 62 (147 bytes)
total in heap [0x000000011f366b90,0x000000011f3678f8] = 3432
relocation [0x000000011f366d08,0x000000011f366d58] = 80
main code [0x000000011f366d60,0x000000011f367160] = 1024
stub code [0x000000011f367160,0x000000011f3671a8] = 72
oops [0x000000011f3671a8,0x000000011f3671b0] = 8
metadata [0x000000011f3671b0,0x000000011f3671d0] = 32
scopes data [0x000000011f3671d0,0x000000011f3672e8] = 280
scopes pcs [0x000000011f3672e8,0x000000011f367878] = 1424
dependencies [0x000000011f367878,0x000000011f367880] = 8
handler table [0x000000011f367880,0x000000011f3678e0] = 96
nul chk table [0x000000011f3678e0,0x000000011f3678f8] = 24
----------------------------------------------------------------------
TestArrayMult.main([Ljava/lang/String;)V [0x000000011f366d60, 0x000000011f3671a8] 1096 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x00000001335078d0} 'main' '([Ljava/lang/String;)V' in 'TestArrayMult'
0x000000011f366d60: callq 0x000000010e4e930c ; {runtime_call os::breakpoint()}
0x000000011f366d65: data16 data16 nopw 0x0(%rax,%rax,1)
0x000000011f366d70: mov %eax,-0x14000(%rsp)
0x000000011f366d77: push %rbp
0x000000011f366d78: sub $0x30,%rsp
0x000000011f366d7c: mov 0x20(%rsi),%rbx
0x000000011f366d80: mov 0x18(%rsi),%r14
0x000000011f366d84: mov 0x10(%rsi),%ebp
0x000000011f366d87: mov 0x28(%rsi),%r13d
0x000000011f366d8b: mov %rsi,%rdi
0x000000011f366d8e: movabs $0x10e563442,%r10
0x000000011f366d98: callq *%r10
0x000000011f366d9b: test %rbx,%rbx
0x000000011f366d9e: je 0x000000011f3670e9
0x000000011f366da4: mov 0x8(%rbx),%r11d
0x000000011f366da8: cmp $0xe08,%r11d ; {metadata({type array long})}
0x000000011f366daf: jne 0x000000011f36710a
0x000000011f366db5: mov %rbx,%r10
0x000000011f366db8: test %r14,%r14
0x000000011f366dbb: je 0x000000011f3670f1
0x000000011f366dc1: mov 0x8(%r14),%r11d
0x000000011f366dc5: cmp $0xe08,%r11d ; {metadata({type array long})}
0x000000011f366dcc: jne 0x000000011f36710a ;*iload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 62 (line 76)
0x000000011f366dd2: movslq %r13d,%r11 ;*i2l {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 71 (line 78)
0x000000011f366dd5: jmp 0x000000011f366e19
0x000000011f366dd7: nopw 0x0(%rax,%rax,1)
0x000000011f366de0: mov %r11,0x18(%rsp)
0x000000011f366de5: mov %r14,0x10(%rsp)
0x000000011f366dea: mov %r10,0x8(%rsp)
0x000000011f366def: mov %r13d,(%rsp) ;*iload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 62 (line 76)
0x000000011f366df3: mov %r10,%rsi
0x000000011f366df6: mov %r11,%rdx
0x000000011f366df9: mov %r10,%rcx
0x000000011f366dfc: data16 xchg %ax,%ax
0x000000011f366dff: callq 0x0000000117e32260 ; ImmutableOopMap{[8]=Oop [16]=Oop }
;*invokestatic multByInt {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 73 (line 78)
; {static_call}
0x000000011f366e04: inc %ebp ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 76 (line 76)
0x000000011f366e06: mov (%rsp),%r13d
0x000000011f366e0a: mov 0x8(%rsp),%r10
0x000000011f366e0f: mov 0x10(%rsp),%r14
0x000000011f366e14: mov 0x18(%rsp),%r11 ;*iload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 62 (line 76)
0x000000011f366e19: cmp $0xf4240,%ebp
0x000000011f366e1f: jl 0x000000011f366de0 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 66 (line 76)
0x000000011f366e21: xor %ebp,%ebp
0x000000011f366e23: jmp 0x000000011f366e43
0x000000011f366e25: data16 data16 nopw 0x0(%rax,%rax,1)
0x000000011f366e30: mov (%rsp),%r13d
0x000000011f366e34: mov 0x8(%rsp),%r10
0x000000011f366e39: mov 0x10(%rsp),%r14
0x000000011f366e3e: mov 0x18(%rsp),%r11
0x000000011f366e43: mov %r11,0x18(%rsp)
0x000000011f366e48: mov %r14,0x10(%rsp)
0x000000011f366e4d: mov %r10,0x8(%rsp)
0x000000011f366e52: mov %r13d,(%rsp) ;*aload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 92 (line 82)
0x000000011f366e56: mov %r14,%rsi
0x000000011f366e59: mov %r11,%rdx
0x000000011f366e5c: mov %r14,%rcx
0x000000011f366e5f: callq 0x00000001178c5400 ; ImmutableOopMap{[8]=Oop [16]=Oop }
;*invokestatic multByInt {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 98 (line 82)
; {static_call}
0x000000011f366e64: inc %ebp ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 101 (line 80)
0x000000011f366e66: cmp $0xf4240,%ebp
0x000000011f366e6c: jl 0x000000011f366e30 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 89 (line 80)
0x000000011f366e6e: mov 0x8(%rsp),%rdi
0x000000011f366e73: mov 0xc(%rdi),%ebp ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 113 (line 85)
; implicit exception: dispatches to 0x000000011f367142
0x000000011f366e76: test %ebp,%ebp
0x000000011f366e78: jbe 0x000000011f367049 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 114 (line 85)
0x000000011f366e7e: mov %ebp,%r11d
0x000000011f366e81: dec %r11d
0x000000011f366e84: cmp %ebp,%r11d
0x000000011f366e87: jae 0x000000011f367126
0x000000011f366e8d: mov 0x10(%rsp),%rcx
0x000000011f366e92: mov 0xc(%rcx),%r10d ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
; implicit exception: dispatches to 0x000000011f36712b
0x000000011f366e96: test %r10d,%r10d
0x000000011f366e99: jbe 0x000000011f36712b
0x000000011f366e9f: cmp %r10d,%r11d
0x000000011f366ea2: jae 0x000000011f36712b
0x000000011f366ea8: mov 0x10(%rdi),%r10 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 143 (line 85)
0x000000011f366eac: cmp 0x10(%rcx),%r10
0x000000011f366eb0: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366eb6: mov %ebp,%r9d
0x000000011f366eb9: add $0xfffffff1,%r9d
0x000000011f366ebd: mov $0x1,%ebx
0x000000011f366ec2: mov $0x80000000,%r8d
0x000000011f366ec8: cmp %r9d,%r11d
0x000000011f366ecb: cmovl %r8d,%r9d
0x000000011f366ecf: cmp $0x1,%r9d
0x000000011f366ed3: jle 0x000000011f36702f
0x000000011f366ed9: nopl 0x0(%rax) ;*aload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 117 (line 86)
0x000000011f366ee0: mov 0x10(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366ee5: mov 0x10(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366eea: cmp %r10,%r11
0x000000011f366eed: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366ef3: mov 0x18(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366ef8: mov 0x18(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366efd: cmp %r10,%r11
0x000000011f366f00: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366f06: mov 0x20(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366f0b: mov 0x20(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366f10: cmp %r10,%r11
0x000000011f366f13: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366f19: mov 0x28(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366f1e: mov 0x28(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366f23: cmp %r10,%r11
0x000000011f366f26: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366f2c: mov 0x30(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366f31: mov 0x30(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366f36: cmp %r10,%r11
0x000000011f366f39: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366f3f: mov 0x38(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366f44: mov 0x38(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366f49: cmp %r10,%r11
0x000000011f366f4c: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366f52: mov 0x40(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366f57: mov 0x40(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366f5c: cmp %r10,%r11
0x000000011f366f5f: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366f65: mov 0x48(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366f6a: mov 0x48(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366f6f: cmp %r10,%r11
0x000000011f366f72: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366f78: mov 0x50(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366f7d: mov 0x50(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366f82: cmp %r10,%r11
0x000000011f366f85: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366f8b: mov 0x58(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366f90: mov 0x58(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366f95: cmp %r10,%r11
0x000000011f366f98: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366f9e: mov 0x60(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366fa3: mov 0x60(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366fa8: cmp %r10,%r11
0x000000011f366fab: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366fb1: mov 0x68(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366fb6: mov 0x68(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366fbb: cmp %r10,%r11
0x000000011f366fbe: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366fc4: mov 0x70(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366fc9: mov 0x70(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366fce: cmp %r10,%r11
0x000000011f366fd1: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366fd7: mov 0x78(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366fdc: mov 0x78(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366fe1: cmp %r10,%r11
0x000000011f366fe4: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366fe6: mov 0x80(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f366fee: mov 0x80(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f366ff6: cmp %r10,%r11
0x000000011f366ff9: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f366ffb: mov 0x88(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f367003: mov 0x88(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f36700b: cmp %r10,%r11
0x000000011f36700e: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f367010: add $0x10,%ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 140 (line 85)
0x000000011f367013: cmp %r9d,%ebx
0x000000011f367016: jl 0x000000011f366ee0 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 114 (line 85)
0x000000011f36701c: mov 0x108(%r15),%r8 ; ImmutableOopMap{rcx=Oop rdi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::main at 143 (line 85)
0x000000011f367023: test %eax,(%r8) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 143 (line 85)
; {poll}
0x000000011f367026: cmp %r9d,%ebx
0x000000011f367029: jl 0x000000011f366ee0
0x000000011f36702f: cmp %ebp,%ebx
0x000000011f367031: jge 0x000000011f367049
0x000000011f367033: nop ;*aload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 117 (line 86)
0x000000011f367034: mov 0x10(%rcx,%rbx,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 125 (line 86)
0x000000011f367039: mov 0x10(%rdi,%rbx,8),%r11 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 120 (line 86)
0x000000011f36703e: cmp %r10,%r11
0x000000011f367041: jne 0x000000011f367059 ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 127 (line 86)
0x000000011f367043: inc %ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 140 (line 85)
0x000000011f367045: cmp %ebp,%ebx
0x000000011f367047: jl 0x000000011f367034 ;*return {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 146 (line 90)
0x000000011f367049: add $0x30,%rsp
0x000000011f36704d: pop %rbp
0x000000011f36704e: mov 0x108(%r15),%r10
0x000000011f367055: test %eax,(%r10) ; {poll_return}
0x000000011f367058: retq
0x000000011f367059: mov 0x118(%r15),%rax
0x000000011f367060: mov %rax,%r10
0x000000011f367063: add $0x28,%r10
0x000000011f367067: cmp 0x128(%r15),%r10
0x000000011f36706e: jae 0x000000011f3670f9
0x000000011f367074: mov %r10,0x118(%r15)
0x000000011f36707b: prefetchnta 0xc0(%r10)
0x000000011f367083: mov $0x34d0,%r11d ; {metadata('java/lang/RuntimeException')}
0x000000011f367089: movabs $0x800000000,%r10
0x000000011f367093: add %r11,%r10
0x000000011f367096: mov 0xb8(%r10),%r10
0x000000011f36709d: mov %r10,(%rax)
0x000000011f3670a0: movl $0x34d0,0x8(%rax) ; {metadata('java/lang/RuntimeException')}
0x000000011f3670a7: movl $0x0,0xc(%rax)
0x000000011f3670ae: movq $0x0,0x10(%rax)
0x000000011f3670b6: movq $0x0,0x18(%rax)
0x000000011f3670be: movq $0x0,0x20(%rax)
0x000000011f3670c6: mov %rax,%rbp ;*synchronization entry
; - java.lang.RuntimeException::<init>@-1 (line 62)
; - TestArrayMult::main at 136 (line 87)
0x000000011f3670c9: movabs $0x70fe15b80,%rdx ; {oop("not equal"{0x000000070fe15b80})}
0x000000011f3670d3: mov %rbp,%rsi
0x000000011f3670d6: nop
0x000000011f3670d7: callq 0x00000001178c4f00 ; ImmutableOopMap{rbp=Oop }
;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.RuntimeException::<init>@2 (line 62)
; - TestArrayMult::main at 136 (line 87)
; {optimized virtual_call}
0x000000011f3670dc: mov %rbp,%rsi
0x000000011f3670df: add $0x30,%rsp
0x000000011f3670e3: pop %rbp
0x000000011f3670e4: jmpq 0x000000011798fe80 ; {runtime_call _rethrow_Java}
0x000000011f3670e9: xor %r10d,%r10d
0x000000011f3670ec: jmpq 0x000000011f366db8
0x000000011f3670f1: xor %r14d,%r14d
0x000000011f3670f4: jmpq 0x000000011f366dd2
0x000000011f3670f9: movabs $0x8000034d0,%rsi ; {metadata('java/lang/RuntimeException')}
0x000000011f367103: callq 0x0000000117990d00 ; ImmutableOopMap{}
;*new {reexecute=0 rethrow=0 return_oop=1}
; - TestArrayMult::main at 130 (line 87)
; {runtime_call _new_instance_Java}
0x000000011f367108: jmp 0x000000011f3670c6
0x000000011f36710a: mov $0xffffff95,%esi
0x000000011f36710f: mov %r13d,(%rsp)
0x000000011f367113: mov %rbx,0x8(%rsp)
0x000000011f367118: mov %r14,0x10(%rsp)
0x000000011f36711d: xchg %ax,%ax
0x000000011f36711f: callq 0x00000001178c6900 ; ImmutableOopMap{[8]=Oop [16]=Oop }
;*iload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 62 (line 76)
; {runtime_call UncommonTrapBlob}
0x000000011f367124: ud2 ;*iload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 62 (line 76)
0x000000011f367126: mov 0x10(%rsp),%rcx
0x000000011f36712b: mov $0xffffff7e,%esi
0x000000011f367130: mov %rdi,(%rsp)
0x000000011f367134: mov %rcx,0x8(%rsp)
0x000000011f367139: xchg %ax,%ax
0x000000011f36713b: callq 0x00000001178c6900 ; ImmutableOopMap{[0]=Oop [8]=Oop }
;*if_icmpge {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::main at 114 (line 85)
; {runtime_call UncommonTrapBlob}
0x000000011f367140: ud2 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 114 (line 85)
0x000000011f367142: mov $0xfffffff6,%esi
0x000000011f367147: callq 0x00000001178c6900 ; ImmutableOopMap{}
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 113 (line 85)
; {runtime_call UncommonTrapBlob}
0x000000011f36714c: ud2 ;*new {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 130 (line 87)
0x000000011f36714e: jmp 0x000000011f367154 ;*invokespecial <init> {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.RuntimeException::<init>@2 (line 62)
; - TestArrayMult::main at 136 (line 87)
0x000000011f367150: jmp 0x000000011f367154
0x000000011f367152: jmp 0x000000011f367154 ;*invokestatic multByInt {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 98 (line 82)
0x000000011f367154: mov %rax,%rsi
0x000000011f367157: jmp 0x000000011f3670df ;*aload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::main at 117 (line 86)
0x000000011f367159: hlt
0x000000011f36715a: hlt
0x000000011f36715b: hlt
0x000000011f36715c: hlt
0x000000011f36715d: hlt
0x000000011f36715e: hlt
0x000000011f36715f: hlt
[Stub Code]
0x000000011f367160: movabs $0x0,%rbx ; {no_reloc}
0x000000011f36716a: jmpq 0x000000011f36716a ; {runtime_call}
0x000000011f36716f: movabs $0x0,%rbx ; {static_stub}
0x000000011f367179: jmpq 0x000000011f367179 ; {runtime_call}
0x000000011f36717e: movabs $0x0,%rbx ; {static_stub}
0x000000011f367188: jmpq 0x000000011f367188 ; {runtime_call}
[Exception Handler]
0x000000011f36718d: jmpq 0x0000000117988600 ; {runtime_call ExceptionBlob}
[Deopt Handler Code]
0x000000011f367192: callq 0x000000011f367197
0x000000011f367197: subq $0x5,(%rsp)
0x000000011f36719c: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x000000011f3671a1: hlt
0x000000011f3671a2: hlt
0x000000011f3671a3: hlt
0x000000011f3671a4: hlt
0x000000011f3671a5: hlt
0x000000011f3671a6: hlt
0x000000011f3671a7: hlt
ImmutableOopMap{[8]=Oop [16]=Oop }pc offsets: 164 260
ImmutableOopMap{rcx=Oop rdi=Oop }pc offsets: 707
ImmutableOopMap{rbp=Oop }pc offsets: 892
ImmutableOopMap{}pc offsets: 936
ImmutableOopMap{[8]=Oop [16]=Oop }pc offsets: 964
ImmutableOopMap{[0]=Oop [8]=Oop }pc offsets: 992
ImmutableOopMap{}pc offsets: 1004 Compiled method (c1) 162 38 2 TestArrayMult::carryOut (19 bytes)
total in heap [0x0000000117e33090,0x0000000117e334c8] = 1080
relocation [0x0000000117e33208,0x0000000117e33238] = 48
main code [0x0000000117e33240,0x0000000117e33340] = 256
stub code [0x0000000117e33340,0x0000000117e333d0] = 144
oops [0x0000000117e333d0,0x0000000117e333d8] = 8
metadata [0x0000000117e333d8,0x0000000117e333e0] = 8
scopes data [0x0000000117e333e0,0x0000000117e33418] = 56
scopes pcs [0x0000000117e33418,0x0000000117e334a8] = 144
dependencies [0x0000000117e334a8,0x0000000117e334b0] = 8
nul chk table [0x0000000117e334b0,0x0000000117e334c8] = 24
----------------------------------------------------------------------
TestArrayMult.carryOut([JI)J [0x0000000117e33240, 0x0000000117e333d0] 400 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000000133507580} 'carryOut' '([JI)J' in 'TestArrayMult'
# parm0: rsi:rsi = '[J'
# parm1: rdx = int
# [sp+0x80] (sp of caller)
0x0000000117e33240: mov %eax,-0x14000(%rsp)
0x0000000117e33247: push %rbp
0x0000000117e33248: sub $0x70,%rsp
0x0000000117e3324c: movabs $0x133507be0,%rcx
0x0000000117e33256: mov 0x18(%rcx),%eax
0x0000000117e33259: add $0x8,%eax
0x0000000117e3325c: mov %eax,0x18(%rcx)
0x0000000117e3325f: and $0x3ff8,%eax
0x0000000117e33265: cmp $0x0,%eax
0x0000000117e33268: je 0x0000000117e332c0 ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 0 (line 27)
0x0000000117e3326e: cmp 0xc(%rsi),%edx ; implicit exception: dispatches to 0x0000000117e332de
0x0000000117e33271: jae 0x0000000117e332e8
0x0000000117e33277: movslq %edx,%rcx
0x0000000117e3327a: mov 0x10(%rsi,%rcx,8),%rax ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
0x0000000117e3327f: mov %rax,%rdi
0x0000000117e33282: movabs $0x2000000,%r10
0x0000000117e3328c: add %r10,%rdi
0x0000000117e3328f: mov $0x1a,%ecx
0x0000000117e33294: sar %cl,%rdi
0x0000000117e33297: mov $0x1a,%ecx
0x0000000117e3329c: mov %rdi,%rbx
0x0000000117e3329f: shl %cl,%rbx
0x0000000117e332a2: sub %rbx,%rax
0x0000000117e332a5: movslq %edx,%rdx
0x0000000117e332a8: mov %rax,0x10(%rsi,%rdx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
0x0000000117e332ad: mov %rdi,%rax
0x0000000117e332b0: add $0x70,%rsp
0x0000000117e332b4: pop %rbp
0x0000000117e332b5: mov 0x108(%r15),%r10
0x0000000117e332bc: test %eax,(%r10) ; {poll_return}
0x0000000117e332bf: retq
0x0000000117e332c0: movabs $0x133507580,%r10 ; {metadata({method} {0x0000000133507580} 'carryOut' '([JI)J' in 'TestArrayMult')}
0x0000000117e332ca: mov %r10,0x8(%rsp)
0x0000000117e332cf: movq $0xffffffffffffffff,(%rsp)
0x0000000117e332d7: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop }
;*synchronization entry
; - TestArrayMult::carryOut at -1 (line 27)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e332dc: jmp 0x0000000117e3326e
0x0000000117e332de: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e332e3: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e332e8: mov %rdx,(%rsp)
0x0000000117e332ec: mov %rsi,0x8(%rsp)
0x0000000117e332f1: callq 0x0000000117988b20 ; ImmutableOopMap{rsi=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; {runtime_call throw_range_check_failed Runtime1 stub}
0x0000000117e332f6: nop
0x0000000117e332f7: nop
0x0000000117e332f8: mov 0x420(%r15),%rax
0x0000000117e332ff: movabs $0x0,%r10
0x0000000117e33309: mov %r10,0x420(%r15)
0x0000000117e33310: movabs $0x0,%r10
0x0000000117e3331a: mov %r10,0x428(%r15)
0x0000000117e33321: add $0x70,%rsp
0x0000000117e33325: pop %rbp
0x0000000117e33326: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e3332b: hlt
0x0000000117e3332c: hlt
0x0000000117e3332d: hlt
0x0000000117e3332e: hlt
0x0000000117e3332f: hlt
0x0000000117e33330: hlt
0x0000000117e33331: hlt
0x0000000117e33332: hlt
0x0000000117e33333: hlt
0x0000000117e33334: hlt
0x0000000117e33335: hlt
0x0000000117e33336: hlt
0x0000000117e33337: hlt
0x0000000117e33338: hlt
0x0000000117e33339: hlt
0x0000000117e3333a: hlt
0x0000000117e3333b: hlt
0x0000000117e3333c: hlt
0x0000000117e3333d: hlt
0x0000000117e3333e: hlt
0x0000000117e3333f: hlt
[Exception Handler]
[Stub Code]
0x0000000117e33340: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e33345: mov %rsp,-0x28(%rsp)
0x0000000117e3334a: sub $0x80,%rsp
0x0000000117e33351: mov %rax,0x78(%rsp)
0x0000000117e33356: mov %rcx,0x70(%rsp)
0x0000000117e3335b: mov %rdx,0x68(%rsp)
0x0000000117e33360: mov %rbx,0x60(%rsp)
0x0000000117e33365: mov %rbp,0x50(%rsp)
0x0000000117e3336a: mov %rsi,0x48(%rsp)
0x0000000117e3336f: mov %rdi,0x40(%rsp)
0x0000000117e33374: mov %r8,0x38(%rsp)
0x0000000117e33379: mov %r9,0x30(%rsp)
0x0000000117e3337e: mov %r10,0x28(%rsp)
0x0000000117e33383: mov %r11,0x20(%rsp)
0x0000000117e33388: mov %r12,0x18(%rsp)
0x0000000117e3338d: mov %r13,0x10(%rsp)
0x0000000117e33392: mov %r14,0x8(%rsp)
0x0000000117e33397: mov %r15,(%rsp)
0x0000000117e3339b: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e333a5: movabs $0x117e33345,%rsi ; {internal_word}
0x0000000117e333af: mov %rsp,%rdx
0x0000000117e333b2: and $0xfffffffffffffff0,%rsp
0x0000000117e333b6: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e333bb: hlt
[Deopt Handler Code]
0x0000000117e333bc: movabs $0x117e333bc,%r10 ; {section_word}
0x0000000117e333c6: push %r10
0x0000000117e333c8: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e333cd: hlt
0x0000000117e333ce: hlt
0x0000000117e333cf: hlt
ImmutableOopMap{rsi=Oop }pc offsets: 156 163 168 182 Compiled method (c1) 170 3 3 java.lang.String::isLatin1 (19 bytes)
total in heap [0x0000000117e33510,0x0000000117e33960] = 1104
relocation [0x0000000117e33688,0x0000000117e336b8] = 48
main code [0x0000000117e336c0,0x0000000117e33800] = 320
stub code [0x0000000117e33800,0x0000000117e33890] = 144
metadata [0x0000000117e33890,0x0000000117e33898] = 8
scopes data [0x0000000117e33898,0x0000000117e338c8] = 48
scopes pcs [0x0000000117e338c8,0x0000000117e33958] = 144
dependencies [0x0000000117e33958,0x0000000117e33960] = 8
----------------------------------------------------------------------
java/lang/String.isLatin1()Z [0x0000000117e336c0, 0x0000000117e33890] 464 bytes
[Entry Point]
[Constants]
# {method} {0x00000001331112f0} 'isLatin1' '()Z' in 'java/lang/String'
# [sp+0x40] (sp of caller)
0x0000000117e336c0: mov 0x8(%rsi),%r10d
0x0000000117e336c4: movabs $0x800000000,%r12
0x0000000117e336ce: add %r12,%r10
0x0000000117e336d1: xor %r12,%r12
0x0000000117e336d4: cmp %rax,%r10
0x0000000117e336d7: jne 0x00000001178c4c80 ; {runtime_call ic_miss_stub}
0x0000000117e336dd: data16 xchg %ax,%ax
[Verified Entry Point]
0x0000000117e336e0: mov %eax,-0x14000(%rsp)
0x0000000117e336e7: push %rbp
0x0000000117e336e8: sub $0x30,%rsp
0x0000000117e336ec: movabs $0x133334f10,%rax ; {metadata(method data for {method} {0x00000001331112f0} 'isLatin1' '()Z' in 'java/lang/String')}
0x0000000117e336f6: mov 0x104(%rax),%edi
0x0000000117e336fc: add $0x8,%edi
0x0000000117e336ff: mov %edi,0x104(%rax)
0x0000000117e33705: and $0x1ff8,%edi
0x0000000117e3370b: cmp $0x0,%edi
0x0000000117e3370e: je 0x0000000117e33793 ;*getstatic COMPACT_STRINGS {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1 at 0 (line 3264)
0x0000000117e33714: movabs $0x133334f10,%rax ; {metadata(method data for {method} {0x00000001331112f0} 'isLatin1' '()Z' in 'java/lang/String')}
0x0000000117e3371e: incl 0x150(%rax) ;*ifeq {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1 at 3 (line 3264)
0x0000000117e33724: movsbl 0x14(%rsi),%eax ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1 at 7 (line 3264)
0x0000000117e33728: cmp $0x0,%eax
0x0000000117e3372b: movabs $0x133334f10,%rax ; {metadata(method data for {method} {0x00000001331112f0} 'isLatin1' '()Z' in 'java/lang/String')}
0x0000000117e33735: movabs $0x160,%rsi
0x0000000117e3373f: jne 0x0000000117e3374f
0x0000000117e33745: movabs $0x170,%rsi
0x0000000117e3374f: mov (%rax,%rsi,1),%rdi
0x0000000117e33753: lea 0x1(%rdi),%rdi
0x0000000117e33757: mov %rdi,(%rax,%rsi,1)
0x0000000117e3375b: jne 0x0000000117e3377b ;*ifne {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1 at 10 (line 3264)
0x0000000117e33761: movabs $0x133334f10,%rax ; {metadata(method data for {method} {0x00000001331112f0} 'isLatin1' '()Z' in 'java/lang/String')}
0x0000000117e3376b: incl 0x180(%rax)
0x0000000117e33771: mov $0x1,%eax
0x0000000117e33776: jmpq 0x0000000117e33780 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1 at 14 (line 3264)
0x0000000117e3377b: mov $0x0,%eax ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.String::isLatin1 at 18 (line 3264)
0x0000000117e33780: and $0x1,%eax
0x0000000117e33783: add $0x30,%rsp
0x0000000117e33787: pop %rbp
0x0000000117e33788: mov 0x108(%r15),%r10
0x0000000117e3378f: test %eax,(%r10) ; {poll_return}
0x0000000117e33792: retq
0x0000000117e33793: movabs $0x1331112f0,%r10 ; {metadata({method} {0x00000001331112f0} 'isLatin1' '()Z' in 'java/lang/String')}
0x0000000117e3379d: mov %r10,0x8(%rsp)
0x0000000117e337a2: movq $0xffffffffffffffff,(%rsp)
0x0000000117e337aa: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop }
;*synchronization entry
; - java.lang.String::isLatin1 at -1 (line 3264)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e337af: jmpq 0x0000000117e33714
0x0000000117e337b4: nop
0x0000000117e337b5: nop
0x0000000117e337b6: mov 0x420(%r15),%rax
0x0000000117e337bd: movabs $0x0,%r10
0x0000000117e337c7: mov %r10,0x420(%r15)
0x0000000117e337ce: movabs $0x0,%r10
0x0000000117e337d8: mov %r10,0x428(%r15)
0x0000000117e337df: add $0x30,%rsp
0x0000000117e337e3: pop %rbp
0x0000000117e337e4: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e337e9: hlt
0x0000000117e337ea: hlt
0x0000000117e337eb: hlt
0x0000000117e337ec: hlt
0x0000000117e337ed: hlt
0x0000000117e337ee: hlt
0x0000000117e337ef: hlt
0x0000000117e337f0: hlt
0x0000000117e337f1: hlt
0x0000000117e337f2: hlt
0x0000000117e337f3: hlt
0x0000000117e337f4: hlt
0x0000000117e337f5: hlt
0x0000000117e337f6: hlt
0x0000000117e337f7: hlt
0x0000000117e337f8: hlt
0x0000000117e337f9: hlt
0x0000000117e337fa: hlt
0x0000000117e337fb: hlt
0x0000000117e337fc: hlt
0x0000000117e337fd: hlt
0x0000000117e337fe: hlt
0x0000000117e337ff: hlt
[Exception Handler]
[Stub Code]
0x0000000117e33800: callq 0x000000011798a600 ; {no_reloc}
0x0000000117e33805: mov %rsp,-0x28(%rsp)
0x0000000117e3380a: sub $0x80,%rsp
0x0000000117e33811: mov %rax,0x78(%rsp)
0x0000000117e33816: mov %rcx,0x70(%rsp)
0x0000000117e3381b: mov %rdx,0x68(%rsp)
0x0000000117e33820: mov %rbx,0x60(%rsp)
0x0000000117e33825: mov %rbp,0x50(%rsp)
0x0000000117e3382a: mov %rsi,0x48(%rsp)
0x0000000117e3382f: mov %rdi,0x40(%rsp)
0x0000000117e33834: mov %r8,0x38(%rsp)
0x0000000117e33839: mov %r9,0x30(%rsp)
0x0000000117e3383e: mov %r10,0x28(%rsp)
0x0000000117e33843: mov %r11,0x20(%rsp)
0x0000000117e33848: mov %r12,0x18(%rsp)
0x0000000117e3384d: mov %r13,0x10(%rsp)
0x0000000117e33852: mov %r14,0x8(%rsp)
0x0000000117e33857: mov %r15,(%rsp)
0x0000000117e3385b: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e33865: movabs $0x117e33805,%rsi ; {internal_word}
0x0000000117e3386f: mov %rsp,%rdx
0x0000000117e33872: and $0xfffffffffffffff0,%rsp
0x0000000117e33876: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e3387b: hlt
[Deopt Handler Code]
0x0000000117e3387c: movabs $0x117e3387c,%r10 ; {section_word}
0x0000000117e33886: push %r10
0x0000000117e33888: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e3388d: hlt
0x0000000117e3388e: hlt
0x0000000117e3388f: hlt
ImmutableOopMap{rsi=Oop }pc offsets: 239 Compiled method (c2) 175 43 4 TestArrayMult::multByInt (118 bytes)
total in heap [0x000000011f367910,0x000000011f3684e0] = 3024
relocation [0x000000011f367a88,0x000000011f367aa0] = 24
main code [0x000000011f367aa0,0x000000011f367e80] = 992
stub code [0x000000011f367e80,0x000000011f367e98] = 24
oops [0x000000011f367e98,0x000000011f367ea0] = 8
metadata [0x000000011f367ea0,0x000000011f367ec0] = 32
scopes data [0x000000011f367ec0,0x000000011f368028] = 360
scopes pcs [0x000000011f368028,0x000000011f3684b8] = 1168
dependencies [0x000000011f3684b8,0x000000011f3684c0] = 8
nul chk table [0x000000011f3684c0,0x000000011f3684e0] = 32
----------------------------------------------------------------------
TestArrayMult.multByInt([JJ[J)V [0x000000011f367aa0, 0x000000011f367e98] 1016 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000000133507770} 'multByInt' '([JJ[J)V' in 'TestArrayMult'
# parm0: rsi:rsi = '[J'
# parm1: rdx:rdx = long
# parm2: rcx:rcx = '[J'
# [sp+0x40] (sp of caller)
0x000000011f367aa0: mov %eax,-0x14000(%rsp)
0x000000011f367aa7: push %rbp
0x000000011f367aa8: sub $0x30,%rsp ;*synchronization entry
; - TestArrayMult::multByInt at -1 (line 43)
0x000000011f367aac: mov 0xc(%rsi),%ebp ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 6 (line 43)
; implicit exception: dispatches to 0x000000011f367e46
0x000000011f367aaf: test %ebp,%ebp
0x000000011f367ab1: jbe 0x000000011f367c18 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 7 (line 43)
0x000000011f367ab7: mov %ebp,%r8d
0x000000011f367aba: dec %r8d
0x000000011f367abd: cmp %ebp,%r8d
0x000000011f367ac0: jae 0x000000011f367e26
0x000000011f367ac6: mov 0xc(%rcx),%r11d ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 19 (line 44)
; implicit exception: dispatches to 0x000000011f367e26
0x000000011f367aca: test %r11d,%r11d
0x000000011f367acd: jbe 0x000000011f367e26
0x000000011f367ad3: cmp %r11d,%r8d
0x000000011f367ad6: jae 0x000000011f367e26
0x000000011f367adc: mov %ecx,%r10d
0x000000011f367adf: shr $0x3,%r10d
0x000000011f367ae3: and $0x3,%r10d
0x000000011f367ae7: xor %ebx,%ebx
0x000000011f367ae9: mov $0x1,%r11d
0x000000011f367aef: sub %r10d,%r11d
0x000000011f367af2: and $0x3,%r11d
0x000000011f367af6: inc %r11d
0x000000011f367af9: cmp %ebp,%r11d
0x000000011f367afc: cmovg %ebp,%r11d ;*aload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 10 (line 44)
0x000000011f367b00: mov %rdx,%r10
0x000000011f367b03: imul 0x10(%rsi,%rbx,8),%r10
0x000000011f367b09: mov %r10,0x10(%rcx,%rbx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 19 (line 44)
0x000000011f367b0e: inc %ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 20 (line 43)
0x000000011f367b10: cmp %r11d,%ebx
0x000000011f367b13: jl 0x000000011f367b00 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 7 (line 43)
0x000000011f367b15: mov %ebp,%r10d
0x000000011f367b18: add $0xfffffff9,%r10d
0x000000011f367b1c: mov $0x80000000,%r9d
0x000000011f367b22: cmp %r10d,%r8d
0x000000011f367b25: cmovl %r9d,%r10d
0x000000011f367b29: cmp %r10d,%ebx
0x000000011f367b2c: jge 0x000000011f367bfd
0x000000011f367b32: vmovq %rdx,%xmm0
0x000000011f367b37: vpunpcklqdq %xmm0,%xmm0,%xmm0
0x000000011f367b3b: vinserti128 $0x1,%xmm0,%ymm0,%ymm0
;*aload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 10 (line 44)
0x000000011f367b41: vmovdqu 0x10(%rsi,%rbx,8),%ymm1
0x000000011f367b47: vpshufd $0xb1,%ymm0,%ymm3
0x000000011f367b4c: vpmulld %ymm3,%ymm1,%ymm3
0x000000011f367b51: vphaddd %ymm3,%ymm3,%ymm3
0x000000011f367b56: vpmovzxdq %xmm3,%ymm3
0x000000011f367b5b: vpsllq $0x20,%ymm3,%ymm3
0x000000011f367b60: vpmuludq %ymm0,%ymm1,%ymm2
0x000000011f367b64: vpaddq %ymm2,%ymm3,%ymm1
0x000000011f367b68: vmovdqu %ymm1,0x10(%rcx,%rbx,8)
0x000000011f367b6e: vmovdqu 0x30(%rsi,%rbx,8),%ymm1
0x000000011f367b74: vpshufd $0xb1,%ymm0,%ymm3
0x000000011f367b79: vpmulld %ymm3,%ymm1,%ymm3
0x000000011f367b7e: vphaddd %ymm3,%ymm3,%ymm3
0x000000011f367b83: vpmovzxdq %xmm3,%ymm3
0x000000011f367b88: vpsllq $0x20,%ymm3,%ymm3
0x000000011f367b8d: vpmuludq %ymm0,%ymm1,%ymm2
0x000000011f367b91: vpaddq %ymm2,%ymm3,%ymm1
0x000000011f367b95: vmovdqu %ymm1,0x30(%rcx,%rbx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 19 (line 44)
0x000000011f367b9b: add $0x8,%ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 20 (line 43)
0x000000011f367b9e: cmp %r10d,%ebx
0x000000011f367ba1: jl 0x000000011f367b41 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 23 (line 43)
0x000000011f367ba3: mov 0x108(%r15),%r11 ; ImmutableOopMap{rcx=Oop rsi=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 23 (line 43)
0x000000011f367baa: test %eax,(%r11) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 23 (line 43)
; {poll}
0x000000011f367bad: cmp %r10d,%ebx
0x000000011f367bb0: jl 0x000000011f367b41
0x000000011f367bb2: mov %ebp,%r11d
0x000000011f367bb5: add $0xfffffffd,%r11d
0x000000011f367bb9: cmp %r11d,%r8d
0x000000011f367bbc: cmovl %r9d,%r11d
0x000000011f367bc0: cmp %r11d,%ebx
0x000000011f367bc3: jge 0x000000011f367bfd
0x000000011f367bc5: data16 xchg %ax,%ax ;*aload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 10 (line 44)
0x000000011f367bc8: vmovdqu 0x10(%rsi,%rbx,8),%ymm1
0x000000011f367bce: vpshufd $0xb1,%ymm0,%ymm3
0x000000011f367bd3: vpmulld %ymm3,%ymm1,%ymm3
0x000000011f367bd8: vphaddd %ymm3,%ymm3,%ymm3
0x000000011f367bdd: vpmovzxdq %xmm3,%ymm3
0x000000011f367be2: vpsllq $0x20,%ymm3,%ymm3
0x000000011f367be7: vpmuludq %ymm0,%ymm1,%ymm2
0x000000011f367beb: vpaddq %ymm2,%ymm3,%ymm1
0x000000011f367bef: vmovdqu %ymm1,0x10(%rcx,%rbx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 19 (line 44)
0x000000011f367bf5: add $0x4,%ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 20 (line 43)
0x000000011f367bf8: cmp %r11d,%ebx
0x000000011f367bfb: jl 0x000000011f367bc8 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 7 (line 43)
0x000000011f367bfd: cmp %ebp,%ebx
0x000000011f367bff: jge 0x000000011f367c18
0x000000011f367c01: data16 xchg %ax,%ax ;*aload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 10 (line 44)
0x000000011f367c04: mov %rdx,%r10
0x000000011f367c07: imul 0x10(%rsi,%rbx,8),%r10
0x000000011f367c0d: mov %r10,0x10(%rcx,%rbx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 19 (line 44)
0x000000011f367c12: inc %ebx ;*iinc {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 20 (line 43)
0x000000011f367c14: cmp %ebp,%ebx
0x000000011f367c16: jl 0x000000011f367c04 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 7 (line 43)
0x000000011f367c18: mov 0xc(%rcx),%r8d ; implicit exception: dispatches to 0x000000011f367e56
0x000000011f367c1c: cmp $0x9,%r8d
0x000000011f367c20: jbe 0x000000011f367dfe
0x000000011f367c26: mov 0x50(%rcx),%rbx ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 29 (line 48)
0x000000011f367c2a: mov %rbx,%r10
0x000000011f367c2d: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::multByInt at 30 (line 48)
0x000000011f367c34: mov %r10,%rdi
0x000000011f367c37: sar $0x1a,%rdi
0x000000011f367c3b: and $0xfffffffffc000000,%r10
0x000000011f367c42: sub %r10,%rbx ;*lsub {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 45 (line 49)
0x000000011f367c45: mov %rbx,0x50(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 46 (line 49)
0x000000011f367c49: add 0x58(%rcx),%rdi ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 54 (line 50)
0x000000011f367c4d: mov %rdi,%r10
0x000000011f367c50: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::multByInt at 60 (line 52)
0x000000011f367c57: mov %r10,%r11
0x000000011f367c5a: sar $0x1a,%r11
0x000000011f367c5e: and $0xfffffffffc000000,%r10
0x000000011f367c65: sub %r10,%rdi ;*lsub {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 75 (line 53)
0x000000011f367c68: mov %rdi,0x58(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 76 (line 53)
0x000000011f367c6c: imul $0x13,%r11,%r10 ;*lmul {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 82 (line 56)
0x000000011f367c70: mov %r10,%r11
0x000000011f367c73: sar $0x15,%r11
0x000000011f367c77: shl $0x5,%r10
0x000000011f367c7b: and $0x3ffffff,%r10
0x000000011f367c82: add 0x10(%rcx),%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 97 (line 57)
0x000000011f367c86: mov %r10,0x10(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 98 (line 57)
0x000000011f367c8a: add 0x18(%rcx),%r11 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 108 (line 58)
0x000000011f367c8e: mov %r11,0x18(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 109 (line 58)
0x000000011f367c92: test %r8d,%r8d
0x000000011f367c95: jbe 0x000000011f367e12
0x000000011f367c9b: cmp $0x8,%r8d
0x000000011f367c9f: jbe 0x000000011f367e12
0x000000011f367ca5: cmp $0x1,%r8d
0x000000011f367ca9: jbe 0x000000011f367e12
0x000000011f367caf: mov %r10,%r8
0x000000011f367cb2: add $0x2000000,%r8 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367cb9: mov %r8,%r9
0x000000011f367cbc: sar $0x1a,%r9
0x000000011f367cc0: add %r11,%r9 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367cc3: and $0xfffffffffc000000,%r8
0x000000011f367cca: sub %r8,%r10
0x000000011f367ccd: mov %r10,0x10(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367cd1: mov %r9,%r10
0x000000011f367cd4: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367cdb: mov %r10,%r11
0x000000011f367cde: sar $0x1a,%r11
0x000000011f367ce2: and $0xfffffffffc000000,%r10
0x000000011f367ce9: sub %r10,%r9
0x000000011f367cec: mov %r9,0x18(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367cf0: add 0x20(%rcx),%r11 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367cf4: mov %r11,%r10
0x000000011f367cf7: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367cfe: mov %r10,%r8
0x000000011f367d01: sar $0x1a,%r8
0x000000011f367d05: and $0xfffffffffc000000,%r10
0x000000011f367d0c: sub %r10,%r11
0x000000011f367d0f: mov %r11,0x20(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d13: add 0x28(%rcx),%r8 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d17: mov %r8,%r10
0x000000011f367d1a: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d21: mov %r10,%r11
0x000000011f367d24: sar $0x1a,%r11
0x000000011f367d28: and $0xfffffffffc000000,%r10
0x000000011f367d2f: sub %r10,%r8
0x000000011f367d32: mov %r8,0x28(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d36: add 0x30(%rcx),%r11 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d3a: mov %r11,%r10
0x000000011f367d3d: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d44: mov %r10,%r8
0x000000011f367d47: sar $0x1a,%r8
0x000000011f367d4b: and $0xfffffffffc000000,%r10
0x000000011f367d52: sub %r10,%r11
0x000000011f367d55: mov %r11,0x30(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d59: add 0x38(%rcx),%r8 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d5d: mov %r8,%r10
0x000000011f367d60: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d67: mov %r10,%r11
0x000000011f367d6a: sar $0x1a,%r11
0x000000011f367d6e: and $0xfffffffffc000000,%r10
0x000000011f367d75: sub %r10,%r8
0x000000011f367d78: mov %r8,0x38(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d7c: add 0x40(%rcx),%r11 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d80: mov %r11,%r10
0x000000011f367d83: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d8a: mov %r10,%r8
0x000000011f367d8d: sar $0x1a,%r8
0x000000011f367d91: and $0xfffffffffc000000,%r10
0x000000011f367d98: sub %r10,%r11
0x000000011f367d9b: mov %r11,0x40(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367d9f: add 0x48(%rcx),%r8 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367da3: mov %r8,%r10
0x000000011f367da6: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367dad: mov %r10,%r11
0x000000011f367db0: sar $0x1a,%r11
0x000000011f367db4: add %rbx,%r11 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367db7: and $0xfffffffffc000000,%r10
0x000000011f367dbe: sub %r10,%r8
0x000000011f367dc1: mov %r8,0x48(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367dc5: mov %r11,%r10
0x000000011f367dc8: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367dcf: mov %r10,%r8
0x000000011f367dd2: sar $0x1a,%r8
0x000000011f367dd6: add %rdi,%r8
0x000000011f367dd9: and $0xfffffffffc000000,%r10
0x000000011f367de0: sub %r10,%r11
0x000000011f367de3: mov %r11,0x50(%rcx) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367de7: mov %r8,0x58(%rcx) ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 7 (line 43)
0x000000011f367deb: vzeroupper
0x000000011f367dee: add $0x30,%rsp
0x000000011f367df2: pop %rbp
0x000000011f367df3: mov 0x108(%r15),%r10
0x000000011f367dfa: test %eax,(%r10) ; {poll_return}
0x000000011f367dfd: retq
0x000000011f367dfe: mov $0xffffffe4,%esi
0x000000011f367e03: mov %rcx,(%rsp)
0x000000011f367e07: nop
0x000000011f367e08: vzeroupper
0x000000011f367e0b: callq 0x00000001178c6900 ; ImmutableOopMap{[0]=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 29 (line 48)
; {runtime_call UncommonTrapBlob}
0x000000011f367e10: ud2 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 4 (line 34)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367e12: mov $0xffffff7e,%esi
0x000000011f367e17: mov %rcx,%rbp
0x000000011f367e1a: xchg %ax,%ax
0x000000011f367e1c: vzeroupper
0x000000011f367e1f: callq 0x00000001178c6900 ; ImmutableOopMap{rbp=Oop }
;*if_icmpge {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 4 (line 34)
; - TestArrayMult::multByInt at 114 (line 61)
; {runtime_call UncommonTrapBlob}
0x000000011f367e24: ud2 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 4 (line 34)
; - TestArrayMult::multByInt at 114 (line 61)
0x000000011f367e26: mov %rsi,(%rsp)
0x000000011f367e2a: mov %rdx,0x8(%rsp)
0x000000011f367e2f: mov %rcx,0x10(%rsp)
0x000000011f367e34: mov $0xffffff7e,%esi
0x000000011f367e39: data16 xchg %ax,%ax
0x000000011f367e3c: vzeroupper
0x000000011f367e3f: callq 0x00000001178c6900 ; ImmutableOopMap{[0]=Oop [16]=Oop }
;*if_icmpge {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 7 (line 43)
; {runtime_call UncommonTrapBlob}
0x000000011f367e44: ud2 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 7 (line 43)
0x000000011f367e46: mov $0xfffffff6,%esi
0x000000011f367e4b: nop
0x000000011f367e4c: vzeroupper
0x000000011f367e4f: callq 0x00000001178c6900 ; ImmutableOopMap{}
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 6 (line 43)
; {runtime_call UncommonTrapBlob}
0x000000011f367e54: ud2
0x000000011f367e56: mov $0xfffffff6,%esi
0x000000011f367e5b: nop
0x000000011f367e5c: vzeroupper
0x000000011f367e5f: callq 0x00000001178c6900 ; ImmutableOopMap{}
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 29 (line 48)
; {runtime_call UncommonTrapBlob}
0x000000011f367e64: ud2 ;*aload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::multByInt at 10 (line 44)
0x000000011f367e66: hlt
0x000000011f367e67: hlt
0x000000011f367e68: hlt
0x000000011f367e69: hlt
0x000000011f367e6a: hlt
0x000000011f367e6b: hlt
0x000000011f367e6c: hlt
0x000000011f367e6d: hlt
0x000000011f367e6e: hlt
0x000000011f367e6f: hlt
0x000000011f367e70: hlt
0x000000011f367e71: hlt
0x000000011f367e72: hlt
0x000000011f367e73: hlt
0x000000011f367e74: hlt
0x000000011f367e75: hlt
0x000000011f367e76: hlt
0x000000011f367e77: hlt
0x000000011f367e78: hlt
0x000000011f367e79: hlt
0x000000011f367e7a: hlt
0x000000011f367e7b: hlt
0x000000011f367e7c: hlt
0x000000011f367e7d: hlt
0x000000011f367e7e: hlt
0x000000011f367e7f: hlt
[Exception Handler]
[Stub Code]
0x000000011f367e80: jmpq 0x0000000117988600 ; {no_reloc}
[Deopt Handler Code]
0x000000011f367e85: callq 0x000000011f367e8a
0x000000011f367e8a: subq $0x5,(%rsp)
0x000000011f367e8f: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x000000011f367e94: hlt
0x000000011f367e95: hlt
0x000000011f367e96: hlt
0x000000011f367e97: hlt
ImmutableOopMap{rcx=Oop rsi=Oop }pc offsets: 266
ImmutableOopMap{[0]=Oop }pc offsets: 880
ImmutableOopMap{rbp=Oop }pc offsets: 900
ImmutableOopMap{[0]=Oop [16]=Oop }pc offsets: 932
ImmutableOopMap{}pc offsets: 948 964 Compiled method (c2) 199 44 % 4 TestArrayMult::carry @ 2 (31 bytes)
total in heap [0x000000011f368510,0x000000011f368d30] = 2080
relocation [0x000000011f368688,0x000000011f3686a0] = 24
main code [0x000000011f3686a0,0x000000011f368940] = 672
stub code [0x000000011f368940,0x000000011f368958] = 24
oops [0x000000011f368958,0x000000011f368960] = 8
metadata [0x000000011f368960,0x000000011f368980] = 32
scopes data [0x000000011f368980,0x000000011f368a68] = 232
scopes pcs [0x000000011f368a68,0x000000011f368d18] = 688
dependencies [0x000000011f368d18,0x000000011f368d20] = 8
nul chk table [0x000000011f368d20,0x000000011f368d30] = 16
----------------------------------------------------------------------
TestArrayMult.carry([JII)V [0x000000011f3686a0, 0x000000011f368958] 696 bytes
[Entry Point]
[Verified Entry Point]
[Constants]
# {method} {0x0000000133507640} 'carry' '([JII)V' in 'TestArrayMult'
0x000000011f3686a0: callq 0x000000010e4e930c ; {runtime_call os::breakpoint()}
0x000000011f3686a5: data16 data16 nopw 0x0(%rax,%rax,1)
0x000000011f3686b0: mov %eax,-0x14000(%rsp)
0x000000011f3686b7: push %rbp
0x000000011f3686b8: sub $0x40,%rsp
0x000000011f3686bc: mov 0x28(%rsi),%r14
0x000000011f3686c0: mov 0x18(%rsi),%r13d
0x000000011f3686c4: mov 0x10(%rsi),%ebx
0x000000011f3686c7: mov %rsi,%rdi
0x000000011f3686ca: movabs $0x10e563442,%r10
0x000000011f3686d4: callq *%r10
0x000000011f3686d7: mov 0x8(%r14),%r10d ; implicit exception: dispatches to 0x000000011f368920
0x000000011f3686db: cmp $0xe08,%r10d ; {metadata({type array long})}
0x000000011f3686e2: jne 0x000000011f368906
0x000000011f3686e8: cmp %r13d,%ebx
0x000000011f3686eb: jge 0x000000011f3688a4 ;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 2 (line 34)
0x000000011f3686f1: mov 0xc(%r14),%ecx ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f3686f5: mov %ebx,%r10d
0x000000011f3686f8: inc %r10d
0x000000011f3686fb: mov $0xffffffff,%r11d
0x000000011f368701: cmp %r11d,%r10d
0x000000011f368704: cmovl %r11d,%r10d
0x000000011f368708: xor %r11d,%r11d
0x000000011f36870b: cmp %r11d,%r10d
0x000000011f36870e: cmovl %r11d,%r10d
0x000000011f368712: cmp %r13d,%r10d
0x000000011f368715: cmovg %r13d,%r10d ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 10 (line 28)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368719: cmp %ecx,%ebx
0x000000011f36871b: jae 0x000000011f3688b4
0x000000011f368721: mov $0x2000000,%r11d
0x000000011f368727: add 0x10(%r14,%rbx,8),%r11 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f36872c: mov %ebx,%r8d
0x000000011f36872f: inc %r8d ;*iadd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 17 (line 37)
0x000000011f368732: mov %r11,%rbp
0x000000011f368735: sar $0x1a,%rbp ;*lshr {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 7 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368739: cmp %ecx,%r8d
0x000000011f36873c: jae 0x000000011f3688de
0x000000011f368742: and $0xfffffffffc000000,%r11
0x000000011f368749: sub %r11,0x10(%r14,%rbx,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f36874e: movslq %ebx,%r9
0x000000011f368751: add %rbp,0x18(%r14,%r9,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 23 (line 37)
0x000000011f368756: cmp %r10d,%r8d
0x000000011f368759: jge 0x000000011f368760 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 4 (line 34)
0x000000011f36875b: mov %r8d,%ebx
0x000000011f36875e: jmp 0x000000011f368719
0x000000011f368760: mov %ecx,%ebx
0x000000011f368762: dec %ebx
0x000000011f368764: cmp %r13d,%ebx
0x000000011f368767: cmovg %r13d,%ebx
0x000000011f36876b: mov %ebx,%r11d
0x000000011f36876e: add $0xfffffffd,%r11d
0x000000011f368772: mov $0x80000000,%edi
0x000000011f368777: cmp %r11d,%ebx
0x000000011f36877a: cmovl %edi,%r11d
0x000000011f36877e: cmp %r11d,%r8d
0x000000011f368781: jge 0x000000011f36885c
0x000000011f368787: movslq %ecx,%r10
0x000000011f36878a: add $0x2,%r9
0x000000011f36878e: cmp %r10,%r9
0x000000011f368791: jae 0x000000011f36891e ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
0x000000011f368797: nopw 0x0(%rax,%rax,1)
0x000000011f3687a0: mov 0x10(%r14,%r8,8),%r10 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f3687a5: movslq %r8d,%rdi
0x000000011f3687a8: mov %r10,%r9
0x000000011f3687ab: add $0x2000000,%r9 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f3687b2: mov %r9,%rbx
0x000000011f3687b5: sar $0x1a,%rbx
0x000000011f3687b9: and $0xfffffffffc000000,%r9
0x000000011f3687c0: sub %r9,%r10
0x000000011f3687c3: mov %r10,0x10(%r14,%r8,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f3687c8: add 0x18(%r14,%r8,8),%rbx ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
0x000000011f3687cd: mov %rbx,%r10
0x000000011f3687d0: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f3687d7: mov %r10,%r9
0x000000011f3687da: sar $0x1a,%r9
0x000000011f3687de: and $0xfffffffffc000000,%r10
0x000000011f3687e5: sub %r10,%rbx
0x000000011f3687e8: mov %rbx,0x18(%r14,%r8,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f3687ed: add 0x20(%r14,%r8,8),%r9 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
0x000000011f3687f2: mov %r9,%r10
0x000000011f3687f5: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f3687fc: mov %r10,%rbx
0x000000011f3687ff: sar $0x1a,%rbx
0x000000011f368803: and $0xfffffffffc000000,%r10
0x000000011f36880a: sub %r10,%r9
0x000000011f36880d: mov %r9,0x20(%r14,%r8,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368812: add 0x28(%r14,%rdi,8),%rbx ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 22 (line 37)
0x000000011f368817: mov %rbx,%r10
0x000000011f36881a: add $0x2000000,%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368821: mov %r10,%r9
0x000000011f368824: sar $0x1a,%r9
0x000000011f368828: and $0xfffffffffc000000,%r10
0x000000011f36882f: sub %r10,%rbx
0x000000011f368832: mov %rbx,0x28(%r14,%rdi,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368837: add %r9,0x30(%r14,%rdi,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 23 (line 37)
0x000000011f36883c: add $0x4,%r8d ;*iadd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 17 (line 37)
0x000000011f368840: cmp %r11d,%r8d
0x000000011f368843: jl 0x000000011f3687a0 ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
0x000000011f368849: mov 0x108(%r15),%r10 ; ImmutableOopMap{r14=Oop }
;*goto {reexecute=1 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
0x000000011f368850: test %eax,(%r10) ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 27 (line 34)
; {poll}
0x000000011f368853: cmp %r11d,%r8d
0x000000011f368856: jl 0x000000011f3687a0
0x000000011f36885c: cmp %r13d,%r8d
0x000000011f36885f: jge 0x000000011f3688a4
0x000000011f368861: data16 xchg %ax,%ax ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 10 (line 28)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368864: cmp %ecx,%r8d
0x000000011f368867: jae 0x000000011f3688b7
0x000000011f368869: mov $0x2000000,%r10d
0x000000011f36886f: add 0x10(%r14,%r8,8),%r10 ;*ladd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 4 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368874: mov %r8d,%r9d
0x000000011f368877: inc %r9d ;*iadd {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 17 (line 37)
0x000000011f36887a: mov %r10,%rbp
0x000000011f36887d: sar $0x1a,%rbp ;*lshr {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryValue at 7 (line 23)
; - TestArrayMult::carryOut at 3 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368881: cmp %ecx,%r9d
0x000000011f368884: jae 0x000000011f3688e1
0x000000011f368886: movslq %r8d,%r11
0x000000011f368889: and $0xfffffffffc000000,%r10
0x000000011f368890: sub %r10,0x10(%r14,%r8,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 16 (line 28)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368895: add %rbp,0x18(%r14,%r11,8) ;*lastore {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 23 (line 37)
0x000000011f36889a: cmp %r13d,%r9d
0x000000011f36889d: jge 0x000000011f3688a4 ;*if_icmpge {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 4 (line 34)
0x000000011f36889f: mov %r9d,%r8d
0x000000011f3688a2: jmp 0x000000011f368864 ;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 2 (line 34)
0x000000011f3688a4: add $0x40,%rsp
0x000000011f3688a8: pop %rbp
0x000000011f3688a9: mov 0x108(%r15),%r10
0x000000011f3688b0: test %eax,(%r10) ; {poll_return}
0x000000011f3688b3: retq
0x000000011f3688b4: mov %ebx,%r8d
0x000000011f3688b7: mov $0xffffffe4,%esi
0x000000011f3688bc: mov %r13d,(%rsp)
0x000000011f3688c0: mov %r14,0x8(%rsp)
0x000000011f3688c5: mov %r8d,0x10(%rsp)
0x000000011f3688ca: mov %r14,0x18(%rsp)
0x000000011f3688cf: mov %r8d,0x14(%rsp)
0x000000011f3688d4: data16 xchg %ax,%ax
0x000000011f3688d7: callq 0x00000001178c6900 ; ImmutableOopMap{[8]=Oop [24]=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
; {runtime_call UncommonTrapBlob}
0x000000011f3688dc: ud2 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f3688de: mov %ebx,%r8d
0x000000011f3688e1: mov $0xffffffe4,%esi
0x000000011f3688e6: mov %r13d,0x8(%rsp)
0x000000011f3688eb: mov %r14,0x10(%rsp)
0x000000011f3688f0: mov %r8d,0x18(%rsp)
0x000000011f3688f5: mov %r14,0x20(%rsp)
0x000000011f3688fa: mov %r8d,0x1c(%rsp)
0x000000011f3688ff: callq 0x00000001178c6900 ; ImmutableOopMap{[16]=Oop [32]=Oop }
;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 10 (line 28)
; - TestArrayMult::carry at 9 (line 36)
; {runtime_call UncommonTrapBlob}
0x000000011f368904: ud2
0x000000011f368906: mov $0xffffff95,%esi
0x000000011f36890b: mov %r14,%rbp
0x000000011f36890e: mov %r13d,(%rsp)
0x000000011f368912: mov %ebx,0x4(%rsp)
0x000000011f368916: nop
0x000000011f368917: callq 0x00000001178c6900 ; ImmutableOopMap{rbp=Oop }
;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 2 (line 34)
; {runtime_call UncommonTrapBlob}
0x000000011f36891c: ud2
0x000000011f36891e: ud2
0x000000011f368920: mov $0xffffffbe,%esi
0x000000011f368925: mov %r13d,%ebp
0x000000011f368928: mov %ebx,(%rsp)
0x000000011f36892b: callq 0x00000001178c6900 ; ImmutableOopMap{}
;*iload_3 {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carry at 2 (line 34)
; {runtime_call UncommonTrapBlob}
0x000000011f368930: ud2 ;*laload {reexecute=0 rethrow=0 return_oop=0}
; - TestArrayMult::carryOut at 2 (line 27)
; - TestArrayMult::carry at 9 (line 36)
0x000000011f368932: hlt
0x000000011f368933: hlt
0x000000011f368934: hlt
0x000000011f368935: hlt
0x000000011f368936: hlt
0x000000011f368937: hlt
0x000000011f368938: hlt
0x000000011f368939: hlt
0x000000011f36893a: hlt
0x000000011f36893b: hlt
0x000000011f36893c: hlt
0x000000011f36893d: hlt
0x000000011f36893e: hlt
0x000000011f36893f: hlt
[Exception Handler]
[Stub Code]
0x000000011f368940: jmpq 0x0000000117988600 ; {no_reloc}
[Deopt Handler Code]
0x000000011f368945: callq 0x000000011f36894a
0x000000011f36894a: subq $0x5,(%rsp)
0x000000011f36894f: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x000000011f368954: hlt
0x000000011f368955: hlt
0x000000011f368956: hlt
0x000000011f368957: hlt
ImmutableOopMap{r14=Oop }pc offsets: 432
ImmutableOopMap{[8]=Oop [24]=Oop }pc offsets: 572
ImmutableOopMap{[16]=Oop [32]=Oop }pc offsets: 612
ImmutableOopMap{rbp=Oop }pc offsets: 636
ImmutableOopMap{}pc offsets: 656 Compiled method (c1) 210 45 3 java.lang.AbstractStringBuilder::ensureCapacityInternal (39 bytes)
total in heap [0x0000000117e33990,0x0000000117e342d8] = 2376
relocation [0x0000000117e33b08,0x0000000117e33b70] = 104
main code [0x0000000117e33b80,0x0000000117e33fa0] = 1056
stub code [0x0000000117e33fa0,0x0000000117e34058] = 184
metadata [0x0000000117e34058,0x0000000117e34070] = 24
scopes data [0x0000000117e34070,0x0000000117e34160] = 240
scopes pcs [0x0000000117e34160,0x0000000117e342c0] = 352
dependencies [0x0000000117e342c0,0x0000000117e342c8] = 8
nul chk table [0x0000000117e342c8,0x0000000117e342d8] = 16
----------------------------------------------------------------------
java/lang/AbstractStringBuilder.ensureCapacityInternal(I)V [0x0000000117e33b80, 0x0000000117e34058] 1240 bytes
[Entry Point]
[Constants]
# {method} {0x00000001331a99a0} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder'
# this: rsi:rsi = 'java/lang/AbstractStringBuilder'
# parm0: rdx = int
# [sp+0xb0] (sp of caller)
0x0000000117e33b80: mov 0x8(%rsi),%r10d
0x0000000117e33b84: movabs $0x800000000,%r12
0x0000000117e33b8e: add %r12,%r10
0x0000000117e33b91: xor %r12,%r12
0x0000000117e33b94: cmp %rax,%r10
0x0000000117e33b97: jne 0x00000001178c4c80 ; {runtime_call ic_miss_stub}
0x0000000117e33b9d: data16 xchg %ax,%ax
[Verified Entry Point]
0x0000000117e33ba0: mov %eax,-0x14000(%rsp)
0x0000000117e33ba7: push %rbp
0x0000000117e33ba8: sub $0xa0,%rsp
0x0000000117e33baf: mov %rsi,0x78(%rsp)
0x0000000117e33bb4: movabs $0x133462c78,%rcx ; {metadata(method data for {method} {0x00000001331a99a0} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000000117e33bbe: mov 0x104(%rcx),%edi
0x0000000117e33bc4: add $0x8,%edi
0x0000000117e33bc7: mov %edi,0x104(%rcx)
0x0000000117e33bcd: and $0x1ff8,%edi
0x0000000117e33bd3: cmp $0x0,%edi
0x0000000117e33bd6: je 0x0000000117e33eab ;*aload_0 {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 0 (line 167)
0x0000000117e33bdc: mov 0x14(%rsi),%edi
0x0000000117e33bdf: shl $0x3,%rdi ;*getfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 1 (line 167)
0x0000000117e33be3: mov 0xc(%rdi),%ebx ;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 167)
; implicit exception: dispatches to 0x0000000117e33ecc
0x0000000117e33be6: movsbl 0x10(%rsi),%ecx ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 6 (line 167)
0x0000000117e33bea: mov %rbx,%rax
0x0000000117e33bed: sar %cl,%eax
0x0000000117e33bef: mov %rdx,%rcx
0x0000000117e33bf2: sub %eax,%ecx
0x0000000117e33bf4: cmp $0x0,%ecx
0x0000000117e33bf7: movabs $0x133462c78,%rax ; {metadata(method data for {method} {0x00000001331a99a0} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000000117e33c01: movabs $0x140,%rcx
0x0000000117e33c0b: jle 0x0000000117e33c1b
0x0000000117e33c11: movabs $0x150,%rcx
0x0000000117e33c1b: mov (%rax,%rcx,1),%r8
0x0000000117e33c1f: lea 0x1(%r8),%r8
0x0000000117e33c23: mov %r8,(%rax,%rcx,1)
0x0000000117e33c27: jle 0x0000000117e33e98 ;*ifle {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 14 (line 168)
0x0000000117e33c2d: mov %ebx,0x80(%rsp)
0x0000000117e33c34: mov %rdi,0x88(%rsp)
0x0000000117e33c3c: mov %rsi,%rax
0x0000000117e33c3f: movabs $0x133462c78,%rcx ; {metadata(method data for {method} {0x00000001331a99a0} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000000117e33c49: addq $0x1,0x160(%rcx)
0x0000000117e33c51: mov %rsi,%rax
0x0000000117e33c54: mov %rax,%rsi ;*invokevirtual newCapacity {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 170)
0x0000000117e33c57: callq 0x00000001178c4f00 ; ImmutableOopMap{[120]=Oop [136]=Oop }
;*invokevirtual newCapacity {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 24 (line 170)
; {optimized virtual_call}
0x0000000117e33c5c: mov 0x78(%rsp),%rsi
0x0000000117e33c61: movsbl 0x10(%rsi),%ecx ;*getfield coder {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 28 (line 170)
0x0000000117e33c65: mov %rax,%r8
0x0000000117e33c68: shl %cl,%r8d
0x0000000117e33c6b: movabs $0x133462c78,%rbx ; {metadata(method data for {method} {0x00000001331a99a0} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000000117e33c75: addq $0x1,0x198(%rbx)
0x0000000117e33c7d: movabs $0x133463840,%rbx ; {metadata(method data for {method} {0x00000001332bfd38} 'copyOf' '([BI)[B' in 'java/util/Arrays')}
0x0000000117e33c87: mov 0x104(%rbx),%edx
0x0000000117e33c8d: add $0x8,%edx
0x0000000117e33c90: mov %edx,0x104(%rbx)
0x0000000117e33c96: and $0x7ffff8,%edx
0x0000000117e33c9c: cmp $0x0,%edx
0x0000000117e33c9f: je 0x0000000117e33ed1
0x0000000117e33ca5: mov %r8,%rbx
0x0000000117e33ca8: movabs $0x800000820,%rdx ; {metadata({type array byte})}
0x0000000117e33cb2: movslq %ebx,%rbx
0x0000000117e33cb5: mov %rbx,%rdi
0x0000000117e33cb8: cmp $0xffffff,%rbx
0x0000000117e33cbf: ja 0x0000000117e33ef2
0x0000000117e33cc5: movabs $0x17,%rsi
0x0000000117e33ccf: lea (%rsi,%rbx,1),%rsi
0x0000000117e33cd3: and $0xfffffffffffffff8,%rsi
0x0000000117e33cd7: mov 0x118(%r15),%rax
0x0000000117e33cde: lea (%rax,%rsi,1),%rsi
0x0000000117e33ce2: cmp 0x128(%r15),%rsi
0x0000000117e33ce9: ja 0x0000000117e33ef2
0x0000000117e33cef: mov %rsi,0x118(%r15)
0x0000000117e33cf6: sub %rax,%rsi
0x0000000117e33cf9: movq $0x1,(%rax)
0x0000000117e33d00: mov %rdx,%rcx
0x0000000117e33d03: movabs $0x800000000,%r12
0x0000000117e33d0d: sub %r12,%rcx
0x0000000117e33d10: xor %r12,%r12
0x0000000117e33d13: mov %ecx,0x8(%rax)
0x0000000117e33d16: mov %ebx,0xc(%rax)
0x0000000117e33d19: sub $0x10,%rsi
0x0000000117e33d1d: je 0x0000000117e33d3d
0x0000000117e33d23: test %rsi,%rsi
0x0000000117e33d26: je 0x0000000117e33d3d
0x0000000117e33d2c: xor %rbx,%rbx
0x0000000117e33d2f: shr $0x3,%rsi
0x0000000117e33d33: mov %rbx,0x8(%rax,%rsi,8)
0x0000000117e33d38: dec %rsi
0x0000000117e33d3b: jne 0x0000000117e33d33 ;*newarray {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 1 (line 3745)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 169)
0x0000000117e33d3d: movabs $0x133463840,%rsi ; {metadata(method data for {method} {0x00000001332bfd38} 'copyOf' '([BI)[B' in 'java/util/Arrays')}
0x0000000117e33d47: addq $0x1,0x140(%rsi)
0x0000000117e33d4f: movabs $0x1334639e8,%rsi ; {metadata(method data for {method} {0x0000000133285508} 'min' '(II)I' in 'java/lang/Math')}
0x0000000117e33d59: mov 0x104(%rsi),%edx
0x0000000117e33d5f: add $0x8,%edx
0x0000000117e33d62: mov %edx,0x104(%rsi)
0x0000000117e33d68: and $0x7ffff8,%edx
0x0000000117e33d6e: cmp $0x0,%edx
0x0000000117e33d71: je 0x0000000117e33efc
0x0000000117e33d77: mov 0x80(%rsp),%ebx
0x0000000117e33d7e: cmp %r8d,%ebx
0x0000000117e33d81: movabs $0x1334639e8,%rsi ; {metadata(method data for {method} {0x0000000133285508} 'min' '(II)I' in 'java/lang/Math')}
0x0000000117e33d8b: movabs $0x140,%rdx
0x0000000117e33d95: jg 0x0000000117e33da5
0x0000000117e33d9b: movabs $0x150,%rdx
0x0000000117e33da5: mov (%rsi,%rdx,1),%rcx
0x0000000117e33da9: lea 0x1(%rcx),%rcx
0x0000000117e33dad: mov %rcx,(%rsi,%rdx,1)
0x0000000117e33db1: jg 0x0000000117e33dcc ;*if_icmpgt {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Math::min at 2 (line 1513)
; - java.util.Arrays::copyOf at 11 (line 3747)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 169)
0x0000000117e33db7: movabs $0x1334639e8,%rsi ; {metadata(method data for {method} {0x0000000133285508} 'min' '(II)I' in 'java/lang/Math')}
0x0000000117e33dc1: incl 0x160(%rsi)
0x0000000117e33dc7: jmpq 0x0000000117e33dcf ;*goto {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Math::min at 6 (line 1513)
; - java.util.Arrays::copyOf at 11 (line 3747)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 169)
0x0000000117e33dcc: mov %r8,%rbx ;*ireturn {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.Math::min at 10 (line 1513)
; - java.util.Arrays::copyOf at 11 (line 3747)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 169)
0x0000000117e33dcf: mov 0x88(%rsp),%rdi
0x0000000117e33dd7: movabs $0x133463840,%rdx ; {metadata(method data for {method} {0x00000001332bfd38} 'copyOf' '([BI)[B' in 'java/util/Arrays')}
0x0000000117e33de1: addq $0x1,0x150(%rdx)
0x0000000117e33de9: mov %rdi,%rsi
0x0000000117e33dec: mov $0x0,%edx
0x0000000117e33df1: mov %rax,%rcx
0x0000000117e33df4: mov $0x0,%r8d
0x0000000117e33dfa: mov %rbx,%r9
0x0000000117e33dfd: mov %rax,0x90(%rsp)
0x0000000117e33e05: lea (%rdx,%r9,1),%rdi
0x0000000117e33e09: cmp 0xc(%rsi),%edi
0x0000000117e33e0c: ja 0x0000000117e33f1d
0x0000000117e33e12: lea (%r8,%r9,1),%rdi
0x0000000117e33e16: cmp 0xc(%rcx),%edi
0x0000000117e33e19: ja 0x0000000117e33f1d
0x0000000117e33e1f: test %r9d,%r9d
0x0000000117e33e22: jl 0x0000000117e33f1d
0x0000000117e33e28: movslq %edx,%rdx
0x0000000117e33e2b: movslq %r8d,%r8
0x0000000117e33e2e: lea 0x10(%rsi,%rdx,1),%rdi
0x0000000117e33e33: lea 0x10(%rcx,%r8,1),%rsi
0x0000000117e33e38: mov %r9,%rdx
0x0000000117e33e3b: test $0xf,%esp
0x0000000117e33e41: je 0x0000000117e33e59
0x0000000117e33e47: sub $0x8,%rsp
0x0000000117e33e4b: callq Stub::jbyte_disjoint_arraycopy
; {runtime_call StubRoutines (2)}
0x0000000117e33e50: add $0x8,%rsp
0x0000000117e33e54: jmpq 0x0000000117e33e5e
0x0000000117e33e59: callq Stub::jbyte_disjoint_arraycopy
;*invokestatic arraycopy {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 14 (line 3746)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 169)
; {runtime_call StubRoutines (2)}
0x0000000117e33e5e: mov 0x90(%rsp),%rax
0x0000000117e33e66: mov 0x78(%rsp),%rsi
0x0000000117e33e6b: movsbl 0x30(%r15),%edi
0x0000000117e33e70: cmp $0x0,%edi
0x0000000117e33e73: jne 0x0000000117e33f29
0x0000000117e33e79: mov %rax,%r10
0x0000000117e33e7c: shr $0x3,%r10
0x0000000117e33e80: mov %r10d,0x14(%rsi)
0x0000000117e33e84: mov %rsi,%rdi
0x0000000117e33e87: xor %rax,%rdi
0x0000000117e33e8a: shr $0x14,%rdi
0x0000000117e33e8e: cmp $0x0,%rdi
0x0000000117e33e92: jne 0x0000000117e33f48 ;*putfield value {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 35 (line 169)
0x0000000117e33e98: add $0xa0,%rsp
0x0000000117e33e9f: pop %rbp
0x0000000117e33ea0: mov 0x108(%r15),%r10
0x0000000117e33ea7: test %eax,(%r10) ; {poll_return}
0x0000000117e33eaa: retq
0x0000000117e33eab: movabs $0x1331a99a0,%r10 ; {metadata({method} {0x00000001331a99a0} 'ensureCapacityInternal' '(I)V' in 'java/lang/AbstractStringBuilder')}
0x0000000117e33eb5: mov %r10,0x8(%rsp)
0x0000000117e33eba: movq $0xffffffffffffffff,(%rsp)
0x0000000117e33ec2: callq 0x000000011798d300 ; ImmutableOopMap{rsi=Oop [120]=Oop }
;*synchronization entry
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at -1 (line 167)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e33ec7: jmpq 0x0000000117e33bdc
0x0000000117e33ecc: callq 0x0000000117987f20 ; ImmutableOopMap{rsi=Oop [120]=Oop rdi=Oop }
;*arraylength {reexecute=0 rethrow=0 return_oop=0}
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 4 (line 167)
; {runtime_call throw_null_pointer_exception Runtime1 stub}
0x0000000117e33ed1: movabs $0x1332bfd38,%r10 ; {metadata({method} {0x00000001332bfd38} 'copyOf' '([BI)[B' in 'java/util/Arrays')}
0x0000000117e33edb: mov %r10,0x8(%rsp)
0x0000000117e33ee0: movq $0xffffffffffffffff,(%rsp)
0x0000000117e33ee8: callq 0x000000011798d300 ; ImmutableOopMap{[136]=Oop rsi=Oop [120]=Oop }
;*synchronization entry
; - java.util.Arrays::copyOf at -1 (line 3745)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 169)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e33eed: jmpq 0x0000000117e33ca5
0x0000000117e33ef2: callq 0x0000000117989880 ; ImmutableOopMap{[136]=Oop [120]=Oop }
;*newarray {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 1 (line 3745)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 169)
; {runtime_call new_type_array Runtime1 stub}
0x0000000117e33ef7: jmpq 0x0000000117e33d3d
0x0000000117e33efc: movabs $0x133285508,%r10 ; {metadata({method} {0x0000000133285508} 'min' '(II)I' in 'java/lang/Math')}
0x0000000117e33f06: mov %r10,0x8(%rsp)
0x0000000117e33f0b: movq $0xffffffffffffffff,(%rsp)
0x0000000117e33f13: callq 0x000000011798d300 ; ImmutableOopMap{[136]=Oop [120]=Oop rax=Oop }
;*synchronization entry
; - java.lang.Math::min at -1 (line 1513)
; - java.util.Arrays::copyOf at 11 (line 3747)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 169)
; {runtime_call counter_overflow Runtime1 stub}
0x0000000117e33f18: jmpq 0x0000000117e33d77
0x0000000117e33f1d: xchg %ax,%ax
0x0000000117e33f1f: callq 0x00000001178c5400 ; ImmutableOopMap{[120]=Oop [144]=Oop }
;*invokestatic arraycopy {reexecute=0 rethrow=0 return_oop=0}
; - java.util.Arrays::copyOf at 14 (line 3746)
; - java.lang.AbstractStringBuilder::ensureCapacityInternal at 32 (line 169)
; {static_call}
0x0000000117e33f24: jmpq 0x0000000117e33e5e
0x0000000117e33f29: mov 0x14(%rsi),%edi
0x0000000117e33f2c: shl $0x3,%rdi
0x0000000117e33f30: cmp $0x0,%rdi
0x0000000117e33f34: je 0x0000000117e33e79
0x0000000117e33f3a: mov %rdi,(%rsp)
0x0000000117e33f3e: callq 0x000000011798d800 ; {runtime_call g1_pre_barrier_slow}
0x0000000117e33f43: jmpq 0x0000000117e33e79
0x0000000117e33f48: cmp $0x0,%rax
0x0000000117e33f4c: je 0x0000000117e33e98
0x0000000117e33f52: mov %rsi,(%rsp)
0x0000000117e33f56: callq 0x000000011798da80 ; {runtime_call g1_post_barrier_slow}
0x0000000117e33f5b: jmpq 0x0000000117e33e98
0x0000000117e33f60: nop
0x0000000117e33f61: nop
0x0000000117e33f62: mov 0x420(%r15),%rax
0x0000000117e33f69: movabs $0x0,%r10
0x0000000117e33f73: mov %r10,0x420(%r15)
0x0000000117e33f7a: movabs $0x0,%r10
0x0000000117e33f84: mov %r10,0x428(%r15)
0x0000000117e33f8b: add $0xa0,%rsp
0x0000000117e33f92: pop %rbp
0x0000000117e33f93: jmpq 0x0000000117988400 ; {runtime_call unwind_exception Runtime1 stub}
0x0000000117e33f98: hlt
0x0000000117e33f99: hlt
0x0000000117e33f9a: hlt
0x0000000117e33f9b: hlt
0x0000000117e33f9c: hlt
0x0000000117e33f9d: hlt
0x0000000117e33f9e: hlt
0x0000000117e33f9f: hlt
[Stub Code]
0x0000000117e33fa0: nopl 0x0(%rax,%rax,1) ; {no_reloc}
0x0000000117e33fa5: movabs $0x0,%rbx ; {static_stub}
0x0000000117e33faf: jmpq 0x0000000117e33faf ; {runtime_call}
0x0000000117e33fb4: nop
0x0000000117e33fb5: movabs $0x0,%rbx ; {static_stub}
0x0000000117e33fbf: jmpq 0x0000000117e33fbf ; {runtime_call}
[Exception Handler]
0x0000000117e33fc4: callq 0x000000011798a600 ; {runtime_call handle_exception_from_callee Runtime1 stub}
0x0000000117e33fc9: mov %rsp,-0x28(%rsp)
0x0000000117e33fce: sub $0x80,%rsp
0x0000000117e33fd5: mov %rax,0x78(%rsp)
0x0000000117e33fda: mov %rcx,0x70(%rsp)
0x0000000117e33fdf: mov %rdx,0x68(%rsp)
0x0000000117e33fe4: mov %rbx,0x60(%rsp)
0x0000000117e33fe9: mov %rbp,0x50(%rsp)
0x0000000117e33fee: mov %rsi,0x48(%rsp)
0x0000000117e33ff3: mov %rdi,0x40(%rsp)
0x0000000117e33ff8: mov %r8,0x38(%rsp)
0x0000000117e33ffd: mov %r9,0x30(%rsp)
0x0000000117e34002: mov %r10,0x28(%rsp)
0x0000000117e34007: mov %r11,0x20(%rsp)
0x0000000117e3400c: mov %r12,0x18(%rsp)
0x0000000117e34011: mov %r13,0x10(%rsp)
0x0000000117e34016: mov %r14,0x8(%rsp)
0x0000000117e3401b: mov %r15,(%rsp)
0x0000000117e3401f: movabs $0x10e6c818e,%rdi ; {external_word}
0x0000000117e34029: movabs $0x117e33fc9,%rsi ; {internal_word}
0x0000000117e34033: mov %rsp,%rdx
0x0000000117e34036: and $0xfffffffffffffff0,%rsp
0x0000000117e3403a: callq 0x000000010e41403c ; {runtime_call MacroAssembler::debug64(char*, long long, long long*)}
0x0000000117e3403f: hlt
[Deopt Handler Code]
0x0000000117e34040: movabs $0x117e34040,%r10 ; {section_word}
0x0000000117e3404a: push %r10
0x0000000117e3404c: jmpq 0x00000001178c6520 ; {runtime_call DeoptimizationBlob}
0x0000000117e34051: hlt
0x0000000117e34052: hlt
0x0000000117e34053: hlt
0x0000000117e34054: hlt
0x0000000117e34055: hlt
0x0000000117e34056: hlt
0x0000000117e34057: hlt
ImmutableOopMap{[120]=Oop [136]=Oop }pc offsets: 220
ImmutableOopMap{rsi=Oop [120]=Oop }pc offsets: 839
ImmutableOopMap{rsi=Oop [120]=Oop rdi=Oop }pc offsets: 849
ImmutableOopMap{[136]=Oop rsi=Oop [120]=Oop }pc offsets: 877
ImmutableOopMap{[136]=Oop [120]=Oop }pc offsets: 887
ImmutableOopMap{[136]=Oop [120]=Oop rax=Oop }pc offsets: 920
ImmutableOopMap{[120]=Oop [144]=Oop }pc offsets: 932
More information about the panama-dev
mailing list