Issue Encountered: Test Failure in Babylon Repository.

Prakritidev Verma prakritidevverma at gmail.com
Sun Apr 21 05:06:14 UTC 2024


Hi,

I recently cloned the Babylon repository and successfully built and ran the
tests following the instructions provided on github. Overall, the test ran
smoothly yielding successful results. However, I encountered a single test
failure and I'm addressing the issue.

JDK Version : openjdk 23-ea 2024-09-17
OpenJDK Runtime Environment (build 23-ea+18-1469)
OpenJDK 64-Bit Server VM (build 23-ea+18-1469, mixed mode, sharing)
Test Command: java -jar
/Users/akash/githubsoftwared/jtreg/build/images/jtreg/lib/jtreg.jar
-jdk:./build/macosx-aarch64-server-release/jdk/ -ea -esa -avm -va
test/jdk/java/lang/reflect/code/
Chip: Apple M2, 2023

Error report:

#Test Results (version 2)

#Sun Apr 21 10:01:56 IST 2024

#-----testdescription-----

$file=/Users/akash/githubsoftwared/babylon/test/jdk/java/lang/reflect/code/bytecode/TestSmallCorpus.java

$root=/Users/akash/githubsoftwared/babylon/test/jdk

enablePreview=true

keywords=testng

run=USER_SPECIFIED testng TestSmallCorpus\n

source=TestSmallCorpus.java

title=\


#-----environment-----


#-----testresult-----

description=file\:/Users/akash/githubsoftwared/babylon/test/jdk/java/lang/reflect/code/bytecode/TestSmallCorpus.java

elapsed=4054 0\:00\:04.054

end=Sun Apr 21 10\:01\:56 IST 2024

environment=regtest

execStatus=Failed. Execution failed\: `main' threw exception\:
java.lang.Exception\: failures\: 1

harnessLoaderMode=Classpath Loader

harnessVariety=Full Bundle

hostname=localhost

javatestOS=Mac OS X 14.3.1 (aarch64)

javatestVersion=6.0-ea+b24-2024-04-20-${BUILT_FROM_COMMIT}

jtregVersion=jtreg 7.3.1 dev 0

script=com.sun.javatest.regtest.exec.RegressionScript

sections=script_messages build testng

start=Sun Apr 21 10\:01\:52 IST 2024

test=java/lang/reflect/code/bytecode/TestSmallCorpus.java

testJDK=/Users/akash/githubsoftwared/babylon/./build/macosx-aarch64-server-release/jdk

testJDK_OS=[name\:Mac OS
X,arch\:aarch64,version\:14.3.1,family\:mac,simple_arch\:aarch64,simple_version\:14.3,processors\:8,maxMemory\:8589934592,maxSwap\:4294967296]

testJDK_os.arch=aarch64

testJDK_os.name=Mac OS X

testJDK_os.version=14.3.1

totalTime=4054

user.name=akash

work=/Users/akash/githubsoftwared/babylon/JTwork/java/lang/reflect/code/bytecode


#section:script_messages

----------messages:(4/281)----------

JDK under test:
/Users/akash/githubsoftwared/babylon/./build/macosx-aarch64-server-release/jdk

openjdk version "23-internal" 2024-09-17

OpenJDK Runtime Environment (build 23-internal-adhoc.akash.babylon)

OpenJDK 64-Bit Server VM (build 23-internal-adhoc.akash.babylon, mixed mode)


#section:build

----------messages:(5/175)----------

command: build TestSmallCorpus

reason: Named class compiled on demand

started: Sun Apr 21 10:01:52 IST 2024

finished: Sun Apr 21 10:01:52 IST 2024

elapsed time (seconds): 0.0

result: Passed. All files up to date


#section:testng

----------messages:(6/245)----------

command: testng TestSmallCorpus

reason: User specified action: run testng TestSmallCorpus

started: Sun Apr 21 10:01:52 IST 2024

Mode: othervm [test requires --enable-preview]

finished: Sun Apr 21 10:01:56 IST 2024

elapsed time (seconds): 4.052

----------configuration:(0/0)----------

----------System.out:(4816/627240)----------

java/net/IDN::toASCII(String,int)String

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toASCII" (%0 : java.lang.String, %1 : int)java.lang.String -> {
                                                                            |
func @"toASCII" (%0 : java.lang.String, %1 : int)java.lang.String -> {

     %2 : Var<java.lang.String> = var %0 @"reference type0";
                                                                            |
    %2 : Var<java.lang.String> = var %0 @"reference type0";

     %3 : Var<int> = var %1 @"int1";
                                                                            |
    %3 : Var<int> = var %1 @"int1";

     %4 : int = constant @"0";
                                                                            x
    %4 : java.lang.StringBuilder = new @"func<java.lang.StringBuilder>";

     %5 : Var<int> = var %4 @"int2";
                                                                            x
    %5 : Var<java.lang.StringBuilder> = var %4 @"reference type2";

     %6 : int = constant @"0";
                                                                            x
    %6 : java.lang.String = var.load %2;

     %7 : Var<int> = var %6 @"int3";
                                                                            x
    %7 : boolean = invoke %6
@"java.net.IDN::isRootLabel(java.lang.String)boolean";

     %8 : java.lang.StringBuilder = new @"func<java.lang.StringBuilder>";
                                                                            x
    %8 : int = constant @"0";

     %9 : Var<java.lang.StringBuilder> = var %8 @"reference type4";
                                                                            x
    %9 : boolean = eq %7 %8;

     %10 : java.lang.String = var.load %2;
                                                                            x
    cbranch %9 ^block_0 ^block_1;

     %11 : boolean = invoke %10
@"java.net.IDN::isRootLabel(java.lang.String)boolean";
                                            x

     %12 : int = constant @"0";
                                                                            x
  ^block_0:

     %13 : boolean = neq %11 %12;
                                                                            x
    %10 : int = constant @"0";

     cbranch %13 ^block_0 ^block_1;
                                                                            x
    %11 : Var<int> = var %10 @"int3";


                                                                            x
    branch ^block_2;

   ^block_0:

x

     %14 : java.lang.String = constant @".";
                                                                            x
  ^block_2:

     return %14;
                                                                            x
    %12 : java.lang.String = var.load %2;


                                                                            x
    %13 : int = invoke %12 @"java.lang.String::length()int";

   ^block_1:
                                                                            x
    %14 : Var<int> = var %13 @"int4";

     %15 : int = var.load %5;
                                                                            x
    %15 : int = var.load %11;

     %16 : java.lang.String = var.load %2;
                                                                            x
    %16 : int = var.load %14;

     %17 : int = invoke %16 @"java.lang.String::length()int";
                                                                            x
    %17 : boolean = lt %15 %16;

     %18 : boolean = lt %15 %17;
                                                                            x
    cbranch %17 ^block_3 ^block_4;

     cbranch %18 ^block_2 ^block_3;

x


                                                                            x
  ^block_3:

   ^block_2:
                                                                            x
    %18 : java.lang.String = var.load %2;

     %19 : java.lang.String = var.load %2;
                                                                            x
    %19 : int = var.load %11;

     %20 : int = var.load %5;
                                                                            x
    %20 : int = invoke %18 %19 @"java.net.IDN::searchDots(java.lang.String,
int)int";

     %21 : int = invoke %19 %20
@"java.net.IDN::searchDots(java.lang.String, int)int";
                                            x     %21 : Var<int> = var %20
@"int5";

     var.store %7 %21;
                                                                            x
    %22 : java.lang.String = var.load %2;

     %22 : java.lang.StringBuilder = var.load %9;
                                                                            x
    %23 : int = var.load %11;

     %23 : java.lang.String = var.load %2;
                                                                            x
    %24 : int = var.load %21;

     %24 : int = var.load %5;
                                                                            x
    %25 : java.lang.String = invoke %22 %23 %24
@"java.lang.String::substring(int, int)java.lang.String";

     %25 : int = var.load %7;
                                                                            x
    %26 : int = var.load %3;

     %26 : java.lang.String = invoke %23 %24 %25
@"java.lang.String::substring(int, int)java.lang.String";
                            x     %27 : java.lang.String = invoke %25 %26
@"java.net.IDN::toASCIIInternal(java.lang.String, int)java.lang.String";

     %27 : int = var.load %3;
                                                                            x
    %28 : Var<java.lang.String> = var %27 @"reference type6";

     %28 : java.lang.String = invoke %26 %27
@"java.net.IDN::toASCIIInternal(java.lang.String, int)java.lang.String";
                                x     %29 : java.lang.StringBuilder =
var.load %5;

     %29 : java.lang.StringBuilder = invoke %22 %28
@"java.lang.StringBuilder::append(java.lang.String)java.lang.StringBuilder";
                      x     %30 : java.lang.String = var.load %28;

     %30 : int = var.load %7;
                                                                            x
    %31 : java.lang.StringBuilder = invoke %29 %30
@"java.lang.StringBuilder::append(java.lang.String)java.lang.StringBuilder";

     %31 : java.lang.String = var.load %2;
                                                                            x
    %32 : java.lang.String = var.load %2;

     %32 : int = invoke %31 @"java.lang.String::length()int";
                                                                            x
    %33 : int = invoke %32 @"java.lang.String::length()int";

     %33 : boolean = neq %30 %32;
                                                                            x
    %34 : Var<int> = var %33 @"int7";

     cbranch %33 ^block_4 ^block_5;
                                                                            x
    %35 : int = var.load %21;


                                                                            x
    %36 : int = var.load %34;

   ^block_4:
                                                                            x
    %37 : boolean = neq %35 %36;

     %34 : java.lang.StringBuilder = var.load %9;
                                                                            x
    cbranch %37 ^block_5 ^block_6;

     %35 : int = constant @"46";

x

     %36 : java.lang.StringBuilder = invoke %34 %35
@"java.lang.StringBuilder::append(char)java.lang.StringBuilder";
                        x   ^block_5:

     branch ^block_5;
                                                                            x
    %38 : java.lang.StringBuilder = var.load %5;


                                                                            x
    %39 : int = constant @"46";

   ^block_5:
                                                                            x
    %40 : java.lang.StringBuilder = invoke %38 %39
@"java.lang.StringBuilder::append(char)java.lang.StringBuilder";

     %37 : int = var.load %7;
                                                                            x
    branch ^block_6;

     %38 : int = constant @"1";

x

     %39 : int = add %37 %38;
                                                                            x
  ^block_6:

     var.store %5 %39;
                                                                            x
    %41 : int = var.load %21;

     branch ^block_1;
                                                                            x
    %42 : int = constant @"1";


                                                                            x
    %43 : int = add %41 %42;

   ^block_3:
                                                                            x
    %44 : Var<int> = var %43 @"int8";

     %40 : java.lang.StringBuilder = var.load %9;
                                                                            x
    %45 : int = var.load %44;

     %41 : java.lang.String = invoke %40
@"java.lang.StringBuilder::toString()java.lang.String";
                                    x     var.store %11 %45;

     return %41;
                                                                            x
    branch ^block_2;

 };

x


                                                                            x
  ^block_4:


                                                                            x
    %46 : java.lang.StringBuilder = var.load %5;


                                                                            x
    %47 : java.lang.String = invoke %46
@"java.lang.StringBuilder::toString()java.lang.String";


                                                                            x
    return %47;



x


                                                                            x
  ^block_1:


                                                                            x
    %48 : java.lang.String = constant @".";


                                                                            x
    return %48;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toASCII" (%0 : java.lang.String, %1 : int)java.lang.String -> {
                                                                            |
func @"toASCII" (%0 : java.lang.String, %1 : int)java.lang.String -> {

     %2 : int = constant @"0";
                                                                            x
    %2 : java.lang.StringBuilder = new @"func<java.lang.StringBuilder>";

     %3 : int = constant @"0";
                                                                            x
    %3 : boolean = invoke %0
@"java.net.IDN::isRootLabel(java.lang.String)boolean";

     %4 : java.lang.StringBuilder = new @"func<java.lang.StringBuilder>";
                                                                            x
    %4 : int = constant @"0";

     %5 : boolean = invoke %0
@"java.net.IDN::isRootLabel(java.lang.String)boolean";
                                              x     %5 : boolean = eq %3 %4;

     %6 : int = constant @"0";
                                                                            x
    cbranch %5 ^block_0 ^block_1;

     %7 : boolean = neq %5 %6;

x

     cbranch %7 ^block_0 ^block_1(%3, %2);
                                                                            x
  ^block_0:


                                                                            x
    %6 : int = constant @"0";

   ^block_0:
                                                                            x
    branch ^block_2(%6);

     %8 : java.lang.String = constant @".";

x

     return %8;
                                                                            x
  ^block_2(%7 : int):


                                                                            x
    %8 : int = invoke %0 @"java.lang.String::length()int";

   ^block_1(%9 : int, %10 : int):
                                                                            x
    %9 : boolean = lt %7 %8;

     %11 : int = invoke %0 @"java.lang.String::length()int";
                                                                            x
    cbranch %9 ^block_3 ^block_4;

     %12 : boolean = lt %10 %11;

x

     cbranch %12 ^block_2 ^block_3;
                                                                            x
  ^block_3:


                                                                            x
    %10 : int = invoke %0 %7 @"java.net.IDN::searchDots(java.lang.String,
int)int";

   ^block_2:
                                                                            x
    %11 : java.lang.String = invoke %0 %7 %10
@"java.lang.String::substring(int, int)java.lang.String";

     %13 : int = invoke %0 %10 @"java.net.IDN::searchDots(java.lang.String,
int)int";                                                                   x
    %12 : java.lang.String = invoke %11 %1
@"java.net.IDN::toASCIIInternal(java.lang.String, int)java.lang.String";

     %14 : java.lang.String = invoke %0 %10 %13
@"java.lang.String::substring(int, int)java.lang.String";
                            x     %13 : java.lang.StringBuilder = invoke %2
%12
@"java.lang.StringBuilder::append(java.lang.String)java.lang.StringBuilder";

     %15 : java.lang.String = invoke %14 %1
@"java.net.IDN::toASCIIInternal(java.lang.String, int)java.lang.String";
                                x     %14 : int = invoke %0
@"java.lang.String::length()int";

     %16 : java.lang.StringBuilder = invoke %4 %15
@"java.lang.StringBuilder::append(java.lang.String)java.lang.StringBuilder";
                        x     %15 : boolean = neq %10 %14;

     %17 : int = invoke %0 @"java.lang.String::length()int";
                                                                            x
    cbranch %15 ^block_5 ^block_6;

     %18 : boolean = neq %13 %17;

x

     cbranch %18 ^block_4 ^block_5;
                                                                            x
  ^block_5:


                                                                            x
    %16 : int = constant @"46";

   ^block_4:
                                                                            x
    %17 : java.lang.StringBuilder = invoke %2 %16
@"java.lang.StringBuilder::append(char)java.lang.StringBuilder";

     %19 : int = constant @"46";
                                                                            x
    branch ^block_6;

     %20 : java.lang.StringBuilder = invoke %4 %19
@"java.lang.StringBuilder::append(char)java.lang.StringBuilder";
                          x

     branch ^block_5;
                                                                            x
  ^block_6:


                                                                            x
    %18 : int = constant @"1";

   ^block_5:
                                                                            x
    %19 : int = add %10 %18;

     %21 : int = constant @"1";
                                                                            x
    branch ^block_2(%19);

     %22 : int = add %13 %21;

x

     branch ^block_1(%13, %22);
                                                                            x
  ^block_4:


                                                                            x
    %20 : java.lang.String = invoke %2
@"java.lang.StringBuilder::toString()java.lang.String";

   ^block_3:
                                                                            x
    return %20;

     %23 : java.lang.String = invoke %4
@"java.lang.StringBuilder::toString()java.lang.String";
                                    x

     return %23;
                                                                            x
  ^block_1:

 };
                                                                            x
    %21 : java.lang.String = constant @".";


                                                                            x
    return %21;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: NEW java/lang/StringBuilder
                                                                            |
  0: NEW java/lang/StringBuilder

   1: DUP
                                                                            |
  1: DUP

   2: INVOKESPECIAL java/lang/StringBuilder::<init>()void
                                                                            |
  2: INVOKESPECIAL java/lang/StringBuilder::<init>()void

   3: ASTORE #2
                                                                            |
  3: ASTORE #2

   4: ALOAD #0
                                                                            |
  4: ALOAD #0

   5: INVOKESTATIC java/net/IDN::isRootLabel(String)boolean
                                                                            |
  5: INVOKESTATIC java/net/IDN::isRootLabel(String)boolean

   6: LDC 0
                                                                            |
  6: LDC 0

   7: IF_ICMPNE @11
                                                                            x
  7: IF_ICMPNE @51

   8: LDC 0
                                                                            |
  8: LDC 0

   9: ISTORE #3
                                                                            |
  9: ISTORE #3

  10: GOTO @13

x  10: ALOAD #0

  11: LDC .

x  11: INVOKEVIRTUAL java/lang/String::length()int

  12: ARETURN

x  12: ISTORE #4

  13: ALOAD #0

x  13: ILOAD #3

  14: INVOKEVIRTUAL java/lang/String::length()int

x  14: ILOAD #4

  15: ISTORE #4

x  15: IF_ICMPGE @48

  16: ILOAD #3

x  16: ALOAD #0

  17: ILOAD #4

x  17: ILOAD #3

  18: IF_ICMPGE @51

x  18: INVOKESTATIC java/net/IDN::searchDots(String,int)int

  19: ALOAD #0

x  19: ISTORE #5

  20: ILOAD #3

x  20: ALOAD #0

  21: INVOKESTATIC java/net/IDN::searchDots(String,int)int

x  21: ILOAD #3

  22: ISTORE #5

x  22: ILOAD #5

  23: ALOAD #0

x  23: INVOKEVIRTUAL java/lang/String::substring(int,int)String

  24: ILOAD #3

x  24: ILOAD #1

  25: ILOAD #5

x  25: INVOKESTATIC java/net/IDN::toASCIIInternal(String,int)String

  26: INVOKEVIRTUAL java/lang/String::substring(int,int)String

x  26: ASTORE #6

  27: ILOAD #1

x  27: ALOAD #2

  28: INVOKESTATIC java/net/IDN::toASCIIInternal(String,int)String

x  28: ALOAD #6

  29: ASTORE #6

x  29: INVOKEVIRTUAL java/lang/StringBuilder::append(String)StringBuilder

  30: ALOAD #2

x  30: POP

  31: ALOAD #6

x  31: ALOAD #0

  32: INVOKEVIRTUAL java/lang/StringBuilder::append(String)StringBuilder

x  32: INVOKEVIRTUAL java/lang/String::length()int

  33: POP

x  33: ISTORE #7

  34: ALOAD #0

x  34: ILOAD #5

  35: INVOKEVIRTUAL java/lang/String::length()int

x  35: ILOAD #7

  36: ISTORE #7

x  36: IF_ICMPEQ @41

  37: ILOAD #5

x  37: ALOAD #2

  38: ILOAD #7

x  38: LDC 46

  39: IF_ICMPEQ @44

x  39: INVOKEVIRTUAL java/lang/StringBuilder::append(char)StringBuilder

  40: ALOAD #2

x  40: POP

  41: LDC 46

x  41: ILOAD #5

  42: INVOKEVIRTUAL java/lang/StringBuilder::append(char)StringBuilder

x  42: LDC 1

  43: POP

x  43: IADD

  44: ILOAD #5

x  44: ISTORE #8

  45: LDC 1

x  45: ILOAD #8

  46: IADD

x  46: ISTORE #3

  47: ISTORE #8

x  47: GOTO @10

  48: ILOAD #8

x  48: ALOAD #2

  49: ISTORE #3

x  49: INVOKEVIRTUAL java/lang/StringBuilder::toString()String

  50: GOTO @13

x  50: ARETURN

  51: ALOAD #2

x  51: LDC .

  52: INVOKEVIRTUAL java/lang/StringBuilder::toString()String

x  52: ARETURN

  53: ARETURN

x


java/net/IDN::toUnicode(String,int)String

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toUnicode" (%0 : java.lang.String, %1 : int)java.lang.String -> {
                                                                            |
func @"toUnicode" (%0 : java.lang.String, %1 : int)java.lang.String -> {

     %2 : Var<java.lang.String> = var %0 @"reference type0";
                                                                            |
    %2 : Var<java.lang.String> = var %0 @"reference type0";

     %3 : Var<int> = var %1 @"int1";
                                                                            |
    %3 : Var<int> = var %1 @"int1";

     %4 : int = constant @"0";
                                                                            x
    %4 : java.lang.StringBuilder = new @"func<java.lang.StringBuilder>";

     %5 : Var<int> = var %4 @"int2";
                                                                            x
    %5 : Var<java.lang.StringBuilder> = var %4 @"reference type2";

     %6 : int = constant @"0";
                                                                            x
    %6 : java.lang.String = var.load %2;

     %7 : Var<int> = var %6 @"int3";
                                                                            x
    %7 : boolean = invoke %6
@"java.net.IDN::isRootLabel(java.lang.String)boolean";

     %8 : java.lang.StringBuilder = new @"func<java.lang.StringBuilder>";
                                                                            x
    %8 : int = constant @"0";

     %9 : Var<java.lang.StringBuilder> = var %8 @"reference type4";
                                                                            x
    %9 : boolean = eq %7 %8;

     %10 : java.lang.String = var.load %2;
                                                                            x
    cbranch %9 ^block_0 ^block_1;

     %11 : boolean = invoke %10
@"java.net.IDN::isRootLabel(java.lang.String)boolean";
                                            x

     %12 : int = constant @"0";
                                                                            x
  ^block_0:

     %13 : boolean = neq %11 %12;
                                                                            x
    %10 : int = constant @"0";

     cbranch %13 ^block_0 ^block_1;
                                                                            x
    %11 : Var<int> = var %10 @"int3";


                                                                            x
    branch ^block_2;

   ^block_0:

x

     %14 : java.lang.String = constant @".";
                                                                            x
  ^block_2:

     return %14;
                                                                            x
    %12 : java.lang.String = var.load %2;


                                                                            x
    %13 : int = invoke %12 @"java.lang.String::length()int";

   ^block_1:
                                                                            x
    %14 : Var<int> = var %13 @"int4";

     %15 : int = var.load %5;
                                                                            x
    %15 : int = var.load %11;

     %16 : java.lang.String = var.load %2;
                                                                            x
    %16 : int = var.load %14;

     %17 : int = invoke %16 @"java.lang.String::length()int";
                                                                            x
    %17 : boolean = lt %15 %16;

     %18 : boolean = lt %15 %17;
                                                                            x
    cbranch %17 ^block_3 ^block_4;

     cbranch %18 ^block_2 ^block_3;

x


                                                                            x
  ^block_3:

   ^block_2:
                                                                            x
    %18 : java.lang.String = var.load %2;

     %19 : java.lang.String = var.load %2;
                                                                            x
    %19 : int = var.load %11;

     %20 : int = var.load %5;
                                                                            x
    %20 : int = invoke %18 %19 @"java.net.IDN::searchDots(java.lang.String,
int)int";

     %21 : int = invoke %19 %20
@"java.net.IDN::searchDots(java.lang.String, int)int";
                                            x     %21 : Var<int> = var %20
@"int5";

     var.store %7 %21;
                                                                            x
    %22 : java.lang.String = var.load %2;

     %22 : java.lang.StringBuilder = var.load %9;
                                                                            x
    %23 : int = var.load %11;

     %23 : java.lang.String = var.load %2;
                                                                            x
    %24 : int = var.load %21;

     %24 : int = var.load %5;
                                                                            x
    %25 : java.lang.String = invoke %22 %23 %24
@"java.lang.String::substring(int, int)java.lang.String";

     %25 : int = var.load %7;
                                                                            x
    %26 : int = var.load %3;

     %26 : java.lang.String = invoke %23 %24 %25
@"java.lang.String::substring(int, int)java.lang.String";
                            x     %27 : java.lang.String = invoke %25 %26
@"java.net.IDN::toUnicodeInternal(java.lang.String, int)java.lang.String";

     %27 : int = var.load %3;
                                                                            x
    %28 : Var<java.lang.String> = var %27 @"reference type6";

     %28 : java.lang.String = invoke %26 %27
@"java.net.IDN::toUnicodeInternal(java.lang.String, int)java.lang.String";
                              x     %29 : java.lang.StringBuilder =
var.load %5;

     %29 : java.lang.StringBuilder = invoke %22 %28
@"java.lang.StringBuilder::append(java.lang.String)java.lang.StringBuilder";
                      x     %30 : java.lang.String = var.load %28;

     %30 : int = var.load %7;
                                                                            x
    %31 : java.lang.StringBuilder = invoke %29 %30
@"java.lang.StringBuilder::append(java.lang.String)java.lang.StringBuilder";

     %31 : java.lang.String = var.load %2;
                                                                            x
    %32 : java.lang.String = var.load %2;

     %32 : int = invoke %31 @"java.lang.String::length()int";
                                                                            x
    %33 : int = invoke %32 @"java.lang.String::length()int";

     %33 : boolean = neq %30 %32;
                                                                            x
    %34 : Var<int> = var %33 @"int7";

     cbranch %33 ^block_4 ^block_5;
                                                                            x
    %35 : int = var.load %21;


                                                                            x
    %36 : int = var.load %34;

   ^block_4:
                                                                            x
    %37 : boolean = neq %35 %36;

     %34 : java.lang.StringBuilder = var.load %9;
                                                                            x
    cbranch %37 ^block_5 ^block_6;

     %35 : int = constant @"46";

x

     %36 : java.lang.StringBuilder = invoke %34 %35
@"java.lang.StringBuilder::append(char)java.lang.StringBuilder";
                        x   ^block_5:

     branch ^block_5;
                                                                            x
    %38 : java.lang.StringBuilder = var.load %5;


                                                                            x
    %39 : int = constant @"46";

   ^block_5:
                                                                            x
    %40 : java.lang.StringBuilder = invoke %38 %39
@"java.lang.StringBuilder::append(char)java.lang.StringBuilder";

     %37 : int = var.load %7;
                                                                            x
    branch ^block_6;

     %38 : int = constant @"1";

x

     %39 : int = add %37 %38;
                                                                            x
  ^block_6:

     var.store %5 %39;
                                                                            x
    %41 : int = var.load %21;

     branch ^block_1;
                                                                            x
    %42 : int = constant @"1";


                                                                            x
    %43 : int = add %41 %42;

   ^block_3:
                                                                            x
    %44 : Var<int> = var %43 @"int8";

     %40 : java.lang.StringBuilder = var.load %9;
                                                                            x
    %45 : int = var.load %44;

     %41 : java.lang.String = invoke %40
@"java.lang.StringBuilder::toString()java.lang.String";
                                    x     var.store %11 %45;

     return %41;
                                                                            x
    branch ^block_2;

 };

x


                                                                            x
  ^block_4:


                                                                            x
    %46 : java.lang.StringBuilder = var.load %5;


                                                                            x
    %47 : java.lang.String = invoke %46
@"java.lang.StringBuilder::toString()java.lang.String";


                                                                            x
    return %47;



x


                                                                            x
  ^block_1:


                                                                            x
    %48 : java.lang.String = constant @".";


                                                                            x
    return %48;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toUnicode" (%0 : java.lang.String, %1 : int)java.lang.String -> {
                                                                            |
func @"toUnicode" (%0 : java.lang.String, %1 : int)java.lang.String -> {

     %2 : int = constant @"0";
                                                                            x
    %2 : java.lang.StringBuilder = new @"func<java.lang.StringBuilder>";

     %3 : int = constant @"0";
                                                                            x
    %3 : boolean = invoke %0
@"java.net.IDN::isRootLabel(java.lang.String)boolean";

     %4 : java.lang.StringBuilder = new @"func<java.lang.StringBuilder>";
                                                                            x
    %4 : int = constant @"0";

     %5 : boolean = invoke %0
@"java.net.IDN::isRootLabel(java.lang.String)boolean";
                                              x     %5 : boolean = eq %3 %4;

     %6 : int = constant @"0";
                                                                            x
    cbranch %5 ^block_0 ^block_1;

     %7 : boolean = neq %5 %6;

x

     cbranch %7 ^block_0 ^block_1(%3, %2);
                                                                            x
  ^block_0:


                                                                            x
    %6 : int = constant @"0";

   ^block_0:
                                                                            x
    branch ^block_2(%6);

     %8 : java.lang.String = constant @".";

x

     return %8;
                                                                            x
  ^block_2(%7 : int):


                                                                            x
    %8 : int = invoke %0 @"java.lang.String::length()int";

   ^block_1(%9 : int, %10 : int):
                                                                            x
    %9 : boolean = lt %7 %8;

     %11 : int = invoke %0 @"java.lang.String::length()int";
                                                                            x
    cbranch %9 ^block_3 ^block_4;

     %12 : boolean = lt %10 %11;

x

     cbranch %12 ^block_2 ^block_3;
                                                                            x
  ^block_3:


                                                                            x
    %10 : int = invoke %0 %7 @"java.net.IDN::searchDots(java.lang.String,
int)int";

   ^block_2:
                                                                            x
    %11 : java.lang.String = invoke %0 %7 %10
@"java.lang.String::substring(int, int)java.lang.String";

     %13 : int = invoke %0 %10 @"java.net.IDN::searchDots(java.lang.String,
int)int";                                                                   x
    %12 : java.lang.String = invoke %11 %1
@"java.net.IDN::toUnicodeInternal(java.lang.String, int)java.lang.String";

     %14 : java.lang.String = invoke %0 %10 %13
@"java.lang.String::substring(int, int)java.lang.String";
                            x     %13 : java.lang.StringBuilder = invoke %2
%12
@"java.lang.StringBuilder::append(java.lang.String)java.lang.StringBuilder";

     %15 : java.lang.String = invoke %14 %1
@"java.net.IDN::toUnicodeInternal(java.lang.String, int)java.lang.String";
                                x     %14 : int = invoke %0
@"java.lang.String::length()int";

     %16 : java.lang.StringBuilder = invoke %4 %15
@"java.lang.StringBuilder::append(java.lang.String)java.lang.StringBuilder";
                        x     %15 : boolean = neq %10 %14;

     %17 : int = invoke %0 @"java.lang.String::length()int";
                                                                            x
    cbranch %15 ^block_5 ^block_6;

     %18 : boolean = neq %13 %17;

x

     cbranch %18 ^block_4 ^block_5;
                                                                            x
  ^block_5:


                                                                            x
    %16 : int = constant @"46";

   ^block_4:
                                                                            x
    %17 : java.lang.StringBuilder = invoke %2 %16
@"java.lang.StringBuilder::append(char)java.lang.StringBuilder";

     %19 : int = constant @"46";
                                                                            x
    branch ^block_6;

     %20 : java.lang.StringBuilder = invoke %4 %19
@"java.lang.StringBuilder::append(char)java.lang.StringBuilder";
                          x

     branch ^block_5;
                                                                            x
  ^block_6:


                                                                            x
    %18 : int = constant @"1";

   ^block_5:
                                                                            x
    %19 : int = add %10 %18;

     %21 : int = constant @"1";
                                                                            x
    branch ^block_2(%19);

     %22 : int = add %13 %21;

x

     branch ^block_1(%13, %22);
                                                                            x
  ^block_4:


                                                                            x
    %20 : java.lang.String = invoke %2
@"java.lang.StringBuilder::toString()java.lang.String";

   ^block_3:
                                                                            x
    return %20;

     %23 : java.lang.String = invoke %4
@"java.lang.StringBuilder::toString()java.lang.String";
                                    x

     return %23;
                                                                            x
  ^block_1:

 };
                                                                            x
    %21 : java.lang.String = constant @".";


                                                                            x
    return %21;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: NEW java/lang/StringBuilder
                                                                            |
  0: NEW java/lang/StringBuilder

   1: DUP
                                                                            |
  1: DUP

   2: INVOKESPECIAL java/lang/StringBuilder::<init>()void
                                                                            |
  2: INVOKESPECIAL java/lang/StringBuilder::<init>()void

   3: ASTORE #2
                                                                            |
  3: ASTORE #2

   4: ALOAD #0
                                                                            |
  4: ALOAD #0

   5: INVOKESTATIC java/net/IDN::isRootLabel(String)boolean
                                                                            |
  5: INVOKESTATIC java/net/IDN::isRootLabel(String)boolean

   6: LDC 0
                                                                            |
  6: LDC 0

   7: IF_ICMPNE @11
                                                                            x
  7: IF_ICMPNE @51

   8: LDC 0
                                                                            |
  8: LDC 0

   9: ISTORE #3
                                                                            |
  9: ISTORE #3

  10: GOTO @13

x  10: ALOAD #0

  11: LDC .

x  11: INVOKEVIRTUAL java/lang/String::length()int

  12: ARETURN

x  12: ISTORE #4

  13: ALOAD #0

x  13: ILOAD #3

  14: INVOKEVIRTUAL java/lang/String::length()int

x  14: ILOAD #4

  15: ISTORE #4

x  15: IF_ICMPGE @48

  16: ILOAD #3

x  16: ALOAD #0

  17: ILOAD #4

x  17: ILOAD #3

  18: IF_ICMPGE @51

x  18: INVOKESTATIC java/net/IDN::searchDots(String,int)int

  19: ALOAD #0

x  19: ISTORE #5

  20: ILOAD #3

x  20: ALOAD #0

  21: INVOKESTATIC java/net/IDN::searchDots(String,int)int

x  21: ILOAD #3

  22: ISTORE #5

x  22: ILOAD #5

  23: ALOAD #0

x  23: INVOKEVIRTUAL java/lang/String::substring(int,int)String

  24: ILOAD #3

x  24: ILOAD #1

  25: ILOAD #5

x  25: INVOKESTATIC java/net/IDN::toUnicodeInternal(String,int)String

  26: INVOKEVIRTUAL java/lang/String::substring(int,int)String

x  26: ASTORE #6

  27: ILOAD #1

x  27: ALOAD #2

  28: INVOKESTATIC java/net/IDN::toUnicodeInternal(String,int)String

x  28: ALOAD #6

  29: ASTORE #6

x  29: INVOKEVIRTUAL java/lang/StringBuilder::append(String)StringBuilder

  30: ALOAD #2

x  30: POP

  31: ALOAD #6

x  31: ALOAD #0

  32: INVOKEVIRTUAL java/lang/StringBuilder::append(String)StringBuilder

x  32: INVOKEVIRTUAL java/lang/String::length()int

  33: POP

x  33: ISTORE #7

  34: ALOAD #0

x  34: ILOAD #5

  35: INVOKEVIRTUAL java/lang/String::length()int

x  35: ILOAD #7

  36: ISTORE #7

x  36: IF_ICMPEQ @41

  37: ILOAD #5

x  37: ALOAD #2

  38: ILOAD #7

x  38: LDC 46

  39: IF_ICMPEQ @44

x  39: INVOKEVIRTUAL java/lang/StringBuilder::append(char)StringBuilder

  40: ALOAD #2

x  40: POP

  41: LDC 46

x  41: ILOAD #5

  42: INVOKEVIRTUAL java/lang/StringBuilder::append(char)StringBuilder

x  42: LDC 1

  43: POP

x  43: IADD

  44: ILOAD #5

x  44: ISTORE #8

  45: LDC 1

x  45: ILOAD #8

  46: IADD

x  46: ISTORE #3

  47: ISTORE #8

x  47: GOTO @10

  48: ILOAD #8

x  48: ALOAD #2

  49: ISTORE #3

x  49: INVOKEVIRTUAL java/lang/StringBuilder::toString()String

  50: GOTO @13

x  50: ARETURN

  51: ALOAD #2

x  51: LDC .

  52: INVOKEVIRTUAL java/lang/StringBuilder::toString()String

x  52: ARETURN

  53: ARETURN

x


java/util/FormatItem::putByte(byte[],int,int)void

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"putByte" (%0 : byte[], %1 : int, %2 : int)void -> {
                                                                            |
func @"putByte" (%0 : byte[], %1 : int, %2 : int)void -> {

     %3 : Var<byte[]> = var %0 @"reference type0";
                                                                            |
    %3 : Var<byte[]> = var %0 @"reference type0";

     %4 : Var<int> = var %1 @"int1";
                                                                            |
    %4 : Var<int> = var %1 @"int1";

     %5 : Var<int> = var %2 @"int2";
                                                                            |
    %5 : Var<int> = var %2 @"int2";

     %6 : byte[] = var.load %3;
                                                                            x
    %6 : int = var.load %5;

     %7 : int = var.load %4;
                                                                            x
    %7 : Var<int> = var %6 @"int3";

     %8 : int = var.load %5;
                                                                            x
    %8 : byte[] = var.load %3;

     %9 : byte = conv %8;
                                                                            x
    %9 : int = var.load %4;

     array.store %6 %7 %9;
                                                                            x
    %10 : int = var.load %7;

     return;
                                                                            x
    array.store %8 %9 %10;

 };
                                                                            x
    return;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"putByte" (%0 : byte[], %1 : int, %2 : int)void -> {
                                                                            |
func @"putByte" (%0 : byte[], %1 : int, %2 : int)void -> {

     %3 : byte = conv %2;
                                                                            x
    array.store %0 %1 %2;

     array.store %0 %1 %3;
                                                                            x
    return;

     return;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #2
                                                                            x
  0: ALOAD #0

   1: ISTORE #3
                                                                            x
  1: ILOAD #1

   2: ALOAD #0
                                                                            x
  2: ILOAD #2

   3: ILOAD #1
                                                                            x
  3: IASTORE

   4: ILOAD #3
                                                                            x
  4: RETURN

   5: IASTORE

x

   6: RETURN

x


java/lang/StringConcatHelper::putCharLatin1(byte[],int,int)void

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"putCharLatin1" (%0 : byte[], %1 : int, %2 : int)void -> {
                                                                            |
func @"putCharLatin1" (%0 : byte[], %1 : int, %2 : int)void -> {

     %3 : Var<byte[]> = var %0 @"reference type0";
                                                                            |
    %3 : Var<byte[]> = var %0 @"reference type0";

     %4 : Var<int> = var %1 @"int1";
                                                                            |
    %4 : Var<int> = var %1 @"int1";

     %5 : Var<int> = var %2 @"int2";
                                                                            |
    %5 : Var<int> = var %2 @"int2";

     %6 : byte[] = var.load %3;
                                                                            x
    %6 : int = var.load %5;

     %7 : int = var.load %4;
                                                                            x
    %7 : Var<int> = var %6 @"int3";

     %8 : int = var.load %5;
                                                                            x
    %8 : byte[] = var.load %3;

     %9 : byte = conv %8;
                                                                            x
    %9 : int = var.load %4;

     array.store %6 %7 %9;
                                                                            x
    %10 : int = var.load %7;

     return;
                                                                            x
    array.store %8 %9 %10;

 };
                                                                            x
    return;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"putCharLatin1" (%0 : byte[], %1 : int, %2 : int)void -> {
                                                                            |
func @"putCharLatin1" (%0 : byte[], %1 : int, %2 : int)void -> {

     %3 : byte = conv %2;
                                                                            x
    array.store %0 %1 %2;

     array.store %0 %1 %3;
                                                                            x
    return;

     return;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #2
                                                                            x
  0: ALOAD #0

   1: ISTORE #3
                                                                            x
  1: ILOAD #1

   2: ALOAD #0
                                                                            x
  2: ILOAD #2

   3: ILOAD #1
                                                                            x
  3: IASTORE

   4: ILOAD #3
                                                                            x
  4: RETURN

   5: IASTORE

x

   6: RETURN

x


java/lang/StringCoding::implEncodeISOArray(byte[],int,byte[],int,int)int

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"implEncodeISOArray" (%0 : byte[], %1 : int, %2 : byte[], %3 : int,
%4 : int)int -> {
  | func @"implEncodeISOArray" (%0 : byte[], %1 : int, %2 : byte[], %3 :
int, %4 : int)int -> {

     %5 : Var<byte[]> = var %0 @"reference type0";
                                                                            |
    %5 : Var<byte[]> = var %0 @"reference type0";

     %6 : Var<int> = var %1 @"int1";
                                                                            |
    %6 : Var<int> = var %1 @"int1";

     %7 : Var<byte[]> = var %2 @"reference type2";
                                                                            |
    %7 : Var<byte[]> = var %2 @"reference type2";

     %8 : Var<int> = var %3 @"int3";
                                                                            |
    %8 : Var<int> = var %3 @"int3";

     %9 : Var<int> = var %4 @"int4";
                                                                            |
    %9 : Var<int> = var %4 @"int4";

     %10 : int = constant @"0";
                                                                            x
    %10 : int = var.load %6;

     %11 : Var<int> = var %10 @"int5";
                                                                            |
    %11 : Var<int> = var %10 @"int5";

     branch ^block_0;
                                                                            x
    %12 : int = var.load %8;


                                                                            x
    %13 : Var<int> = var %12 @"int6";

   ^block_0:
                                                                            x
    %14 : int = constant @"0";

     %12 : int = var.load %11;
                                                                            x
    %15 : Var<int> = var %14 @"int7";

     %13 : int = var.load %9;
                                                                            x
    branch ^block_0;

     %14 : boolean = lt %12 %13;

x

     cbranch %14 ^block_1 ^block_2;
                                                                            x
  ^block_0:


                                                                            x
    %16 : int = var.load %15;

   ^block_1:
                                                                            x
    %17 : int = var.load %9;

     %15 : byte[] = var.load %5;
                                                                            x
    %18 : boolean = lt %16 %17;

     %16 : int = var.load %6;
                                                                            x
    cbranch %18 ^block_1 ^block_2;

     %17 : int = var.load %6;

x

     %18 : int = constant @"1";
                                                                            x
  ^block_1:

     %19 : int = add %17 %18;
                                                                            x
    %19 : int = var.load %11;

     var.store %6 %19;
                                                                            x
    %20 : int = constant @"1";

     %20 : char = invoke %15 %16 @"java.lang.StringUTF16::getChar(byte[],
int)char";
  x     %21 : int = add %19 %20;

     %21 : Var<char> = var %20 @"int6";
                                                                            x
    %22 : Var<int> = var %21 @"int8";

     %22 : char = var.load %21;
                                                                            x
    %23 : byte[] = var.load %5;

     %23 : int = constant @"255";
                                                                            x
    %24 : int = var.load %11;

     %24 : boolean = gt %22 %23;
                                                                            x
    %25 : char = invoke %23 %24 @"java.lang.StringUTF16::getChar(byte[],
int)char";

     cbranch %24 ^block_3 ^block_4;
                                                                            x
    %26 : Var<char> = var %25 @"int9";


                                                                            x
    %27 : char = var.load %26;

   ^block_3:
                                                                            x
    %28 : int = constant @"255";

     branch ^block_2;
                                                                            x
    %29 : boolean = gt %27 %28;


                                                                            x
    cbranch %29 ^block_3 ^block_4;

   ^block_4:

x

     %25 : byte[] = var.load %7;
                                                                            x
  ^block_3:

     %26 : int = var.load %8;
                                                                            x
    branch ^block_2;

     %27 : int = var.load %8;

x

     %28 : int = constant @"1";
                                                                            x
  ^block_4:

     %29 : int = add %27 %28;
                                                                            x
    %30 : int = var.load %13;

     var.store %8 %29;
                                                                            x
    %31 : int = constant @"1";

     %30 : char = var.load %21;
                                                                            x
    %32 : int = add %30 %31;

     %31 : byte = conv %30;
                                                                            x
    %33 : Var<int> = var %32 @"int10";

     array.store %25 %26 %31;
                                                                            x
    %34 : char = var.load %26;

     %32 : int = var.load %11;
                                                                            x
    %35 : Var<char> = var %34 @"int11";

     %33 : int = constant @"1";
                                                                            x
    %36 : byte[] = var.load %7;

     %34 : int = add %32 %33;
                                                                            x
    %37 : int = var.load %13;

     var.store %11 %34;
                                                                            x
    %38 : char = var.load %35;

     branch ^block_0;
                                                                            x
    array.store %36 %37 %38;


                                                                            x
    %39 : int = var.load %15;

   ^block_2:
                                                                            x
    %40 : int = constant @"1";

     %35 : int = var.load %11;
                                                                            x
    %41 : int = add %39 %40;

     return %35;
                                                                            x
    %42 : Var<int> = var %41 @"int12";

 };
                                                                            x
    %43 : int = var.load %22;


                                                                            x
    var.store %11 %43;


                                                                            x
    %44 : int = var.load %33;


                                                                            x
    var.store %13 %44;


                                                                            x
    %45 : int = var.load %42;


                                                                            x
    var.store %15 %45;


                                                                            x
    branch ^block_0;



x


                                                                            x
  ^block_2:


                                                                            x
    %46 : int = var.load %15;


                                                                            x
    return %46;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"implEncodeISOArray" (%0 : byte[], %1 : int, %2 : byte[], %3 : int,
%4 : int)int -> {
  | func @"implEncodeISOArray" (%0 : byte[], %1 : int, %2 : byte[], %3 :
int, %4 : int)int -> {

     %5 : int = constant @"0";
                                                                            |
    %5 : int = constant @"0";

     branch ^block_0(%1, %3, %5);
                                                                            |
    branch ^block_0(%1, %3, %5);



|

   ^block_0(%6 : int, %7 : int, %8 : int):
                                                                            |
  ^block_0(%6 : int, %7 : int, %8 : int):

     %9 : boolean = lt %8 %4;
                                                                            |
    %9 : boolean = lt %8 %4;

     cbranch %9 ^block_1 ^block_2(%6);
                                                                            x
    cbranch %9 ^block_1 ^block_2;



|

   ^block_1:
                                                                            |
  ^block_1:

     %10 : int = constant @"1";
                                                                            |
    %10 : int = constant @"1";

     %11 : int = add %6 %10;
                                                                            |
    %11 : int = add %6 %10;

     %12 : char = invoke %0 %6 @"java.lang.StringUTF16::getChar(byte[],
int)char";
    |     %12 : char = invoke %0 %6
@"java.lang.StringUTF16::getChar(byte[], int)char";

     %13 : int = constant @"255";
                                                                            |
    %13 : int = constant @"255";

     %14 : boolean = gt %12 %13;
                                                                            |
    %14 : boolean = gt %12 %13;

     cbranch %14 ^block_3 ^block_4;
                                                                            |
    cbranch %14 ^block_3 ^block_4;



|

   ^block_3:
                                                                            |
  ^block_3:

     branch ^block_2(%11);
                                                                            x
    branch ^block_2;



|

   ^block_4:
                                                                            |
  ^block_4:

     %15 : int = constant @"1";
                                                                            |
    %15 : int = constant @"1";

     %16 : int = add %7 %15;
                                                                            |
    %16 : int = add %7 %15;

     %17 : byte = conv %12;
                                                                            x
    array.store %2 %7 %12;

     array.store %2 %7 %17;
                                                                            x
    %17 : int = constant @"1";

     %18 : int = constant @"1";
                                                                            x
    %18 : int = add %8 %17;

     %19 : int = add %8 %18;
                                                                            x
    branch ^block_0(%11, %16, %18);

     branch ^block_0(%11, %16, %19);

x


                                                                            x
  ^block_2:

   ^block_2(%20 : int):
                                                                            x
    return %8;

     return %8;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #1
                                                                            |
  0: ILOAD #1

   1: ISTORE #5
                                                                            |
  1: ISTORE #5

   2: ILOAD #3
                                                                            |
  2: ILOAD #3

   3: ISTORE #6
                                                                            |
  3: ISTORE #6

   4: LDC 0
                                                                            |
  4: LDC 0

   5: ISTORE #7
                                                                            |
  5: ISTORE #7

   6: ILOAD #7
                                                                            |
  6: ILOAD #7

   7: ILOAD #4
                                                                            |
  7: ILOAD #4

   8: IF_ICMPGE @42
                                                                            x
  8: IF_ICMPGE @40

   9: ILOAD #5
                                                                            |
  9: ILOAD #5

  10: LDC 1

|  10: LDC 1

  11: IADD

|  11: IADD

  12: ISTORE #8

|  12: ISTORE #8

  13: ALOAD #0

|  13: ALOAD #0

  14: ILOAD #5

|  14: ILOAD #5

  15: INVOKESTATIC java/lang/StringUTF16::getChar(byte[],int)char

|  15: INVOKESTATIC java/lang/StringUTF16::getChar(byte[],int)char

  16: ISTORE #9

|  16: ISTORE #9

  17: ILOAD #9

|  17: ILOAD #9

  18: LDC 255

|  18: LDC 255

  19: IF_ICMPLE @21

|  19: IF_ICMPLE @21

  20: GOTO @42

x  20: GOTO @40

  21: ILOAD #6

|  21: ILOAD #6

  22: LDC 1

|  22: LDC 1

  23: IADD

|  23: IADD

  24: ISTORE #10

|  24: ISTORE #10

  25: ILOAD #9

x  25: ALOAD #2

  26: ISTORE #11

x  26: ILOAD #6

  27: ALOAD #2

x  27: ILOAD #9

  28: ILOAD #6

x  28: IASTORE

  29: ILOAD #11

x  29: ILOAD #7

  30: IASTORE

x  30: LDC 1

  31: ILOAD #7

x  31: IADD

  32: LDC 1

x  32: ISTORE #11

  33: IADD

x  33: ILOAD #8

  34: ISTORE #12

x  34: ISTORE #5

  35: ILOAD #8

x  35: ILOAD #10

  36: ISTORE #5

x  36: ISTORE #6

  37: ILOAD #10

x  37: ILOAD #11

  38: ISTORE #6

x  38: ISTORE #7

  39: ILOAD #12

x  39: GOTO @6

  40: ISTORE #7

x  40: ILOAD #7

  41: GOTO @6

x  41: IRETURN

  42: ILOAD #7

x

  43: IRETURN

x


java/lang/StringCoding::implEncodeAsciiArray(char[],int,byte[],int,int)int

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"implEncodeAsciiArray" (%0 : char[], %1 : int, %2 : byte[], %3 :
int, %4 : int)int -> {
    | func @"implEncodeAsciiArray" (%0 : char[], %1 : int, %2 : byte[], %3
: int, %4 : int)int -> {

     %5 : Var<char[]> = var %0 @"reference type0";
                                                                            |
    %5 : Var<char[]> = var %0 @"reference type0";

     %6 : Var<int> = var %1 @"int1";
                                                                            |
    %6 : Var<int> = var %1 @"int1";

     %7 : Var<byte[]> = var %2 @"reference type2";
                                                                            |
    %7 : Var<byte[]> = var %2 @"reference type2";

     %8 : Var<int> = var %3 @"int3";
                                                                            |
    %8 : Var<int> = var %3 @"int3";

     %9 : Var<int> = var %4 @"int4";
                                                                            |
    %9 : Var<int> = var %4 @"int4";

     %10 : int = constant @"0";
                                                                            x
    %10 : int = var.load %6;

     %11 : Var<int> = var %10 @"int5";
                                                                            |
    %11 : Var<int> = var %10 @"int5";

     branch ^block_0;
                                                                            x
    %12 : int = var.load %8;


                                                                            x
    %13 : Var<int> = var %12 @"int6";

   ^block_0:
                                                                            x
    %14 : int = constant @"0";

     %12 : int = var.load %11;
                                                                            x
    %15 : Var<int> = var %14 @"int7";

     %13 : int = var.load %9;
                                                                            x
    branch ^block_0;

     %14 : boolean = lt %12 %13;

x

     cbranch %14 ^block_1 ^block_2;
                                                                            x
  ^block_0:


                                                                            x
    %16 : int = var.load %15;

   ^block_1:
                                                                            x
    %17 : int = var.load %9;

     %15 : char[] = var.load %5;
                                                                            x
    %18 : boolean = lt %16 %17;

     %16 : int = var.load %6;
                                                                            x
    cbranch %18 ^block_1 ^block_2;

     %17 : int = var.load %6;

x

     %18 : int = constant @"1";
                                                                            x
  ^block_1:

     %19 : int = add %17 %18;
                                                                            x
    %19 : int = var.load %11;

     var.store %6 %19;
                                                                            x
    %20 : int = constant @"1";

     %20 : char = array.load %15 %16;
                                                                            x
    %21 : int = add %19 %20;

     %21 : Var<char> = var %20 @"int6";
                                                                            x
    %22 : Var<int> = var %21 @"int8";

     %22 : char = var.load %21;
                                                                            x
    %23 : char[] = var.load %5;

     %23 : int = constant @"128";
                                                                            x
    %24 : int = var.load %11;

     %24 : boolean = ge %22 %23;
                                                                            x
    %25 : char = array.load %23 %24;

     cbranch %24 ^block_3 ^block_4;
                                                                            x
    %26 : Var<char> = var %25 @"int9";


                                                                            x
    %27 : char = var.load %26;

   ^block_3:
                                                                            x
    %28 : int = constant @"128";

     branch ^block_2;
                                                                            x
    %29 : boolean = ge %27 %28;


                                                                            x
    cbranch %29 ^block_3 ^block_4;

   ^block_4:

x

     %25 : byte[] = var.load %7;
                                                                            x
  ^block_3:

     %26 : int = var.load %8;
                                                                            x
    branch ^block_2;

     %27 : int = var.load %8;

x

     %28 : int = constant @"1";
                                                                            x
  ^block_4:

     %29 : int = add %27 %28;
                                                                            x
    %30 : int = var.load %13;

     var.store %8 %29;
                                                                            x
    %31 : int = constant @"1";

     %30 : char = var.load %21;
                                                                            x
    %32 : int = add %30 %31;

     %31 : byte = conv %30;
                                                                            x
    %33 : Var<int> = var %32 @"int10";

     array.store %25 %26 %31;
                                                                            x
    %34 : char = var.load %26;

     %32 : int = var.load %11;
                                                                            x
    %35 : Var<char> = var %34 @"int11";

     %33 : int = constant @"1";
                                                                            x
    %36 : byte[] = var.load %7;

     %34 : int = add %32 %33;
                                                                            x
    %37 : int = var.load %13;

     var.store %11 %34;
                                                                            x
    %38 : char = var.load %35;

     branch ^block_0;
                                                                            x
    array.store %36 %37 %38;


                                                                            x
    %39 : int = var.load %15;

   ^block_2:
                                                                            x
    %40 : int = constant @"1";

     %35 : int = var.load %11;
                                                                            x
    %41 : int = add %39 %40;

     return %35;
                                                                            x
    %42 : Var<int> = var %41 @"int12";

 };
                                                                            x
    %43 : int = var.load %22;


                                                                            x
    var.store %11 %43;


                                                                            x
    %44 : int = var.load %33;


                                                                            x
    var.store %13 %44;


                                                                            x
    %45 : int = var.load %42;


                                                                            x
    var.store %15 %45;


                                                                            x
    branch ^block_0;



x


                                                                            x
  ^block_2:


                                                                            x
    %46 : int = var.load %15;


                                                                            x
    return %46;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"implEncodeAsciiArray" (%0 : char[], %1 : int, %2 : byte[], %3 :
int, %4 : int)int -> {
    | func @"implEncodeAsciiArray" (%0 : char[], %1 : int, %2 : byte[], %3
: int, %4 : int)int -> {

     %5 : int = constant @"0";
                                                                            |
    %5 : int = constant @"0";

     branch ^block_0(%1, %3, %5);
                                                                            |
    branch ^block_0(%1, %3, %5);



|

   ^block_0(%6 : int, %7 : int, %8 : int):
                                                                            |
  ^block_0(%6 : int, %7 : int, %8 : int):

     %9 : boolean = lt %8 %4;
                                                                            |
    %9 : boolean = lt %8 %4;

     cbranch %9 ^block_1 ^block_2(%6);
                                                                            x
    cbranch %9 ^block_1 ^block_2;



|

   ^block_1:
                                                                            |
  ^block_1:

     %10 : int = constant @"1";
                                                                            |
    %10 : int = constant @"1";

     %11 : int = add %6 %10;
                                                                            |
    %11 : int = add %6 %10;

     %12 : char = array.load %0 %6;
                                                                            |
    %12 : char = array.load %0 %6;

     %13 : int = constant @"128";
                                                                            |
    %13 : int = constant @"128";

     %14 : boolean = ge %12 %13;
                                                                            |
    %14 : boolean = ge %12 %13;

     cbranch %14 ^block_3 ^block_4;
                                                                            |
    cbranch %14 ^block_3 ^block_4;



|

   ^block_3:
                                                                            |
  ^block_3:

     branch ^block_2(%11);
                                                                            x
    branch ^block_2;



|

   ^block_4:
                                                                            |
  ^block_4:

     %15 : int = constant @"1";
                                                                            |
    %15 : int = constant @"1";

     %16 : int = add %7 %15;
                                                                            |
    %16 : int = add %7 %15;

     %17 : byte = conv %12;
                                                                            x
    array.store %2 %7 %12;

     array.store %2 %7 %17;
                                                                            x
    %17 : int = constant @"1";

     %18 : int = constant @"1";
                                                                            x
    %18 : int = add %8 %17;

     %19 : int = add %8 %18;
                                                                            x
    branch ^block_0(%11, %16, %18);

     branch ^block_0(%11, %16, %19);

x


                                                                            x
  ^block_2:

   ^block_2(%20 : int):
                                                                            x
    return %8;

     return %8;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #1
                                                                            |
  0: ILOAD #1

   1: ISTORE #5
                                                                            |
  1: ISTORE #5

   2: ILOAD #3
                                                                            |
  2: ILOAD #3

   3: ISTORE #6
                                                                            |
  3: ISTORE #6

   4: LDC 0
                                                                            |
  4: LDC 0

   5: ISTORE #7
                                                                            |
  5: ISTORE #7

   6: ILOAD #7
                                                                            |
  6: ILOAD #7

   7: ILOAD #4
                                                                            |
  7: ILOAD #4

   8: IF_ICMPGE @42
                                                                            x
  8: IF_ICMPGE @40

   9: ILOAD #5
                                                                            |
  9: ILOAD #5

  10: LDC 1

|  10: LDC 1

  11: IADD

|  11: IADD

  12: ISTORE #8

|  12: ISTORE #8

  13: ALOAD #0

|  13: ALOAD #0

  14: ILOAD #5

|  14: ILOAD #5

  15: IALOAD

|  15: IALOAD

  16: ISTORE #9

|  16: ISTORE #9

  17: ILOAD #9

|  17: ILOAD #9

  18: LDC 128

|  18: LDC 128

  19: IF_ICMPLT @21

|  19: IF_ICMPLT @21

  20: GOTO @42

x  20: GOTO @40

  21: ILOAD #6

|  21: ILOAD #6

  22: LDC 1

|  22: LDC 1

  23: IADD

|  23: IADD

  24: ISTORE #10

|  24: ISTORE #10

  25: ILOAD #9

x  25: ALOAD #2

  26: ISTORE #11

x  26: ILOAD #6

  27: ALOAD #2

x  27: ILOAD #9

  28: ILOAD #6

x  28: IASTORE

  29: ILOAD #11

x  29: ILOAD #7

  30: IASTORE

x  30: LDC 1

  31: ILOAD #7

x  31: IADD

  32: LDC 1

x  32: ISTORE #11

  33: IADD

x  33: ILOAD #8

  34: ISTORE #12

x  34: ISTORE #5

  35: ILOAD #8

x  35: ILOAD #10

  36: ISTORE #5

x  36: ISTORE #6

  37: ILOAD #10

x  37: ILOAD #11

  38: ISTORE #6

x  38: ISTORE #7

  39: ILOAD #12

x  39: GOTO @6

  40: ISTORE #7

x  40: ILOAD #7

  41: GOTO @6

x  41: IRETURN

  42: ILOAD #7

x

  43: IRETURN

x


java/lang/Character::toChars(int,char[],int)int

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toChars" (%0 : int, %1 : char[], %2 : int)int -> {
                                                                            |
func @"toChars" (%0 : int, %1 : char[], %2 : int)int -> {

     %3 : Var<int> = var %0 @"int0";
                                                                            |
    %3 : Var<int> = var %0 @"int0";

     %4 : Var<char[]> = var %1 @"reference type1";
                                                                            |
    %4 : Var<char[]> = var %1 @"reference type1";

     %5 : Var<int> = var %2 @"int2";
                                                                            |
    %5 : Var<int> = var %2 @"int2";

     %6 : int = var.load %3;
                                                                            |
    %6 : int = var.load %3;

     %7 : boolean = invoke %6
@"java.lang.Character::isBmpCodePoint(int)boolean";
                                              |     %7 : boolean = invoke
%6 @"java.lang.Character::isBmpCodePoint(int)boolean";

     %8 : int = constant @"0";
                                                                            |
    %8 : int = constant @"0";

     %9 : boolean = neq %7 %8;
                                                                            |
    %9 : boolean = neq %7 %8;

     cbranch %9 ^block_0 ^block_1;
                                                                            |
    cbranch %9 ^block_0 ^block_1;



|

   ^block_0:
                                                                            |
  ^block_0:

     %10 : char[] = var.load %4;
                                                                            x
    %10 : int = var.load %3;

     %11 : int = var.load %5;
                                                                            x
    %11 : Var<int> = var %10 @"int3";

     %12 : int = var.load %3;
                                                                            x
    %12 : char[] = var.load %4;

     %13 : char = conv %12;
                                                                            x
    %13 : int = var.load %5;

     array.store %10 %11 %13;
                                                                            x
    %14 : int = var.load %11;

     %14 : int = constant @"1";
                                                                            x
    array.store %12 %13 %14;

     return %14;
                                                                            x
    %15 : int = constant @"1";


                                                                            x
    return %15;

   ^block_1:

x

     %15 : int = var.load %3;
                                                                            x
  ^block_1:

     %16 : boolean = invoke %15
@"java.lang.Character::isValidCodePoint(int)boolean";
                                            x     %16 : int = var.load %3;

     %17 : int = constant @"0";
                                                                            x
    %17 : boolean = invoke %16
@"java.lang.Character::isValidCodePoint(int)boolean";

     %18 : boolean = neq %16 %17;
                                                                            x
    %18 : int = constant @"0";

     cbranch %18 ^block_2 ^block_3;
                                                                            x
    %19 : boolean = neq %17 %18;


                                                                            x
    cbranch %19 ^block_2 ^block_3;

   ^block_2:

x

     %19 : int = var.load %3;
                                                                            x
  ^block_2:

     %20 : char[] = var.load %4;
                                                                            x
    %20 : int = var.load %3;

     %21 : int = var.load %5;
                                                                            x
    %21 : char[] = var.load %4;

     invoke %19 %20 %21 @"java.lang.Character::toSurrogates(int, char[],
int)void";
    x     %22 : int = var.load %5;

     %22 : int = constant @"2";
                                                                            x
    invoke %20 %21 %22 @"java.lang.Character::toSurrogates(int, char[],
int)void";

     return %22;
                                                                            x
    %23 : int = constant @"2";


                                                                            x
    return %23;

   ^block_3:

x

     %23 : java.lang.String = constant @"Not a valid Unicode code point:
0x%X";
    x   ^block_3:

     %24 : int = constant @"1";
                                                                            |
    %24 : int = constant @"1";

     %25 : java.lang.Object[] = new %24 @"func<java.lang.Object[], int>";
                                                                            |
    %25 : java.lang.Object[] = new %24 @"func<java.lang.Object[], int>";

     %26 : int = constant @"0";
                                                                            x
    %26 : Var<java.lang.Object[]> = var %25 @"reference type4";

     %27 : int = var.load %3;
                                                                            |
    %27 : int = var.load %3;

     %28 : java.lang.Integer = invoke %27
@"java.lang.Integer::valueOf(int)java.lang.Integer";
                                  |     %28 : java.lang.Integer = invoke
%27 @"java.lang.Integer::valueOf(int)java.lang.Integer";

     array.store %25 %26 %28;
                                                                            x
    %29 : Var<java.lang.Integer> = var %28 @"reference type5";

     %29 : java.lang.String = invoke %23 %25
@"java.lang.String::format(java.lang.String,
java.lang.Object[])java.lang.String";                         x     %30 :
java.lang.Object[] = var.load %26;

     %30 : java.lang.IllegalArgumentException = new %29
@"func<java.lang.IllegalArgumentException, java.lang.String>";
                    x     %31 : int = constant @"0";

     throw %30;
                                                                            x
    %32 : java.lang.Integer = var.load %29;

 };
                                                                            x
    array.store %30 %31 %32;


                                                                            x
    %33 : java.lang.String = constant @"Not a valid Unicode code point:
0x%X";


                                                                            x
    %34 : java.lang.Object[] = var.load %26;


                                                                            x
    %35 : java.lang.String = invoke %33 %34
@"java.lang.String::format(java.lang.String,
java.lang.Object[])java.lang.String";


                                                                            x
    %36 : Var<java.lang.String> = var %35 @"reference type6";


                                                                            x
    %37 : java.lang.String = var.load %36;


                                                                            x
    %38 : java.lang.IllegalArgumentException = new %37
@"func<java.lang.IllegalArgumentException, java.lang.String>";


                                                                            x
    throw %38;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toChars" (%0 : int, %1 : char[], %2 : int)int -> {
                                                                            |
func @"toChars" (%0 : int, %1 : char[], %2 : int)int -> {

     %3 : boolean = invoke %0
@"java.lang.Character::isBmpCodePoint(int)boolean";
                                              |     %3 : boolean = invoke
%0 @"java.lang.Character::isBmpCodePoint(int)boolean";

     %4 : int = constant @"0";
                                                                            |
    %4 : int = constant @"0";

     %5 : boolean = neq %3 %4;
                                                                            |
    %5 : boolean = neq %3 %4;

     cbranch %5 ^block_0 ^block_1;
                                                                            |
    cbranch %5 ^block_0 ^block_1;



|

   ^block_0:
                                                                            |
  ^block_0:

     %6 : char = conv %0;
                                                                            x
    array.store %1 %2 %0;

     array.store %1 %2 %6;
                                                                            x
    %6 : int = constant @"1";

     %7 : int = constant @"1";
                                                                            x
    return %6;

     return %7;

x


                                                                            x
  ^block_1:

   ^block_1:
                                                                            x
    %7 : boolean = invoke %0
@"java.lang.Character::isValidCodePoint(int)boolean";

     %8 : boolean = invoke %0
@"java.lang.Character::isValidCodePoint(int)boolean";
                                              x     %8 : int = constant
@"0";

     %9 : int = constant @"0";
                                                                            x
    %9 : boolean = neq %7 %8;

     %10 : boolean = neq %8 %9;
                                                                            x
    cbranch %9 ^block_2 ^block_3;

     cbranch %10 ^block_2 ^block_3;

x


                                                                            x
  ^block_2:

   ^block_2:
                                                                            x
    invoke %0 %1 %2 @"java.lang.Character::toSurrogates(int, char[],
int)void";

     invoke %0 %1 %2 @"java.lang.Character::toSurrogates(int, char[],
int)void";
      x     %10 : int = constant @"2";

     %11 : int = constant @"2";
                                                                            x
    return %10;

     return %11;

x


                                                                            x
  ^block_3:

   ^block_3:
                                                                            x
    %11 : int = constant @"1";

     %12 : java.lang.String = constant @"Not a valid Unicode code point:
0x%X";
    x     %12 : java.lang.Object[] = new %11 @"func<java.lang.Object[],
int>";

     %13 : int = constant @"1";
                                                                            x
    %13 : java.lang.Integer = invoke %0
@"java.lang.Integer::valueOf(int)java.lang.Integer";

     %14 : java.lang.Object[] = new %13 @"func<java.lang.Object[], int>";
                                                                            x
    %14 : int = constant @"0";

     %15 : int = constant @"0";
                                                                            x
    array.store %12 %14 %13;

     %16 : java.lang.Integer = invoke %0
@"java.lang.Integer::valueOf(int)java.lang.Integer";
                                    x     %15 : java.lang.String = constant
@"Not a valid Unicode code point: 0x%X";

     array.store %14 %15 %16;
                                                                            x
    %16 : java.lang.String = invoke %15 %12
@"java.lang.String::format(java.lang.String,
java.lang.Object[])java.lang.String";

     %17 : java.lang.String = invoke %12 %14
@"java.lang.String::format(java.lang.String,
java.lang.Object[])java.lang.String";                         x     %17 :
java.lang.IllegalArgumentException = new %16
@"func<java.lang.IllegalArgumentException, java.lang.String>";

     %18 : java.lang.IllegalArgumentException = new %17
@"func<java.lang.IllegalArgumentException, java.lang.String>";
                    x     throw %17;

     throw %18;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #0
                                                                            |
  0: ILOAD #0

   1: INVOKESTATIC java/lang/Character::isBmpCodePoint(int)boolean
                                                                            |
  1: INVOKESTATIC java/lang/Character::isBmpCodePoint(int)boolean

   2: LDC 0
                                                                            |
  2: LDC 0

   3: IF_ICMPEQ @12
                                                                            x
  3: IF_ICMPEQ @10

   4: ILOAD #0
                                                                            x
  4: ALOAD #1

   5: ISTORE #3
                                                                            x
  5: ILOAD #2

   6: ALOAD #1
                                                                            x
  6: ILOAD #0

   7: ILOAD #2
                                                                            x
  7: IASTORE

   8: ILOAD #3
                                                                            x
  8: LDC 1

   9: IASTORE
                                                                            x
  9: IRETURN

  10: LDC 1

x  10: ILOAD #0

  11: IRETURN

x  11: INVOKESTATIC java/lang/Character::isValidCodePoint(int)boolean

  12: ILOAD #0

x  12: LDC 0

  13: INVOKESTATIC java/lang/Character::isValidCodePoint(int)boolean

x  13: IF_ICMPEQ @20

  14: LDC 0

x  14: ILOAD #0

  15: IF_ICMPEQ @22

x  15: ALOAD #1

  16: ILOAD #0

x  16: ILOAD #2

  17: ALOAD #1

x  17: INVOKESTATIC java/lang/Character::toSurrogates(int,char[],int)void

  18: ILOAD #2

x  18: LDC 2

  19: INVOKESTATIC java/lang/Character::toSurrogates(int,char[],int)void

x  19: IRETURN

  20: LDC 2

x  20: LDC 1

  21: IRETURN

x  21: ANEWARRAY java/lang/Object

  22: LDC 1

x  22: ASTORE #3

  23: ANEWARRAY java/lang/Object

x  23: ILOAD #0

  24: ASTORE #4

x  24: INVOKESTATIC java/lang/Integer::valueOf(int)Integer

  25: ILOAD #0

x  25: ASTORE #4

  26: INVOKESTATIC java/lang/Integer::valueOf(int)Integer

x  26: ALOAD #3

  27: ASTORE #5

x  27: LDC 0

  28: ALOAD #4

|  28: ALOAD #4

  29: LDC 0

x  29: AASTORE

  30: ALOAD #5

x  30: LDC Not a valid Unicode code point: 0x%X

  31: AASTORE

x  31: ALOAD #3

  32: LDC Not a valid Unicode code point: 0x%X

x  32: INVOKESTATIC java/lang/String::format(String,Object[])String

  33: ALOAD #4

x  33: ASTORE #5

  34: INVOKESTATIC java/lang/String::format(String,Object[])String

x  34: NEW java/lang/IllegalArgumentException

  35: ASTORE #6

x  35: DUP

  36: NEW java/lang/IllegalArgumentException

x  36: ALOAD #5

  37: DUP

x  37: INVOKESPECIAL java/lang/IllegalArgumentException::<init>(String)void

  38: ALOAD #6

x  38: ATHROW

  39: INVOKESPECIAL java/lang/IllegalArgumentException::<init>(String)void

x

  40: ATHROW

x


java/lang/Character::toChars(int)char[]

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toChars" (%0 : int)char[] -> {
                                                                            |
func @"toChars" (%0 : int)char[] -> {

     %1 : Var<int> = var %0 @"int0";
                                                                            |
    %1 : Var<int> = var %0 @"int0";

     %2 : int = var.load %1;
                                                                            |
    %2 : int = var.load %1;

     %3 : boolean = invoke %2
@"java.lang.Character::isBmpCodePoint(int)boolean";
                                              |     %3 : boolean = invoke
%2 @"java.lang.Character::isBmpCodePoint(int)boolean";

     %4 : int = constant @"0";
                                                                            |
    %4 : int = constant @"0";

     %5 : boolean = neq %3 %4;
                                                                            |
    %5 : boolean = neq %3 %4;

     cbranch %5 ^block_0 ^block_1;
                                                                            |
    cbranch %5 ^block_0 ^block_1;



|

   ^block_0:
                                                                            |
  ^block_0:

     %6 : int = constant @"1";
                                                                            |
    %6 : int = constant @"1";

     %7 : char[] = new %6 @"func<char[], int>";
                                                                            |
    %7 : char[] = new %6 @"func<char[], int>";

     %8 : int = constant @"0";
                                                                            x
    %8 : Var<char[]> = var %7 @"reference type1";

     %9 : int = var.load %1;
                                                                            |
    %9 : int = var.load %1;

     %10 : char = conv %9;
                                                                            x
    %10 : Var<int> = var %9 @"int2";

     array.store %7 %8 %10;
                                                                            x
    %11 : char[] = var.load %8;

     return %7;
                                                                            x
    %12 : int = constant @"0";


                                                                            x
    %13 : int = var.load %10;

   ^block_1:
                                                                            x
    array.store %11 %12 %13;

     %11 : int = var.load %1;
                                                                            x
    %14 : char[] = var.load %8;

     %12 : boolean = invoke %11
@"java.lang.Character::isValidCodePoint(int)boolean";
                                            x     return %14;

     %13 : int = constant @"0";

x

     %14 : boolean = neq %12 %13;
                                                                            x
  ^block_1:

     cbranch %14 ^block_2 ^block_3;
                                                                            x
    %15 : int = var.load %1;


                                                                            x
    %16 : boolean = invoke %15
@"java.lang.Character::isValidCodePoint(int)boolean";

   ^block_2:
                                                                            x
    %17 : int = constant @"0";

     %15 : int = constant @"2";
                                                                            x
    %18 : boolean = neq %16 %17;

     %16 : char[] = new %15 @"func<char[], int>";
                                                                            x
    cbranch %18 ^block_2 ^block_3;

     %17 : Var<char[]> = var %16 @"reference type1";

x

     %18 : int = var.load %1;
                                                                            x
  ^block_2:

     %19 : char[] = var.load %17;
                                                                            x
    %19 : int = constant @"2";

     %20 : int = constant @"0";
                                                                            x
    %20 : char[] = new %19 @"func<char[], int>";

     invoke %18 %19 %20 @"java.lang.Character::toSurrogates(int, char[],
int)void";
    x     %21 : Var<char[]> = var %20 @"reference type3";

     %21 : char[] = var.load %17;
                                                                            x
    %22 : int = var.load %1;

     return %21;
                                                                            x
    %23 : char[] = var.load %21;


                                                                            x
    %24 : int = constant @"0";

   ^block_3:
                                                                            x
    invoke %22 %23 %24 @"java.lang.Character::toSurrogates(int, char[],
int)void";

     %22 : java.lang.String = constant @"Not a valid Unicode code point:
0x%X";
    x     %25 : char[] = var.load %21;

     %23 : int = constant @"1";
                                                                            x
    return %25;

     %24 : java.lang.Object[] = new %23 @"func<java.lang.Object[], int>";

x

     %25 : int = constant @"0";
                                                                            x
  ^block_3:

     %26 : int = var.load %1;
                                                                            x
    %26 : int = constant @"1";

     %27 : java.lang.Integer = invoke %26
@"java.lang.Integer::valueOf(int)java.lang.Integer";
                                  x     %27 : java.lang.Object[] = new %26
@"func<java.lang.Object[], int>";

     array.store %24 %25 %27;
                                                                            x
    %28 : Var<java.lang.Object[]> = var %27 @"reference type4";

     %28 : java.lang.String = invoke %22 %24
@"java.lang.String::format(java.lang.String,
java.lang.Object[])java.lang.String";                         x     %29 :
int = var.load %1;

     %29 : java.lang.IllegalArgumentException = new %28
@"func<java.lang.IllegalArgumentException, java.lang.String>";
                    x     %30 : java.lang.Integer = invoke %29
@"java.lang.Integer::valueOf(int)java.lang.Integer";

     throw %29;
                                                                            x
    %31 : Var<java.lang.Integer> = var %30 @"reference type5";

 };
                                                                            x
    %32 : java.lang.Object[] = var.load %28;


                                                                            x
    %33 : int = constant @"0";


                                                                            x
    %34 : java.lang.Integer = var.load %31;


                                                                            x
    array.store %32 %33 %34;


                                                                            x
    %35 : java.lang.String = constant @"Not a valid Unicode code point:
0x%X";


                                                                            x
    %36 : java.lang.Object[] = var.load %28;


                                                                            x
    %37 : java.lang.String = invoke %35 %36
@"java.lang.String::format(java.lang.String,
java.lang.Object[])java.lang.String";


                                                                            x
    %38 : Var<java.lang.String> = var %37 @"reference type6";


                                                                            x
    %39 : java.lang.String = var.load %38;


                                                                            x
    %40 : java.lang.IllegalArgumentException = new %39
@"func<java.lang.IllegalArgumentException, java.lang.String>";


                                                                            x
    throw %40;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toChars" (%0 : int)char[] -> {
                                                                            |
func @"toChars" (%0 : int)char[] -> {

     %1 : boolean = invoke %0
@"java.lang.Character::isBmpCodePoint(int)boolean";
                                              |     %1 : boolean = invoke
%0 @"java.lang.Character::isBmpCodePoint(int)boolean";

     %2 : int = constant @"0";
                                                                            |
    %2 : int = constant @"0";

     %3 : boolean = neq %1 %2;
                                                                            |
    %3 : boolean = neq %1 %2;

     cbranch %3 ^block_0 ^block_1;
                                                                            |
    cbranch %3 ^block_0 ^block_1;



|

   ^block_0:
                                                                            |
  ^block_0:

     %4 : int = constant @"1";
                                                                            |
    %4 : int = constant @"1";

     %5 : char[] = new %4 @"func<char[], int>";
                                                                            |
    %5 : char[] = new %4 @"func<char[], int>";

     %6 : int = constant @"0";
                                                                            |
    %6 : int = constant @"0";

     %7 : char = conv %0;
                                                                            x
    array.store %5 %6 %0;

     array.store %5 %6 %7;
                                                                            x
    return %5;

     return %5;

x


                                                                            x
  ^block_1:

   ^block_1:
                                                                            x
    %7 : boolean = invoke %0
@"java.lang.Character::isValidCodePoint(int)boolean";

     %8 : boolean = invoke %0
@"java.lang.Character::isValidCodePoint(int)boolean";
                                              x     %8 : int = constant
@"0";

     %9 : int = constant @"0";
                                                                            x
    %9 : boolean = neq %7 %8;

     %10 : boolean = neq %8 %9;
                                                                            x
    cbranch %9 ^block_2 ^block_3;

     cbranch %10 ^block_2 ^block_3;

x


                                                                            x
  ^block_2:

   ^block_2:
                                                                            x
    %10 : int = constant @"2";

     %11 : int = constant @"2";
                                                                            x
    %11 : char[] = new %10 @"func<char[], int>";

     %12 : char[] = new %11 @"func<char[], int>";
                                                                            x
    %12 : int = constant @"0";

     %13 : int = constant @"0";
                                                                            x
    invoke %0 %11 %12 @"java.lang.Character::toSurrogates(int, char[],
int)void";

     invoke %0 %12 %13 @"java.lang.Character::toSurrogates(int, char[],
int)void";
    x     return %11;

     return %12;

x


                                                                            x
  ^block_3:

   ^block_3:
                                                                            x
    %13 : int = constant @"1";

     %14 : java.lang.String = constant @"Not a valid Unicode code point:
0x%X";
    x     %14 : java.lang.Object[] = new %13 @"func<java.lang.Object[],
int>";

     %15 : int = constant @"1";
                                                                            x
    %15 : java.lang.Integer = invoke %0
@"java.lang.Integer::valueOf(int)java.lang.Integer";

     %16 : java.lang.Object[] = new %15 @"func<java.lang.Object[], int>";
                                                                            x
    %16 : int = constant @"0";

     %17 : int = constant @"0";
                                                                            x
    array.store %14 %16 %15;

     %18 : java.lang.Integer = invoke %0
@"java.lang.Integer::valueOf(int)java.lang.Integer";
                                    x     %17 : java.lang.String = constant
@"Not a valid Unicode code point: 0x%X";

     array.store %16 %17 %18;
                                                                            x
    %18 : java.lang.String = invoke %17 %14
@"java.lang.String::format(java.lang.String,
java.lang.Object[])java.lang.String";

     %19 : java.lang.String = invoke %14 %16
@"java.lang.String::format(java.lang.String,
java.lang.Object[])java.lang.String";                         x     %19 :
java.lang.IllegalArgumentException = new %18
@"func<java.lang.IllegalArgumentException, java.lang.String>";

     %20 : java.lang.IllegalArgumentException = new %19
@"func<java.lang.IllegalArgumentException, java.lang.String>";
                    x     throw %19;

     throw %20;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #0
                                                                            |
  0: ILOAD #0

   1: INVOKESTATIC java/lang/Character::isBmpCodePoint(int)boolean
                                                                            |
  1: INVOKESTATIC java/lang/Character::isBmpCodePoint(int)boolean

   2: LDC 0
                                                                            |
  2: LDC 0

   3: IF_ICMPEQ @15
                                                                            x
  3: IF_ICMPEQ @13

   4: LDC 1
                                                                            |
  4: LDC 1

   5: NEWARRAY CharType
                                                                            |
  5: NEWARRAY CharType

   6: ASTORE #1
                                                                            |
  6: ASTORE #1

   7: ILOAD #0
                                                                            x
  7: ALOAD #1

   8: ISTORE #2
                                                                            x
  8: LDC 0

   9: ALOAD #1
                                                                            x
  9: ILOAD #0

  10: LDC 0

x  10: IASTORE

  11: ILOAD #2

x  11: ALOAD #1

  12: IASTORE

x  12: ARETURN

  13: ALOAD #1

x  13: ILOAD #0

  14: ARETURN

x  14: INVOKESTATIC java/lang/Character::isValidCodePoint(int)boolean

  15: ILOAD #0

x  15: LDC 0

  16: INVOKESTATIC java/lang/Character::isValidCodePoint(int)boolean

x  16: IF_ICMPEQ @26

  17: LDC 0

x  17: LDC 2

  18: IF_ICMPEQ @28

x  18: NEWARRAY CharType

  19: LDC 2

x  19: ASTORE #2

  20: NEWARRAY CharType

x  20: ILOAD #0

  21: ASTORE #3

x  21: ALOAD #2

  22: ILOAD #0

x  22: LDC 0

  23: ALOAD #3

x  23: INVOKESTATIC java/lang/Character::toSurrogates(int,char[],int)void

  24: LDC 0

x  24: ALOAD #2

  25: INVOKESTATIC java/lang/Character::toSurrogates(int,char[],int)void

x  25: ARETURN

  26: ALOAD #3

x  26: LDC 1

  27: ARETURN

x  27: ANEWARRAY java/lang/Object

  28: LDC 1

x  28: ASTORE #3

  29: ANEWARRAY java/lang/Object

x  29: ILOAD #0

  30: ASTORE #4

x  30: INVOKESTATIC java/lang/Integer::valueOf(int)Integer

  31: ILOAD #0

x  31: ASTORE #4

  32: INVOKESTATIC java/lang/Integer::valueOf(int)Integer

x  32: ALOAD #3

  33: ASTORE #5

x  33: LDC 0

  34: ALOAD #4

|  34: ALOAD #4

  35: LDC 0

x  35: AASTORE

  36: ALOAD #5

x  36: LDC Not a valid Unicode code point: 0x%X

  37: AASTORE

x  37: ALOAD #3

  38: LDC Not a valid Unicode code point: 0x%X

x  38: INVOKESTATIC java/lang/String::format(String,Object[])String

  39: ALOAD #4

x  39: ASTORE #5

  40: INVOKESTATIC java/lang/String::format(String,Object[])String

x  40: NEW java/lang/IllegalArgumentException

  41: ASTORE #6

x  41: DUP

  42: NEW java/lang/IllegalArgumentException

x  42: ALOAD #5

  43: DUP

x  43: INVOKESPECIAL java/lang/IllegalArgumentException::<init>(String)void

  44: ALOAD #6

x  44: ATHROW

  45: INVOKESPECIAL java/lang/IllegalArgumentException::<init>(String)void

x

  46: ATHROW

x


java/lang/invoke/InvokerBytecodeGenerator::isStaticallyNameable(Class)boolean

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"isStaticallyNameable" (%0 : java.lang.Class)boolean -> {
                                                                            |
func @"isStaticallyNameable" (%0 : java.lang.Class)boolean -> {

     %1 : Var<java.lang.Class> = var %0 @"reference type0";
                                                                            |
    %1 : Var<java.lang.Class> = var %0 @"reference type0";

     %2 : java.lang.Class = var.load %1;
                                                                            x
    %2 : java.lang.Class = constant @"java.lang.Object";

     %3 : java.lang.Class = constant @"java.lang.Object";
                                                                            x
    %3 : Var<java.lang.Class> = var %2 @"reference type1";

     %4 : boolean = eq %2 %3;
                                                                            x
    %4 : java.lang.Class = var.load %1;

     cbranch %4 ^block_0 ^block_1;
                                                                            x
    %5 : java.lang.Class = var.load %3;


                                                                            x
    %6 : boolean = eq %4 %5;

   ^block_0:
                                                                            x
    cbranch %6 ^block_0 ^block_1;

     %5 : int = constant @"1";

x

     return %5;
                                                                            x
  ^block_0:


                                                                            x
    %7 : int = constant @"1";

   ^block_1:
                                                                            x
    return %7;

     %6 : java.lang.Class = constant @"java.lang.invoke.MethodHandle";

x

     %7 : java.lang.Class = var.load %1;
                                                                            x
  ^block_1:

     %8 : boolean = invoke %6 %7
@"java.lang.Class::isAssignableFrom(java.lang.Class)boolean";
                                            x     %8 : java.lang.Class =
constant @"java.lang.invoke.MethodHandle";

     %9 : int = constant @"0";
                                                                            x
    %9 : java.lang.Class = var.load %1;

     %10 : boolean = neq %8 %9;
                                                                            x
    %10 : boolean = invoke %8 %9
@"java.lang.Class::isAssignableFrom(java.lang.Class)boolean";

     cbranch %10 ^block_2 ^block_3;
                                                                            x
    %11 : int = constant @"0";


                                                                            x
    %12 : boolean = eq %10 %11;

   ^block_2:
                                                                            x
    cbranch %12 ^block_2 ^block_3;

     %11 : boolean = field.load
@"java.lang.invoke.InvokerBytecodeGenerator::$assertionsDisabled()boolean";
                                          x

     %12 : int = constant @"0";
                                                                            x
  ^block_2:

     %13 : boolean = eq %11 %12;
                                                                            x
    %13 : java.lang.Class = var.load %1;

     cbranch %13 ^block_4 ^block_5;
                                                                            x
    %14 : Var<java.lang.Class> = var %13 @"reference type2";


                                                                            x
    branch ^block_4;

   ^block_4:

x

     %14 : java.lang.Class = var.load %1;
                                                                            x
  ^block_4:

     %15 : boolean = invoke %14 @"java.lang.Class::isHidden()boolean";
                                                                            x
    %15 : java.lang.Class = var.load %14;

     %16 : int = constant @"0";
                                                                            x
    %16 : boolean = invoke %15 @"java.lang.Class::isArray()boolean";

     %17 : boolean = neq %15 %16;
                                                                            x
    %17 : int = constant @"0";

     cbranch %17 ^block_6 ^block_5;
                                                                            x
    %18 : boolean = neq %16 %17;


                                                                            x
    cbranch %18 ^block_5 ^block_6;

   ^block_6:

x

     %18 : java.lang.AssertionError = new @"func<java.lang.AssertionError>";
                                                                          x
^block_5:

     throw %18;
                                                                            x
    %19 : java.lang.Class = var.load %14;


                                                                            x
    %20 : java.lang.Class = invoke %19
@"java.lang.Class::getComponentType()java.lang.Class";

   ^block_5:
                                                                            x
    %21 : Var<java.lang.Class> = var %20 @"reference type3";

     %19 : int = constant @"1";
                                                                            x
    %22 : java.lang.Class = var.load %21;

     return %19;
                                                                            x
    var.store %14 %22;


                                                                            x
    branch ^block_4;

   ^block_3:

x

     %20 : java.lang.Class = var.load %1;
                                                                            x
  ^block_6:

     %21 : boolean = invoke %20 @"java.lang.Class::isArray()boolean";
                                                                            x
    %23 : java.lang.Class = var.load %14;

     %22 : int = constant @"0";
                                                                            x
    %24 : boolean = invoke %23 @"java.lang.Class::isPrimitive()boolean";

     %23 : boolean = neq %21 %22;
                                                                            x
    %25 : int = constant @"0";

     cbranch %23 ^block_7 ^block_8;
                                                                            x
    %26 : boolean = neq %24 %25;


                                                                            x
    cbranch %26 ^block_7 ^block_8;

   ^block_7:

x

     %24 : java.lang.Class = var.load %1;
                                                                            x
  ^block_7:

     %25 : java.lang.Class = invoke %24
@"java.lang.Class::getComponentType()java.lang.Class";
                                    x     %27 : int = constant @"1";

     var.store %1 %25;
                                                                            x
    return %27;

     branch ^block_3;

x


                                                                            x
  ^block_8:

   ^block_8:
                                                                            x
    %28 : java.lang.Class = var.load %14;

     %26 : java.lang.Class = var.load %1;
                                                                            x
    %29 : boolean = invoke %28 @"java.lang.Class::isHidden()boolean";

     %27 : boolean = invoke %26 @"java.lang.Class::isPrimitive()boolean";
                                                                            x
    %30 : int = constant @"0";

     %28 : int = constant @"0";
                                                                            x
    %31 : boolean = neq %29 %30;

     %29 : boolean = neq %27 %28;
                                                                            x
    cbranch %31 ^block_9 ^block_10;

     cbranch %29 ^block_9 ^block_10;

x


                                                                            x
  ^block_9:

   ^block_9:
                                                                            x
    %32 : int = constant @"0";

     %30 : int = constant @"1";
                                                                            x
    return %32;

     return %30;

x


                                                                            x
  ^block_10:

   ^block_10:
                                                                            x
    %33 : java.lang.Class = var.load %14;

     %31 : java.lang.Class = var.load %1;
                                                                            x
    %34 : java.lang.ClassLoader = invoke %33
@"java.lang.Class::getClassLoader()java.lang.ClassLoader";

     %32 : boolean = invoke %31 @"java.lang.Class::isHidden()boolean";
                                                                            x
    %35 : Var<java.lang.ClassLoader> = var %34 @"reference type4";

     %33 : int = constant @"0";
                                                                            x
    %36 : java.lang.Class = constant @"java.lang.Object";

     %34 : boolean = neq %32 %33;
                                                                            x
    %37 : java.lang.ClassLoader = invoke %36
@"java.lang.Class::getClassLoader()java.lang.ClassLoader";

     cbranch %34 ^block_11 ^block_12;
                                                                            x
    %38 : Var<java.lang.ClassLoader> = var %37 @"reference type5";


                                                                            x
    %39 : java.lang.ClassLoader = var.load %35;

   ^block_11:
                                                                            x
    %40 : java.lang.ClassLoader = var.load %38;

     %35 : int = constant @"0";
                                                                            x
    %41 : boolean = neq %39 %40;

     return %35;
                                                                            x
    cbranch %41 ^block_11 ^block_12;



|

   ^block_12:
                                                                            x
  ^block_11:

     %36 : java.lang.Class = var.load %1;
                                                                            x
    %42 : int = constant @"0";

     %37 : java.lang.ClassLoader = invoke %36
@"java.lang.Class::getClassLoader()java.lang.ClassLoader";
                              x     return %42;

     %38 : java.lang.Class = constant @"java.lang.Object";

x

     %39 : java.lang.ClassLoader = invoke %38
@"java.lang.Class::getClassLoader()java.lang.ClassLoader";
                              x   ^block_12:

     %40 : boolean = neq %37 %39;
                                                                            x
    %43 : java.lang.Class = constant @"java.lang.invoke.MethodHandle";

     cbranch %40 ^block_13 ^block_14;
                                                                            x
    %44 : java.lang.Class = var.load %14;


                                                                            x
    %45 : boolean = invoke %43 %44
@"sun.invoke.util.VerifyAccess::isSamePackage(java.lang.Class,
java.lang.Class)boolean";

   ^block_13:
                                                                            x
    %46 : int = constant @"0";

     %41 : int = constant @"0";
                                                                            x
    %47 : boolean = neq %45 %46;

     return %41;
                                                                            x
    cbranch %47 ^block_13 ^block_14;



|

   ^block_14:
                                                                            x
  ^block_13:

     %42 : java.lang.Class = constant @"java.lang.invoke.MethodHandle";
                                                                            x
    %48 : int = constant @"1";

     %43 : java.lang.Class = var.load %1;
                                                                            x
    return %48;

     %44 : boolean = invoke %42 %43
@"sun.invoke.util.VerifyAccess::isSamePackage(java.lang.Class,
java.lang.Class)boolean";                            x

     %45 : int = constant @"0";
                                                                            x
  ^block_14:

     %46 : boolean = neq %44 %45;
                                                                            x
    %49 : java.lang.Class = var.load %14;

     cbranch %46 ^block_15 ^block_16;
                                                                            x
    %50 : int = invoke %49 @"java.lang.Class::getModifiers()int";


                                                                            x
    %51 : boolean = invoke %50
@"java.lang.reflect.Modifier::isPublic(int)boolean";

   ^block_15:
                                                                            x
    %52 : int = constant @"0";

     %47 : int = constant @"1";
                                                                            x
    %53 : boolean = eq %51 %52;

     return %47;
                                                                            x
    cbranch %53 ^block_15 ^block_16;



|

   ^block_16:
                                                                            x
  ^block_15:

     %48 : java.lang.Class = var.load %1;
                                                                            x
    %54 : int = constant @"0";

     %49 : int = invoke %48 @"java.lang.Class::getModifiers()int";
                                                                            x
    return %54;

     %50 : boolean = invoke %49
@"java.lang.reflect.Modifier::isPublic(int)boolean";
                                            x

     %51 : int = constant @"0";
                                                                            x
  ^block_16:

     %52 : boolean = eq %50 %51;
                                                                            x
    %55 : java.lang.Class[] = field.load
@"java.lang.invoke.InvokerBytecodeGenerator::STATICALLY_INVOCABLE_PACKAGES()java.lang.Class[]";

     cbranch %52 ^block_17 ^block_18;
                                                                            x
    %56 : Var<java.lang.Class[]> = var %55 @"reference type6";


                                                                            x
    %57 : java.lang.Class[] = var.load %56;

   ^block_17:
                                                                            x
    %58 : int = array.length %57;

     %53 : int = constant @"0";
                                                                            x
    %59 : Var<int> = var %58 @"int7";

     return %53;
                                                                            x
    %60 : int = constant @"0";


                                                                            x
    %61 : Var<int> = var %60 @"int8";

   ^block_18:
                                                                            x
    branch ^block_17;

     %54 : java.lang.Class[] = field.load
@"java.lang.invoke.InvokerBytecodeGenerator::STATICALLY_INVOCABLE_PACKAGES()java.lang.Class[]";
              x

     %55 : Var<java.lang.Class[]> = var %54 @"reference type1";
                                                                            x
  ^block_17:

     %56 : java.lang.Class[] = var.load %55;
                                                                            x
    %62 : int = var.load %61;

     %57 : int = array.length %56;
                                                                            x
    %63 : int = var.load %59;

     %58 : Var<int> = var %57 @"int2";
                                                                            x
    %64 : boolean = lt %62 %63;

     %59 : int = constant @"0";
                                                                            x
    cbranch %64 ^block_18 ^block_19;

     %60 : Var<int> = var %59 @"int3";

x

     branch ^block_19;
                                                                            x
  ^block_18:


                                                                            x
    %65 : java.lang.Class[] = var.load %56;

   ^block_19:
                                                                            x
    %66 : int = var.load %61;

     %61 : int = var.load %60;
                                                                            x
    %67 : java.lang.Class = array.load %65 %66;

     %62 : int = var.load %58;
                                                                            x
    %68 : java.lang.Class = var.load %14;

     %63 : boolean = lt %61 %62;
                                                                            x
    %69 : boolean = invoke %67 %68
@"sun.invoke.util.VerifyAccess::isSamePackage(java.lang.Class,
java.lang.Class)boolean";

     cbranch %63 ^block_20 ^block_21;
                                                                            x
    %70 : int = constant @"0";


                                                                            x
    %71 : boolean = neq %69 %70;

   ^block_20:
                                                                            x
    cbranch %71 ^block_20 ^block_21;

     %64 : java.lang.Class[] = var.load %55;

x

     %65 : int = var.load %60;
                                                                            x
  ^block_20:

     %66 : java.lang.Class = array.load %64 %65;
                                                                            x
    %72 : int = constant @"1";

     %67 : Var<java.lang.Class> = var %66 @"reference type4";
                                                                            x
    return %72;

     %68 : java.lang.Class = var.load %67;

x

     %69 : java.lang.Class = var.load %1;
                                                                            x
  ^block_21:

     %70 : boolean = invoke %68 %69
@"sun.invoke.util.VerifyAccess::isSamePackage(java.lang.Class,
java.lang.Class)boolean";                            x     %73 : int =
var.load %61;

     %71 : int = constant @"0";
                                                                            x
    %74 : int = constant @"1";

     %72 : boolean = neq %70 %71;
                                                                            x
    %75 : int = add %73 %74;

     cbranch %72 ^block_22 ^block_23;
                                                                            x
    %76 : Var<int> = var %75 @"int9";


                                                                            x
    %77 : int = var.load %76;

   ^block_22:
                                                                            x
    var.store %61 %77;

     %73 : int = constant @"1";
                                                                            x
    branch ^block_17;

     return %73;

x


                                                                            x
  ^block_19:

   ^block_23:
                                                                            x
    %78 : int = constant @"0";

     %74 : int = var.load %60;
                                                                            x
    return %78;

     %75 : int = constant @"1";

x

     %76 : int = add %74 %75;
                                                                            x
  ^block_3:

     var.store %60 %76;
                                                                            x
    %79 : boolean = field.load
@"java.lang.invoke.InvokerBytecodeGenerator::$assertionsDisabled()boolean";

     branch ^block_19;
                                                                            x
    %80 : int = constant @"0";


                                                                            x
    %81 : boolean = eq %79 %80;

   ^block_21:
                                                                            x
    cbranch %81 ^block_22 ^block_23;

     %77 : int = constant @"0";

x

     return %77;
                                                                            x
  ^block_22:

 };
                                                                            x
    %82 : java.lang.Class = var.load %1;


                                                                            x
    %83 : boolean = invoke %82 @"java.lang.Class::isHidden()boolean";


                                                                            x
    %84 : int = constant @"0";


                                                                            x
    %85 : boolean = neq %83 %84;


                                                                            x
    cbranch %85 ^block_24 ^block_23;



x


                                                                            x
  ^block_24:


                                                                            x
    %86 : java.lang.AssertionError = new @"func<java.lang.AssertionError>";


                                                                            x
    throw %86;



x


                                                                            x
  ^block_23:


                                                                            x
    %87 : int = constant @"1";


                                                                            x
    return %87;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"isStaticallyNameable" (%0 : java.lang.Class)boolean -> {
                                                                            |
func @"isStaticallyNameable" (%0 : java.lang.Class)boolean -> {

     %1 : java.lang.Class = constant @"java.lang.Object";
                                                                            |
    %1 : java.lang.Class = constant @"java.lang.Object";

     %2 : boolean = eq %0 %1;
                                                                            |
    %2 : boolean = eq %0 %1;

     cbranch %2 ^block_0 ^block_1;
                                                                            |
    cbranch %2 ^block_0 ^block_1;



|

   ^block_0:
                                                                            |
  ^block_0:

     %3 : int = constant @"1";
                                                                            |
    %3 : int = constant @"1";

     return %3;
                                                                            |
    return %3;



|

   ^block_1:
                                                                            |
  ^block_1:

     %4 : java.lang.Class = constant @"java.lang.invoke.MethodHandle";
                                                                            |
    %4 : java.lang.Class = constant @"java.lang.invoke.MethodHandle";

     %5 : boolean = invoke %4 %0
@"java.lang.Class::isAssignableFrom(java.lang.Class)boolean";
                                            |     %5 : boolean = invoke %4
%0 @"java.lang.Class::isAssignableFrom(java.lang.Class)boolean";

     %6 : int = constant @"0";
                                                                            |
    %6 : int = constant @"0";

     %7 : boolean = neq %5 %6;
                                                                            x
    %7 : boolean = eq %5 %6;

     cbranch %7 ^block_2 ^block_3(%0);
                                                                            x
    cbranch %7 ^block_2 ^block_3;



|

   ^block_2:
                                                                            |
  ^block_2:

     %8 : boolean = field.load
@"java.lang.invoke.InvokerBytecodeGenerator::$assertionsDisabled()boolean";
                                            x     branch ^block_4(%0);

     %9 : int = constant @"0";

x

     %10 : boolean = eq %8 %9;
                                                                            x
  ^block_4(%8 : java.lang.Class):

     cbranch %10 ^block_4 ^block_5;
                                                                            x
    %9 : boolean = invoke %8 @"java.lang.Class::isArray()boolean";


                                                                            x
    %10 : int = constant @"0";

   ^block_4:
                                                                            x
    %11 : boolean = neq %9 %10;

     %11 : boolean = invoke %0 @"java.lang.Class::isHidden()boolean";
                                                                            x
    cbranch %11 ^block_5 ^block_6;

     %12 : int = constant @"0";

x

     %13 : boolean = neq %11 %12;
                                                                            x
  ^block_5:

     cbranch %13 ^block_6 ^block_5;
                                                                            x
    %12 : java.lang.Class = invoke %8
@"java.lang.Class::getComponentType()java.lang.Class";


                                                                            x
    branch ^block_4(%12);

   ^block_6:

x

     %14 : java.lang.AssertionError = new @"func<java.lang.AssertionError>";
                                                                          x
^block_6:

     throw %14;
                                                                            x
    %13 : boolean = invoke %8 @"java.lang.Class::isPrimitive()boolean";


                                                                            x
    %14 : int = constant @"0";

   ^block_5:
                                                                            x
    %15 : boolean = neq %13 %14;

     %15 : int = constant @"1";
                                                                            x
    cbranch %15 ^block_7 ^block_8;

     return %15;

x


                                                                            x
  ^block_7:

   ^block_3(%16 : java.lang.Class):
                                                                            x
    %16 : int = constant @"1";

     %17 : boolean = invoke %16 @"java.lang.Class::isArray()boolean";
                                                                            x
    return %16;

     %18 : int = constant @"0";

x

     %19 : boolean = neq %17 %18;
                                                                            x
  ^block_8:

     cbranch %19 ^block_7 ^block_8;
                                                                            x
    %17 : boolean = invoke %8 @"java.lang.Class::isHidden()boolean";


                                                                            x
    %18 : int = constant @"0";

   ^block_7:
                                                                            x
    %19 : boolean = neq %17 %18;

     %20 : java.lang.Class = invoke %16
@"java.lang.Class::getComponentType()java.lang.Class";
                                    x     cbranch %19 ^block_9 ^block_10;

     branch ^block_3(%20);

x


                                                                            x
  ^block_9:

   ^block_8:
                                                                            x
    %20 : int = constant @"0";

     %21 : boolean = invoke %16 @"java.lang.Class::isPrimitive()boolean";
                                                                            x
    return %20;

     %22 : int = constant @"0";

x

     %23 : boolean = neq %21 %22;
                                                                            x
  ^block_10:

     cbranch %23 ^block_9 ^block_10;
                                                                            x
    %21 : java.lang.ClassLoader = invoke %8
@"java.lang.Class::getClassLoader()java.lang.ClassLoader";


                                                                            x
    %22 : java.lang.Class = constant @"java.lang.Object";

   ^block_9:
                                                                            x
    %23 : java.lang.ClassLoader = invoke %22
@"java.lang.Class::getClassLoader()java.lang.ClassLoader";

     %24 : int = constant @"1";
                                                                            x
    %24 : boolean = neq %21 %23;

     return %24;
                                                                            x
    cbranch %24 ^block_11 ^block_12;



|

   ^block_10:
                                                                            x
  ^block_11:

     %25 : boolean = invoke %16 @"java.lang.Class::isHidden()boolean";
                                                                            x
    %25 : int = constant @"0";

     %26 : int = constant @"0";
                                                                            x
    return %25;

     %27 : boolean = neq %25 %26;

x

     cbranch %27 ^block_11 ^block_12;
                                                                            x
  ^block_12:


                                                                            x
    %26 : java.lang.Class = constant @"java.lang.invoke.MethodHandle";

   ^block_11:
                                                                            x
    %27 : boolean = invoke %26 %8
@"sun.invoke.util.VerifyAccess::isSamePackage(java.lang.Class,
java.lang.Class)boolean";

     %28 : int = constant @"0";
                                                                            |
    %28 : int = constant @"0";

     return %28;
                                                                            x
    %29 : boolean = neq %27 %28;


                                                                            x
    cbranch %29 ^block_13 ^block_14;

   ^block_12:

x

     %29 : java.lang.ClassLoader = invoke %16
@"java.lang.Class::getClassLoader()java.lang.ClassLoader";
                              x   ^block_13:

     %30 : java.lang.Class = constant @"java.lang.Object";
                                                                            x
    %30 : int = constant @"1";

     %31 : java.lang.ClassLoader = invoke %30
@"java.lang.Class::getClassLoader()java.lang.ClassLoader";
                              x     return %30;

     %32 : boolean = neq %29 %31;

x

     cbranch %32 ^block_13 ^block_14;
                                                                            x
  ^block_14:


                                                                            x
    %31 : int = invoke %8 @"java.lang.Class::getModifiers()int";

   ^block_13:
                                                                            x
    %32 : boolean = invoke %31
@"java.lang.reflect.Modifier::isPublic(int)boolean";

     %33 : int = constant @"0";
                                                                            |
    %33 : int = constant @"0";

     return %33;
                                                                            x
    %34 : boolean = eq %32 %33;


                                                                            x
    cbranch %34 ^block_15 ^block_16;

   ^block_14:

x

     %34 : java.lang.Class = constant @"java.lang.invoke.MethodHandle";
                                                                            x
  ^block_15:

     %35 : boolean = invoke %34 %16
@"sun.invoke.util.VerifyAccess::isSamePackage(java.lang.Class,
java.lang.Class)boolean";                            x     %35 : int =
constant @"0";

     %36 : int = constant @"0";
                                                                            x
    return %35;

     %37 : boolean = neq %35 %36;

x

     cbranch %37 ^block_15 ^block_16;
                                                                            x
  ^block_16:


                                                                            x
    %36 : java.lang.Class[] = field.load
@"java.lang.invoke.InvokerBytecodeGenerator::STATICALLY_INVOCABLE_PACKAGES()java.lang.Class[]";

   ^block_15:
                                                                            x
    %37 : int = array.length %36;

     %38 : int = constant @"1";
                                                                            x
    %38 : int = constant @"0";

     return %38;
                                                                            x
    branch ^block_17(%38);



|

   ^block_16:
                                                                            x
  ^block_17(%39 : int):

     %39 : int = invoke %16 @"java.lang.Class::getModifiers()int";
                                                                            x
    %40 : boolean = lt %39 %37;

     %40 : boolean = invoke %39
@"java.lang.reflect.Modifier::isPublic(int)boolean";
                                            x     cbranch %40 ^block_18
^block_19;

     %41 : int = constant @"0";

x

     %42 : boolean = eq %40 %41;
                                                                            x
  ^block_18:

     cbranch %42 ^block_17 ^block_18;
                                                                            x
    %41 : java.lang.Class = array.load %36 %39;


                                                                            x
    %42 : boolean = invoke %41 %8
@"sun.invoke.util.VerifyAccess::isSamePackage(java.lang.Class,
java.lang.Class)boolean";

   ^block_17:
                                                                            x
    %43 : int = constant @"0";

     %43 : int = constant @"0";
                                                                            x
    %44 : boolean = neq %42 %43;

     return %43;
                                                                            x
    cbranch %44 ^block_20 ^block_21;



|

   ^block_18:
                                                                            x
  ^block_20:

     %44 : java.lang.Class[] = field.load
@"java.lang.invoke.InvokerBytecodeGenerator::STATICALLY_INVOCABLE_PACKAGES()java.lang.Class[]";
              x     %45 : int = constant @"1";

     %45 : int = array.length %44;
                                                                            x
    return %45;

     %46 : int = constant @"0";

x

     branch ^block_19(%46);
                                                                            x
  ^block_21:


                                                                            x
    %46 : int = constant @"1";

   ^block_19(%47 : int):
                                                                            x
    %47 : int = add %39 %46;

     %48 : boolean = lt %47 %45;
                                                                            x
    branch ^block_17(%47);

     cbranch %48 ^block_20 ^block_21;

x


                                                                            x
  ^block_19:

   ^block_20:
                                                                            x
    %48 : int = constant @"0";

     %49 : java.lang.Class = array.load %44 %47;
                                                                            x
    return %48;

     %50 : boolean = invoke %49 %16
@"sun.invoke.util.VerifyAccess::isSamePackage(java.lang.Class,
java.lang.Class)boolean";                            x

     %51 : int = constant @"0";
                                                                            x
  ^block_3:

     %52 : boolean = neq %50 %51;
                                                                            x
    %49 : boolean = field.load
@"java.lang.invoke.InvokerBytecodeGenerator::$assertionsDisabled()boolean";

     cbranch %52 ^block_22 ^block_23;
                                                                            x
    %50 : int = constant @"0";


                                                                            x
    %51 : boolean = eq %49 %50;

   ^block_22:
                                                                            x
    cbranch %51 ^block_22 ^block_23;

     %53 : int = constant @"1";

x

     return %53;
                                                                            x
  ^block_22:


                                                                            x
    %52 : boolean = invoke %0 @"java.lang.Class::isHidden()boolean";

   ^block_23:
                                                                            x
    %53 : int = constant @"0";

     %54 : int = constant @"1";
                                                                            x
    %54 : boolean = neq %52 %53;

     %55 : int = add %47 %54;
                                                                            x
    cbranch %54 ^block_24 ^block_23;

     branch ^block_19(%55);

x


                                                                            x
  ^block_24:

   ^block_21:
                                                                            x
    %55 : java.lang.AssertionError = new @"func<java.lang.AssertionError>";

     %56 : int = constant @"0";
                                                                            x
    throw %55;

     return %56;

x

 };
                                                                            x
  ^block_23:


                                                                            x
    %56 : int = constant @"1";


                                                                            x
    return %56;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: LDC ClassDesc[Object]
                                                                            |
  0: LDC ClassDesc[Object]

   1: ASTORE #1
                                                                            |
  1: ASTORE #1

   2: ALOAD #0
                                                                            |
  2: ALOAD #0

   3: ALOAD #1
                                                                            |
  3: ALOAD #1

   4: IF_ACMPNE @7
                                                                            |
  4: IF_ACMPNE @7

   5: LDC 1
                                                                            |
  5: LDC 1

   6: IRETURN
                                                                            |
  6: IRETURN

   7: LDC ClassDesc[MethodHandle]
                                                                            |
  7: LDC ClassDesc[MethodHandle]

   8: ALOAD #0
                                                                            |
  8: ALOAD #0

   9: INVOKEVIRTUAL java/lang/Class::isAssignableFrom(Class)boolean
                                                                            |
  9: INVOKEVIRTUAL java/lang/Class::isAssignableFrom(Class)boolean

  10: LDC 0

|  10: LDC 0

  11: IF_ICMPNE @15

x  11: IF_ICMPNE @89

  12: ALOAD #0

|  12: ALOAD #0

  13: ASTORE #2

|  13: ASTORE #2

  14: GOTO @28

x  14: ALOAD #2

  15: GETSTATIC
java/lang/invoke/InvokerBytecodeGenerator.$assertionsDisabled
                                                            x  15:
INVOKEVIRTUAL java/lang/Class::isArray()boolean

  16: LDC 0

|  16: LDC 0

  17: IF_ICMPNE @26

x  17: IF_ICMPEQ @24

  18: ALOAD #0

x  18: ALOAD #2

  19: INVOKEVIRTUAL java/lang/Class::isHidden()boolean

x  19: INVOKEVIRTUAL java/lang/Class::getComponentType()Class

  20: LDC 0

x  20: ASTORE #3

  21: IF_ICMPEQ @26

x  21: ALOAD #3

  22: NEW java/lang/AssertionError

x  22: ASTORE #2

  23: DUP

x  23: GOTO @14

  24: INVOKESPECIAL java/lang/AssertionError::<init>()void

x  24: ALOAD #2

  25: ATHROW

x  25: INVOKEVIRTUAL java/lang/Class::isPrimitive()boolean

  26: LDC 1

x  26: LDC 0

  27: IRETURN

x  27: IF_ICMPEQ @30

  28: ALOAD #2

x  28: LDC 1

  29: INVOKEVIRTUAL java/lang/Class::isArray()boolean

x  29: IRETURN

  30: LDC 0

x  30: ALOAD #2

  31: IF_ICMPEQ @38

x  31: INVOKEVIRTUAL java/lang/Class::isHidden()boolean

  32: ALOAD #2

x  32: LDC 0

  33: INVOKEVIRTUAL java/lang/Class::getComponentType()Class

x  33: IF_ICMPEQ @36

  34: ASTORE #3

x  34: LDC 0

  35: ALOAD #3

x  35: IRETURN

  36: ASTORE #2

x  36: ALOAD #2

  37: GOTO @28

x  37: INVOKEVIRTUAL java/lang/Class::getClassLoader()ClassLoader

  38: ALOAD #2

x  38: ASTORE #4

  39: INVOKEVIRTUAL java/lang/Class::isPrimitive()boolean

x  39: LDC ClassDesc[Object]

  40: LDC 0

x  40: INVOKEVIRTUAL java/lang/Class::getClassLoader()ClassLoader

  41: IF_ICMPEQ @44

x  41: ASTORE #5

  42: LDC 1

x  42: ALOAD #4

  43: IRETURN

x  43: ALOAD #5

  44: ALOAD #2

x  44: IF_ACMPEQ @47

  45: INVOKEVIRTUAL java/lang/Class::isHidden()boolean

x  45: LDC 0

  46: LDC 0

x  46: IRETURN

  47: IF_ICMPEQ @50

x  47: LDC ClassDesc[MethodHandle]

  48: LDC 0

x  48: ALOAD #2

  49: IRETURN

x  49: INVOKESTATIC
sun/invoke/util/VerifyAccess::isSamePackage(Class,Class)boolean

  50: ALOAD #2

x  50: LDC 0

  51: INVOKEVIRTUAL java/lang/Class::getClassLoader()ClassLoader

x  51: IF_ICMPEQ @54

  52: ASTORE #4

x  52: LDC 1

  53: LDC ClassDesc[Object]

x  53: IRETURN

  54: INVOKEVIRTUAL java/lang/Class::getClassLoader()ClassLoader

x  54: ALOAD #2

  55: ASTORE #5

x  55: INVOKEVIRTUAL java/lang/Class::getModifiers()int

  56: ALOAD #4

x  56: INVOKESTATIC java/lang/reflect/Modifier::isPublic(int)boolean

  57: ALOAD #5

x  57: LDC 0

  58: IF_ACMPEQ @61

x  58: IF_ICMPNE @61

  59: LDC 0

|  59: LDC 0

  60: IRETURN

|  60: IRETURN

  61: LDC ClassDesc[MethodHandle]

x  61: GETSTATIC
java/lang/invoke/InvokerBytecodeGenerator.STATICALLY_INVOCABLE_PACKAGES

  62: ALOAD #2

x  62: ASTORE #6

  63: INVOKESTATIC
sun/invoke/util/VerifyAccess::isSamePackage(Class,Class)boolean
                                                          x  63: ALOAD #6

  64: LDC 0

x  64: ARRAYLENGTH

  65: IF_ICMPEQ @68

x  65: ISTORE #7

  66: LDC 1

x  66: LDC 0

  67: IRETURN

x  67: ISTORE #8

  68: ALOAD #2

x  68: ILOAD #8

  69: INVOKEVIRTUAL java/lang/Class::getModifiers()int

x  69: ILOAD #7

  70: INVOKESTATIC java/lang/reflect/Modifier::isPublic(int)boolean

x  70: IF_ICMPGE @87

  71: LDC 0

x  71: ALOAD #6

  72: IF_ICMPNE @75

x  72: ILOAD #8

  73: LDC 0

x  73: AALOAD

  74: IRETURN

x  74: ALOAD #2

  75: GETSTATIC
java/lang/invoke/InvokerBytecodeGenerator.STATICALLY_INVOCABLE_PACKAGES
                                                            x  75:
INVOKESTATIC sun/invoke/util/VerifyAccess::isSamePackage(Class,Class)boolean

  76: ASTORE #6

x  76: LDC 0

  77: ALOAD #6

x  77: IF_ICMPEQ @80

  78: ARRAYLENGTH

x  78: LDC 1

  79: ISTORE #7

x  79: IRETURN

  80: LDC 0

x  80: ILOAD #8

  81: ISTORE #8

x  81: LDC 1

  82: ILOAD #8

x  82: IADD

  83: ILOAD #7

x  83: ISTORE #9

  84: IF_ICMPGE @101

x  84: ILOAD #9

  85: ALOAD #6

x  85: ISTORE #8

  86: ILOAD #8

x  86: GOTO @68

  87: AALOAD

x  87: LDC 0

  88: ALOAD #2

x  88: IRETURN

  89: INVOKESTATIC
sun/invoke/util/VerifyAccess::isSamePackage(Class,Class)boolean
                                                          x  89: GETSTATIC
java/lang/invoke/InvokerBytecodeGenerator.$assertionsDisabled

  90: LDC 0

|  90: LDC 0

  91: IF_ICMPEQ @94

x  91: IF_ICMPNE @100

  92: LDC 1

x  92: ALOAD #0

  93: IRETURN

x  93: INVOKEVIRTUAL java/lang/Class::isHidden()boolean

  94: ILOAD #8

x  94: LDC 0

  95: LDC 1

x  95: IF_ICMPEQ @100

  96: IADD

x  96: NEW java/lang/AssertionError

  97: ISTORE #9

x  97: DUP

  98: ILOAD #9

x  98: INVOKESPECIAL java/lang/AssertionError::<init>()void

  99: ISTORE #8

x  99: ATHROW

 100: GOTO @82
                                                                            x
100: LDC 1

 101: LDC 0
                                                                            x
101: IRETURN

 102: IRETURN

x


java/lang/module/ModuleDescriptor$Version::takeNumber(String,int,List)int

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"takeNumber" (%0 : java.lang.String, %1 : int, %2 :
java.util.List)int -> {
                  | func @"takeNumber" (%0 : java.lang.String, %1 : int, %2
: java.util.List)int -> {

     %3 : Var<java.lang.String> = var %0 @"reference type0";
                                                                            |
    %3 : Var<java.lang.String> = var %0 @"reference type0";

     %4 : Var<int> = var %1 @"int1";
                                                                            |
    %4 : Var<int> = var %1 @"int1";

     %5 : Var<java.util.List> = var %2 @"reference type2";
                                                                            |
    %5 : Var<java.util.List> = var %2 @"reference type2";

     %6 : java.lang.String = var.load %3;
                                                                            |
    %6 : java.lang.String = var.load %3;

     %7 : int = var.load %4;
                                                                            |
    %7 : int = var.load %4;

     %8 : char = invoke %6 %7 @"java.lang.String::charAt(int)char";
                                                                            |
    %8 : char = invoke %6 %7 @"java.lang.String::charAt(int)char";

     %9 : Var<char> = var %8 @"int3";
                                                                            |
    %9 : Var<char> = var %8 @"int3";

     %10 : char = var.load %9;
                                                                            |
    %10 : char = var.load %9;

     %11 : int = constant @"48";
                                                                            |
    %11 : int = constant @"48";

     %12 : char = sub %10 %11;
                                                                            |
    %12 : char = sub %10 %11;

     %13 : Var<char> = var %12 @"int4";
                                                                            |
    %13 : Var<char> = var %12 @"int4";

     %14 : java.lang.String = var.load %3;
                                                                            |
    %14 : java.lang.String = var.load %3;

     %15 : int = invoke %14 @"java.lang.String::length()int";
                                                                            |
    %15 : int = invoke %14 @"java.lang.String::length()int";

     %16 : Var<int> = var %15 @"int5";
                                                                            |
    %16 : Var<int> = var %15 @"int5";

     branch ^block_0;
                                                                            x
    %17 : int = var.load %4;


                                                                            x
    %18 : Var<int> = var %17 @"int6";

   ^block_0:
                                                                            x
    %19 : char = var.load %9;

     %17 : int = var.load %4;
                                                                            x
    %20 : Var<char> = var %19 @"int7";

     %18 : int = constant @"1";
                                                                            x
    %21 : char = var.load %13;

     %19 : int = add %17 %18;
                                                                            x
    %22 : Var<char> = var %21 @"int8";

     var.store %4 %19;
                                                                            x
    branch ^block_0;

     %20 : int = var.load %4;

x

     %21 : int = var.load %16;
                                                                            x
  ^block_0:

     %22 : boolean = lt %20 %21;
                                                                            x
    %23 : int = var.load %18;

     cbranch %22 ^block_1 ^block_2;
                                                                            x
    %24 : int = constant @"1";


                                                                            x
    %25 : int = add %23 %24;

   ^block_1:
                                                                            x
    %26 : Var<int> = var %25 @"int9";

     %23 : java.lang.String = var.load %3;
                                                                            x
    %27 : int = var.load %26;

     %24 : int = var.load %4;
                                                                            x
    %28 : int = var.load %16;

     %25 : char = invoke %23 %24 @"java.lang.String::charAt(int)char";
                                                                            x
    %29 : boolean = lt %27 %28;

     var.store %9 %25;
                                                                            x
    cbranch %29 ^block_1 ^block_2;

     %26 : char = var.load %9;

x

     %27 : int = constant @"48";
                                                                            x
  ^block_1:

     %28 : boolean = ge %26 %27;
                                                                            x
    %30 : java.lang.String = var.load %3;

     cbranch %28 ^block_3 ^block_2;
                                                                            x
    %31 : int = var.load %26;


                                                                            x
    %32 : char = invoke %30 %31 @"java.lang.String::charAt(int)char";

   ^block_3:
                                                                            x
    %33 : Var<char> = var %32 @"int10";

     %29 : char = var.load %9;
                                                                            x
    %34 : char = var.load %33;

     %30 : int = constant @"57";
                                                                            x
    %35 : int = constant @"48";

     %31 : boolean = le %29 %30;
                                                                            x
    %36 : boolean = ge %34 %35;

     cbranch %31 ^block_4 ^block_2;
                                                                            x
    cbranch %36 ^block_3 ^block_2;



|

   ^block_4:
                                                                            x
  ^block_3:

     %32 : char = var.load %13;
                                                                            x
    %37 : char = var.load %33;

     %33 : int = constant @"10";
                                                                            x
    %38 : int = constant @"57";

     %34 : char = mul %32 %33;
                                                                            x
    %39 : boolean = le %37 %38;

     %35 : char = var.load %9;
                                                                            x
    cbranch %39 ^block_4 ^block_2;

     %36 : int = constant @"48";

x

     %37 : char = sub %35 %36;
                                                                            x
  ^block_4:

     %38 : char = add %34 %37;
                                                                            x
    %40 : char = var.load %22;

     var.store %13 %38;
                                                                            x
    %41 : int = constant @"10";

     branch ^block_0;
                                                                            x
    %42 : char = mul %40 %41;


                                                                            x
    %43 : Var<char> = var %42 @"int11";

   ^block_2:
                                                                            x
    %44 : char = var.load %33;

     %39 : java.util.List = var.load %5;
                                                                            x
    %45 : int = constant @"48";

     %40 : char = var.load %13;
                                                                            x
    %46 : char = sub %44 %45;

     %41 : java.lang.Integer = invoke %40
@"java.lang.Integer::valueOf(int)java.lang.Integer";
                                  x     %47 : Var<char> = var %46 @"int12";

     %42 : boolean = invoke %39 %41
@"java.util.List::add(java.lang.Object)boolean";
                                        x     %48 : char = var.load %43;

     %43 : int = var.load %4;
                                                                            x
    %49 : char = var.load %47;

     return %43;
                                                                            x
    %50 : char = add %48 %49;

 };
                                                                            x
    %51 : Var<char> = var %50 @"int13";


                                                                            x
    %52 : int = var.load %26;


                                                                            x
    var.store %18 %52;


                                                                            x
    %53 : char = var.load %33;


                                                                            x
    var.store %20 %53;


                                                                            x
    %54 : char = var.load %51;


                                                                            x
    var.store %22 %54;


                                                                            x
    branch ^block_0;



x


                                                                            x
  ^block_2:


                                                                            x
    %55 : char = var.load %22;


                                                                            x
    %56 : java.lang.Integer = invoke %55
@"java.lang.Integer::valueOf(int)java.lang.Integer";


                                                                            x
    %57 : Var<java.lang.Integer> = var %56 @"reference type14";


                                                                            x
    %58 : java.util.List = var.load %5;


                                                                            x
    %59 : java.lang.Integer = var.load %57;


                                                                            x
    %60 : boolean = invoke %58 %59
@"java.util.List::add(java.lang.Object)boolean";


                                                                            x
    %61 : int = var.load %26;


                                                                            x
    return %61;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"takeNumber" (%0 : java.lang.String, %1 : int, %2 :
java.util.List)int -> {
                  | func @"takeNumber" (%0 : java.lang.String, %1 : int, %2
: java.util.List)int -> {

     %3 : char = invoke %0 %1 @"java.lang.String::charAt(int)char";
                                                                            |
    %3 : char = invoke %0 %1 @"java.lang.String::charAt(int)char";

     %4 : int = constant @"48";
                                                                            |
    %4 : int = constant @"48";

     %5 : char = sub %3 %4;
                                                                            |
    %5 : char = sub %3 %4;

     %6 : int = invoke %0 @"java.lang.String::length()int";
                                                                            |
    %6 : int = invoke %0 @"java.lang.String::length()int";

     branch ^block_0(%1, %3, %5);
                                                                            |
    branch ^block_0(%1, %3, %5);



|

   ^block_0(%7 : int, %8 : char, %9 : char):
                                                                            |
  ^block_0(%7 : int, %8 : char, %9 : char):

     %10 : int = constant @"1";
                                                                            |
    %10 : int = constant @"1";

     %11 : int = add %7 %10;
                                                                            |
    %11 : int = add %7 %10;

     %12 : boolean = lt %11 %6;
                                                                            |
    %12 : boolean = lt %11 %6;

     cbranch %12 ^block_1 ^block_2(%8);
                                                                            x
    cbranch %12 ^block_1 ^block_2;



|

   ^block_1:
                                                                            |
  ^block_1:

     %13 : char = invoke %0 %11 @"java.lang.String::charAt(int)char";
                                                                            |
    %13 : char = invoke %0 %11 @"java.lang.String::charAt(int)char";

     %14 : int = constant @"48";
                                                                            |
    %14 : int = constant @"48";

     %15 : boolean = ge %13 %14;
                                                                            |
    %15 : boolean = ge %13 %14;

     cbranch %15 ^block_3 ^block_2(%13);
                                                                            x
    cbranch %15 ^block_3 ^block_2;



|

   ^block_3:
                                                                            |
  ^block_3:

     %16 : int = constant @"57";
                                                                            |
    %16 : int = constant @"57";

     %17 : boolean = le %13 %16;
                                                                            |
    %17 : boolean = le %13 %16;

     cbranch %17 ^block_4 ^block_2(%13);
                                                                            x
    cbranch %17 ^block_4 ^block_2;



|

   ^block_4:
                                                                            |
  ^block_4:

     %18 : int = constant @"10";
                                                                            |
    %18 : int = constant @"10";

     %19 : char = mul %9 %18;
                                                                            |
    %19 : char = mul %9 %18;

     %20 : int = constant @"48";
                                                                            |
    %20 : int = constant @"48";

     %21 : char = sub %13 %20;
                                                                            |
    %21 : char = sub %13 %20;

     %22 : char = add %19 %21;
                                                                            |
    %22 : char = add %19 %21;

     branch ^block_0(%11, %13, %22);
                                                                            |
    branch ^block_0(%11, %13, %22);



|

   ^block_2(%23 : char):
                                                                            x
  ^block_2:

     %24 : java.lang.Integer = invoke %9
@"java.lang.Integer::valueOf(int)java.lang.Integer";
                                    x     %23 : java.lang.Integer = invoke
%9 @"java.lang.Integer::valueOf(int)java.lang.Integer";

     %25 : boolean = invoke %2 %24
@"java.util.List::add(java.lang.Object)boolean";
                                          x     %24 : boolean = invoke %2
%23 @"java.util.List::add(java.lang.Object)boolean";

     return %11;
                                                                            |
    return %11;

 };
                                                                            |
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ALOAD #0
                                                                            |
  0: ALOAD #0

   1: ILOAD #1
                                                                            |
  1: ILOAD #1

   2: INVOKEVIRTUAL java/lang/String::charAt(int)char
                                                                            |
  2: INVOKEVIRTUAL java/lang/String::charAt(int)char

   3: ISTORE #3
                                                                            |
  3: ISTORE #3

   4: ILOAD #3
                                                                            |
  4: ILOAD #3

   5: LDC 48
                                                                            |
  5: LDC 48

   6: ISUB
                                                                            |
  6: ISUB

   7: ISTORE #4
                                                                            |
  7: ISTORE #4

   8: ALOAD #0
                                                                            |
  8: ALOAD #0

   9: INVOKEVIRTUAL java/lang/String::length()int
                                                                            |
  9: INVOKEVIRTUAL java/lang/String::length()int

  10: ISTORE #5

|  10: ISTORE #5

  11: ILOAD #1

|  11: ILOAD #1

  12: ISTORE #6

|  12: ISTORE #6

  13: ILOAD #3

x  13: ILOAD #4

  14: ISTORE #7

|  14: ISTORE #7

  15: ILOAD #4

x  15: ILOAD #6

  16: ISTORE #8

x  16: LDC 1

  17: ILOAD #6

x  17: IADD

  18: LDC 1

x  18: ISTORE #8

  19: IADD

x  19: ILOAD #8

  20: ISTORE #9

x  20: ILOAD #5

  21: ILOAD #9

x  21: IF_ICMPGE @49

  22: ILOAD #5

x  22: ALOAD #0

  23: IF_ICMPGE @53

x  23: ILOAD #8

  24: ALOAD #0

x  24: INVOKEVIRTUAL java/lang/String::charAt(int)char

  25: ILOAD #9

x  25: ISTORE #9

  26: INVOKEVIRTUAL java/lang/String::charAt(int)char

x  26: ILOAD #9

  27: ISTORE #10

x  27: LDC 48

  28: ILOAD #10

x  28: IF_ICMPLT @49

  29: LDC 48

x  29: ILOAD #9

  30: IF_ICMPLT @53

x  30: LDC 57

  31: ILOAD #10

x  31: IF_ICMPGT @49

  32: LDC 57

x  32: ILOAD #7

  33: IF_ICMPGT @53

x  33: LDC 10

  34: ILOAD #8

x  34: IMUL

  35: LDC 10

x  35: ISTORE #10

  36: IMUL

x  36: ILOAD #9

  37: ISTORE #11

x  37: LDC 48

  38: ILOAD #10

x  38: ISUB

  39: LDC 48

x  39: ISTORE #11

  40: ISUB

x  40: ILOAD #10

  41: ISTORE #12

x  41: ILOAD #11

  42: ILOAD #11

x  42: IADD

  43: ILOAD #12

x  43: ISTORE #12

  44: IADD

x  44: ILOAD #8

  45: ISTORE #13

x  45: ISTORE #6

  46: ILOAD #9

x  46: ILOAD #12

  47: ISTORE #6

x  47: ISTORE #7

  48: ILOAD #10

x  48: GOTO @15

  49: ISTORE #7

x  49: ILOAD #7

  50: ILOAD #13

x  50: INVOKESTATIC java/lang/Integer::valueOf(int)Integer

  51: ISTORE #8

x  51: ASTORE #13

  52: GOTO @17

x  52: ALOAD #2

  53: ILOAD #8

x  53: ALOAD #13

  54: INVOKESTATIC java/lang/Integer::valueOf(int)Integer

x  54: INVOKEINTERFACE java/util/List::add(Object)boolean

  55: ASTORE #14

x  55: POP

  56: ALOAD #2

x  56: ILOAD #8

  57: ALOAD #14

x  57: IRETURN

  58: INVOKEINTERFACE java/util/List::add(Object)boolean

x

  59: POP

x

  60: ILOAD #9

x

  61: IRETURN

x


java/lang/reflect/code/Body::intersect(Map,Block,Block)Block

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"intersect" (%0 : java.util.Map, %1 : java.lang.reflect.code.Block,
%2 : java.lang.reflect.code.Block)java.lang.reflect.code.Block -> {
  | func @"intersect" (%0 : java.util.Map, %1 :
java.lang.reflect.code.Block, %2 :
java.lang.reflect.code.Block)java.lang.reflect.code.Block -> {

     %3 : Var<java.util.Map> = var %0 @"reference type0";
                                                                            |
    %3 : Var<java.util.Map> = var %0 @"reference type0";

     %4 : Var<java.lang.reflect.code.Block> = var %1 @"reference type1";
                                                                            |
    %4 : Var<java.lang.reflect.code.Block> = var %1 @"reference type1";

     %5 : Var<java.lang.reflect.code.Block> = var %2 @"reference type2";
                                                                            |
    %5 : Var<java.lang.reflect.code.Block> = var %2 @"reference type2";

     branch ^block_0;
                                                                            x
    %6 : java.lang.reflect.code.Block = var.load %4;


                                                                            x
    %7 : Var<java.lang.reflect.code.Block> = var %6 @"reference type3";

   ^block_0:
                                                                            x
    %8 : java.lang.reflect.code.Block = var.load %5;

     %6 : java.lang.reflect.code.Block = var.load %4;
                                                                            x
    %9 : Var<java.lang.reflect.code.Block> = var %8 @"reference type4";

     %7 : java.lang.reflect.code.Block = var.load %5;
                                                                            x
    branch ^block_0;

     %8 : boolean = neq %6 %7;

x

     cbranch %8 ^block_1 ^block_2;
                                                                            x
  ^block_0:


                                                                            x
    %10 : java.lang.reflect.code.Block = var.load %7;

   ^block_1:
                                                                            x
    %11 : java.lang.reflect.code.Block = var.load %9;

     branch ^block_3;
                                                                            x
    %12 : boolean = neq %10 %11;


                                                                            x
    cbranch %12 ^block_1 ^block_2;

   ^block_3:

x

     %9 : java.lang.reflect.code.Block = var.load %4;
                                                                            x
  ^block_1:

     %10 : int = field.load %9 @"java.lang.reflect.code.Block::index()int";
                                                                          x
  %13 : java.lang.reflect.code.Block = var.load %7;

     %11 : java.lang.reflect.code.Block = var.load %5;
                                                                            x
    %14 : Var<java.lang.reflect.code.Block> = var %13 @"reference type5";

     %12 : int = field.load %11 @"java.lang.reflect.code.Block::index()int";
                                                                          x
  branch ^block_3;

     %13 : boolean = gt %10 %12;

x

     cbranch %13 ^block_4 ^block_5;
                                                                            x
  ^block_3:


                                                                            x
    %15 : java.lang.reflect.code.Block = var.load %14;

   ^block_4:
                                                                            x
    %16 : int = field.load %15 @"java.lang.reflect.code.Block::index()int";

     %14 : java.util.Map = var.load %3;
                                                                            x
    %17 : Var<int> = var %16 @"int6";

     %15 : java.lang.reflect.code.Block = var.load %4;
                                                                            x
    %18 : java.lang.reflect.code.Block = var.load %9;

     %16 : java.lang.Object = invoke %14 %15
@"java.util.Map::get(java.lang.Object)java.lang.Object";
                                x     %19 : int = field.load %18
@"java.lang.reflect.code.Block::index()int";

     %17 : java.lang.reflect.code.Block = cast %16
@"java.lang.reflect.code.Block";
                          x     %20 : Var<int> = var %19 @"int7";

     var.store %4 %17;
                                                                            x
    %21 : int = var.load %17;

     branch ^block_3;
                                                                            x
    %22 : int = var.load %20;


                                                                            x
    %23 : boolean = le %21 %22;

   ^block_5:
                                                                            x
    cbranch %23 ^block_4 ^block_5;

     %18 : java.lang.reflect.code.Block = var.load %5;

x

     %19 : int = field.load %18 @"java.lang.reflect.code.Block::index()int";
                                                                          x
^block_4:

     %20 : java.lang.reflect.code.Block = var.load %4;
                                                                            x
    %24 : java.lang.reflect.code.Block = var.load %9;

     %21 : int = field.load %20 @"java.lang.reflect.code.Block::index()int";
                                                                          x
  %25 : Var<java.lang.reflect.code.Block> = var %24 @"reference type8";

     %22 : boolean = gt %19 %21;
                                                                            x
    branch ^block_6;

     cbranch %22 ^block_6 ^block_0;

x


                                                                            x
  ^block_6:

   ^block_6:
                                                                            x
    %26 : java.lang.reflect.code.Block = var.load %25;

     %23 : java.util.Map = var.load %3;
                                                                            x
    %27 : int = field.load %26 @"java.lang.reflect.code.Block::index()int";

     %24 : java.lang.reflect.code.Block = var.load %5;
                                                                            x
    %28 : Var<int> = var %27 @"int10";

     %25 : java.lang.Object = invoke %23 %24
@"java.util.Map::get(java.lang.Object)java.lang.Object";
                                x     %29 : java.lang.reflect.code.Block =
var.load %14;

     %26 : java.lang.reflect.code.Block = cast %25
@"java.lang.reflect.code.Block";
                          x     %30 : int = field.load %29
@"java.lang.reflect.code.Block::index()int";

     var.store %5 %26;
                                                                            x
    %31 : Var<int> = var %30 @"int11";

     branch ^block_5;
                                                                            x
    %32 : int = var.load %28;


                                                                            x
    %33 : int = var.load %31;

   ^block_2:
                                                                            x
    %34 : boolean = le %32 %33;

     %27 : java.lang.reflect.code.Block = var.load %4;
                                                                            x
    cbranch %34 ^block_7 ^block_8;

     return %27;

x

 };
                                                                            x
  ^block_7:


                                                                            x
    %35 : java.lang.reflect.code.Block = var.load %14;


                                                                            x
    var.store %7 %35;


                                                                            x
    %36 : java.lang.reflect.code.Block = var.load %25;


                                                                            x
    var.store %9 %36;


                                                                            x
    branch ^block_0;



x


                                                                            x
  ^block_8:


                                                                            x
    %37 : java.util.Map = var.load %3;


                                                                            x
    %38 : java.lang.reflect.code.Block = var.load %25;


                                                                            x
    %39 : java.lang.Object = invoke %37 %38
@"java.util.Map::get(java.lang.Object)java.lang.Object";


                                                                            x
    %40 : java.lang.reflect.code.Block = cast %39
@"java.lang.reflect.code.Block";


                                                                            x
    %41 : Var<java.lang.reflect.code.Block> = var %40 @"reference type12";


                                                                            x
    %42 : java.lang.reflect.code.Block = var.load %41;


                                                                            x
    var.store %25 %42;


                                                                            x
    branch ^block_6;



x


                                                                            x
  ^block_5:


                                                                            x
    %43 : java.util.Map = var.load %3;


                                                                            x
    %44 : java.lang.reflect.code.Block = var.load %14;


                                                                            x
    %45 : java.lang.Object = invoke %43 %44
@"java.util.Map::get(java.lang.Object)java.lang.Object";


                                                                            x
    %46 : java.lang.reflect.code.Block = cast %45
@"java.lang.reflect.code.Block";


                                                                            x
    %47 : Var<java.lang.reflect.code.Block> = var %46 @"reference type9";


                                                                            x
    %48 : java.lang.reflect.code.Block = var.load %47;


                                                                            x
    var.store %14 %48;


                                                                            x
    branch ^block_3;



x


                                                                            x
  ^block_2:


                                                                            x
    %49 : java.lang.reflect.code.Block = var.load %7;


                                                                            x
    return %49;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"intersect" (%0 : java.util.Map, %1 : java.lang.reflect.code.Block,
%2 : java.lang.reflect.code.Block)java.lang.reflect.code.Block -> {
  | func @"intersect" (%0 : java.util.Map, %1 :
java.lang.reflect.code.Block, %2 :
java.lang.reflect.code.Block)java.lang.reflect.code.Block -> {

     branch ^block_0(%1, %2);
                                                                            |
    branch ^block_0(%1, %2);



|

   ^block_0(%3 : java.lang.reflect.code.Block, %4 :
java.lang.reflect.code.Block):
                        |   ^block_0(%3 : java.lang.reflect.code.Block, %4
: java.lang.reflect.code.Block):

     %5 : boolean = neq %3 %4;
                                                                            |
    %5 : boolean = neq %3 %4;

     cbranch %5 ^block_1 ^block_2;
                                                                            |
    cbranch %5 ^block_1 ^block_2;



|

   ^block_1:
                                                                            |
  ^block_1:

     branch ^block_3(%3);
                                                                            |
    branch ^block_3(%3);



|

   ^block_3(%6 : java.lang.reflect.code.Block):
                                                                            |
  ^block_3(%6 : java.lang.reflect.code.Block):

     %7 : int = field.load %6 @"java.lang.reflect.code.Block::index()int";
                                                                            |
    %7 : int = field.load %6 @"java.lang.reflect.code.Block::index()int";

     %8 : int = field.load %4 @"java.lang.reflect.code.Block::index()int";
                                                                            |
    %8 : int = field.load %4 @"java.lang.reflect.code.Block::index()int";

     %9 : boolean = gt %7 %8;
                                                                            x
    %9 : boolean = le %7 %8;

     cbranch %9 ^block_4 ^block_5(%4);
                                                                            x
    cbranch %9 ^block_4 ^block_5;



|

   ^block_4:
                                                                            |
  ^block_4:

     %10 : java.lang.Object = invoke %0 %6
@"java.util.Map::get(java.lang.Object)java.lang.Object";
                                  x     branch ^block_6(%4);

     %11 : java.lang.reflect.code.Block = cast %10
@"java.lang.reflect.code.Block";
                          x

     branch ^block_3(%11);
                                                                            x
  ^block_6(%10 : java.lang.reflect.code.Block):


                                                                            x
    %11 : int = field.load %10 @"java.lang.reflect.code.Block::index()int";

   ^block_5(%12 : java.lang.reflect.code.Block):
                                                                            x
    %12 : int = field.load %6 @"java.lang.reflect.code.Block::index()int";

     %13 : int = field.load %12 @"java.lang.reflect.code.Block::index()int";
                                                                          x
  %13 : boolean = le %11 %12;

     %14 : int = field.load %6 @"java.lang.reflect.code.Block::index()int";
                                                                          x
  cbranch %13 ^block_7 ^block_8;

     %15 : boolean = gt %13 %14;

x

     cbranch %15 ^block_6 ^block_0(%6, %12);
                                                                            x
  ^block_7:


                                                                            x
    branch ^block_0(%6, %10);

   ^block_6:

x

     %16 : java.lang.Object = invoke %0 %12
@"java.util.Map::get(java.lang.Object)java.lang.Object";
                                x   ^block_8:

     %17 : java.lang.reflect.code.Block = cast %16
@"java.lang.reflect.code.Block";
                          x     %14 : java.lang.Object = invoke %0 %10
@"java.util.Map::get(java.lang.Object)java.lang.Object";

     branch ^block_5(%17);
                                                                            x
    %15 : java.lang.reflect.code.Block = cast %14
@"java.lang.reflect.code.Block";


                                                                            x
    branch ^block_6(%15);

   ^block_2:

x

     return %3;
                                                                            x
  ^block_5:

 };
                                                                            x
    %16 : java.lang.Object = invoke %0 %6
@"java.util.Map::get(java.lang.Object)java.lang.Object";


                                                                            x
    %17 : java.lang.reflect.code.Block = cast %16
@"java.lang.reflect.code.Block";


                                                                            x
    branch ^block_3(%17);



x


                                                                            x
  ^block_2:


                                                                            x
    return %3;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ALOAD #1
                                                                            |
  0: ALOAD #1

   1: ASTORE #3
                                                                            |
  1: ASTORE #3

   2: ALOAD #2
                                                                            |
  2: ALOAD #2

   3: ASTORE #4
                                                                            |
  3: ASTORE #4

   4: ALOAD #3
                                                                            |
  4: ALOAD #3

   5: ALOAD #4
                                                                            |
  5: ALOAD #4

   6: IF_ACMPEQ @51
                                                                            x
  6: IF_ACMPEQ @50

   7: ALOAD #3
                                                                            |
  7: ALOAD #3

   8: ASTORE #5
                                                                            |
  8: ASTORE #5

   9: ALOAD #5
                                                                            |
  9: ALOAD #5

  10: GETFIELD java/lang/reflect/code/Block.index

|  10: GETFIELD java/lang/reflect/code/Block.index

  11: ISTORE #6

|  11: ISTORE #6

  12: ALOAD #4

|  12: ALOAD #4

  13: GETFIELD java/lang/reflect/code/Block.index

|  13: GETFIELD java/lang/reflect/code/Block.index

  14: ISTORE #7

|  14: ISTORE #7

  15: ILOAD #6

|  15: ILOAD #6

  16: ILOAD #7

|  16: ILOAD #7

  17: IF_ICMPGT @21

x  17: IF_ICMPGT @42

  18: ALOAD #4

|  18: ALOAD #4

  19: ASTORE #8

|  19: ASTORE #8

  20: GOTO @29

x  20: ALOAD #8

  21: ALOAD #0

x  21: GETFIELD java/lang/reflect/code/Block.index

  22: ALOAD #5

x  22: ISTORE #9

  23: INVOKEINTERFACE java/util/Map::get(Object)Object

x  23: ALOAD #5

  24: CHECKCAST java/lang/reflect/code/Block

x  24: GETFIELD java/lang/reflect/code/Block.index

  25: ASTORE #9

x  25: ISTORE #10

  26: ALOAD #9

x  26: ILOAD #9

  27: ASTORE #5

x  27: ILOAD #10

  28: GOTO @9

x  28: IF_ICMPGT @34

  29: ALOAD #8

x  29: ALOAD #5

  30: GETFIELD java/lang/reflect/code/Block.index

x  30: ASTORE #3

  31: ISTORE #10

x  31: ALOAD #8

  32: ALOAD #5

x  32: ASTORE #4

  33: GETFIELD java/lang/reflect/code/Block.index

x  33: GOTO @4

  34: ISTORE #11

x  34: ALOAD #0

  35: ILOAD #10

x  35: ALOAD #8

  36: ILOAD #11

x  36: INVOKEINTERFACE java/util/Map::get(Object)Object

  37: IF_ICMPGT @43

x  37: CHECKCAST java/lang/reflect/code/Block

  38: ALOAD #5

x  38: ASTORE #11

  39: ASTORE #3

x  39: ALOAD #11

  40: ALOAD #8

x  40: ASTORE #8

  41: ASTORE #4

x  41: GOTO @20

  42: GOTO @4

x  42: ALOAD #0

  43: ALOAD #0

x  43: ALOAD #5

  44: ALOAD #8

x  44: INVOKEINTERFACE java/util/Map::get(Object)Object

  45: INVOKEINTERFACE java/util/Map::get(Object)Object

x  45: CHECKCAST java/lang/reflect/code/Block

  46: CHECKCAST java/lang/reflect/code/Block

x  46: ASTORE #12

  47: ASTORE #12

x  47: ALOAD #12

  48: ALOAD #12

x  48: ASTORE #5

  49: ASTORE #8

x  49: GOTO @9

  50: GOTO @29

x  50: ALOAD #3

  51: ALOAD #3

x  51: ARETURN

  52: ARETURN

x


java/lang/StringUTF16::compress(char[],int,byte[],int,int)int

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"compress" (%0 : char[], %1 : int, %2 : byte[], %3 : int, %4 :
int)int -> {
      | func @"compress" (%0 : char[], %1 : int, %2 : byte[], %3 : int, %4
: int)int -> {

     %5 : Var<char[]> = var %0 @"reference type0";
                                                                            |
    %5 : Var<char[]> = var %0 @"reference type0";

     %6 : Var<int> = var %1 @"int1";
                                                                            |
    %6 : Var<int> = var %1 @"int1";

     %7 : Var<byte[]> = var %2 @"reference type2";
                                                                            |
    %7 : Var<byte[]> = var %2 @"reference type2";

     %8 : Var<int> = var %3 @"int3";
                                                                            |
    %8 : Var<int> = var %3 @"int3";

     %9 : Var<int> = var %4 @"int4";
                                                                            |
    %9 : Var<int> = var %4 @"int4";

     %10 : int = constant @"0";
                                                                            x
    %10 : int = var.load %6;

     %11 : Var<int> = var %10 @"int5";
                                                                            |
    %11 : Var<int> = var %10 @"int5";

     branch ^block_0;
                                                                            x
    %12 : int = var.load %8;


                                                                            x
    %13 : Var<int> = var %12 @"int6";

   ^block_0:
                                                                            x
    %14 : int = constant @"0";

     %12 : int = var.load %11;
                                                                            x
    %15 : Var<int> = var %14 @"int7";

     %13 : int = var.load %9;
                                                                            x
    branch ^block_0;

     %14 : boolean = lt %12 %13;

x

     cbranch %14 ^block_1 ^block_2;
                                                                            x
  ^block_0:


                                                                            x
    %16 : int = var.load %15;

   ^block_1:
                                                                            x
    %17 : int = var.load %9;

     %15 : char[] = var.load %5;
                                                                            x
    %18 : boolean = lt %16 %17;

     %16 : int = var.load %6;
                                                                            x
    cbranch %18 ^block_1 ^block_2;

     %17 : char = array.load %15 %16;

x

     %18 : Var<char> = var %17 @"int6";
                                                                            x
  ^block_1:

     %19 : char = var.load %18;
                                                                            x
    %19 : char[] = var.load %5;

     %20 : int = constant @"255";
                                                                            x
    %20 : int = var.load %11;

     %21 : boolean = gt %19 %20;
                                                                            x
    %21 : char = array.load %19 %20;

     cbranch %21 ^block_3 ^block_4;
                                                                            x
    %22 : Var<char> = var %21 @"int8";


                                                                            x
    %23 : char = var.load %22;

   ^block_3:
                                                                            x
    %24 : int = constant @"255";

     %22 : int = var.load %11;
                                                                            x
    %25 : boolean = gt %23 %24;

     return %22;
                                                                            x
    cbranch %25 ^block_3 ^block_4;



|

   ^block_4:
                                                                            x
  ^block_3:

     %23 : byte[] = var.load %7;
                                                                            x
    %26 : int = var.load %15;

     %24 : int = var.load %8;
                                                                            x
    return %26;

     %25 : char = var.load %18;

x

     %26 : byte = conv %25;
                                                                            x
  ^block_4:

     array.store %23 %24 %26;
                                                                            x
    %27 : char = var.load %22;

     %27 : int = var.load %6;
                                                                            x
    %28 : Var<char> = var %27 @"int9";

     %28 : int = constant @"1";
                                                                            x
    %29 : byte[] = var.load %7;

     %29 : int = add %27 %28;
                                                                            x
    %30 : int = var.load %13;

     var.store %6 %29;
                                                                            x
    %31 : char = var.load %28;

     %30 : int = var.load %8;
                                                                            x
    array.store %29 %30 %31;

     %31 : int = constant @"1";
                                                                            x
    %32 : int = var.load %11;

     %32 : int = add %30 %31;
                                                                            x
    %33 : int = constant @"1";

     var.store %8 %32;
                                                                            x
    %34 : int = add %32 %33;

     %33 : int = var.load %11;
                                                                            x
    %35 : Var<int> = var %34 @"int10";

     %34 : int = constant @"1";
                                                                            x
    %36 : int = var.load %13;

     %35 : int = add %33 %34;
                                                                            x
    %37 : int = constant @"1";

     var.store %11 %35;
                                                                            x
    %38 : int = add %36 %37;

     branch ^block_0;
                                                                            x
    %39 : Var<int> = var %38 @"int11";


                                                                            x
    %40 : int = var.load %15;

   ^block_2:
                                                                            x
    %41 : int = constant @"1";

     %36 : int = var.load %9;
                                                                            x
    %42 : int = add %40 %41;

     return %36;
                                                                            x
    %43 : Var<int> = var %42 @"int12";

 };
                                                                            x
    %44 : int = var.load %35;


                                                                            x
    var.store %11 %44;


                                                                            x
    %45 : int = var.load %39;


                                                                            x
    var.store %13 %45;


                                                                            x
    %46 : int = var.load %43;


                                                                            x
    var.store %15 %46;


                                                                            x
    branch ^block_0;



x


                                                                            x
  ^block_2:


                                                                            x
    %47 : int = var.load %9;


                                                                            x
    return %47;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"compress" (%0 : char[], %1 : int, %2 : byte[], %3 : int, %4 :
int)int -> {
      | func @"compress" (%0 : char[], %1 : int, %2 : byte[], %3 : int, %4
: int)int -> {

     %5 : int = constant @"0";
                                                                            |
    %5 : int = constant @"0";

     branch ^block_0(%1, %3, %5);
                                                                            |
    branch ^block_0(%1, %3, %5);



|

   ^block_0(%6 : int, %7 : int, %8 : int):
                                                                            |
  ^block_0(%6 : int, %7 : int, %8 : int):

     %9 : boolean = lt %8 %4;
                                                                            |
    %9 : boolean = lt %8 %4;

     cbranch %9 ^block_1 ^block_2;
                                                                            |
    cbranch %9 ^block_1 ^block_2;



|

   ^block_1:
                                                                            |
  ^block_1:

     %10 : char = array.load %0 %6;
                                                                            |
    %10 : char = array.load %0 %6;

     %11 : int = constant @"255";
                                                                            |
    %11 : int = constant @"255";

     %12 : boolean = gt %10 %11;
                                                                            |
    %12 : boolean = gt %10 %11;

     cbranch %12 ^block_3 ^block_4;
                                                                            |
    cbranch %12 ^block_3 ^block_4;



|

   ^block_3:
                                                                            |
  ^block_3:

     return %8;
                                                                            |
    return %8;



|

   ^block_4:
                                                                            |
  ^block_4:

     %13 : byte = conv %10;
                                                                            x
    array.store %2 %7 %10;

     array.store %2 %7 %13;
                                                                            x
    %13 : int = constant @"1";

     %14 : int = constant @"1";
                                                                            x
    %14 : int = add %6 %13;

     %15 : int = add %6 %14;
                                                                            x
    %15 : int = constant @"1";

     %16 : int = constant @"1";
                                                                            x
    %16 : int = add %7 %15;

     %17 : int = add %7 %16;
                                                                            x
    %17 : int = constant @"1";

     %18 : int = constant @"1";
                                                                            x
    %18 : int = add %8 %17;

     %19 : int = add %8 %18;
                                                                            x
    branch ^block_0(%14, %16, %18);

     branch ^block_0(%15, %17, %19);

x


                                                                            x
  ^block_2:

   ^block_2:
                                                                            x
    return %4;

     return %4;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #1
                                                                            |
  0: ILOAD #1

   1: ISTORE #5
                                                                            |
  1: ISTORE #5

   2: ILOAD #3
                                                                            |
  2: ILOAD #3

   3: ISTORE #6
                                                                            |
  3: ISTORE #6

   4: LDC 0
                                                                            |
  4: LDC 0

   5: ISTORE #7
                                                                            |
  5: ISTORE #7

   6: ILOAD #7
                                                                            |
  6: ILOAD #7

   7: ILOAD #4
                                                                            |
  7: ILOAD #4

   8: IF_ICMPGE @43
                                                                            x
  8: IF_ICMPGE @41

   9: ALOAD #0
                                                                            |
  9: ALOAD #0

  10: ILOAD #5

|  10: ILOAD #5

  11: IALOAD

|  11: IALOAD

  12: ISTORE #8

|  12: ISTORE #8

  13: ILOAD #8

|  13: ILOAD #8

  14: LDC 255

|  14: LDC 255

  15: IF_ICMPLE @18

|  15: IF_ICMPLE @18

  16: ILOAD #7

|  16: ILOAD #7

  17: IRETURN

|  17: IRETURN

  18: ILOAD #8

x  18: ALOAD #2

  19: ISTORE #9

x  19: ILOAD #6

  20: ALOAD #2

x  20: ILOAD #8

  21: ILOAD #6

x  21: IASTORE

  22: ILOAD #9

x  22: ILOAD #5

  23: IASTORE

x  23: LDC 1

  24: ILOAD #5

x  24: IADD

  25: LDC 1

x  25: ISTORE #9

  26: IADD

x  26: ILOAD #6

  27: ISTORE #10

x  27: LDC 1

  28: ILOAD #6

x  28: IADD

  29: LDC 1

x  29: ISTORE #10

  30: IADD

x  30: ILOAD #7

  31: ISTORE #11

x  31: LDC 1

  32: ILOAD #7

x  32: IADD

  33: LDC 1

x  33: ISTORE #11

  34: IADD

x  34: ILOAD #9

  35: ISTORE #12

x  35: ISTORE #5

  36: ILOAD #10

|  36: ILOAD #10

  37: ISTORE #5

x  37: ISTORE #6

  38: ILOAD #11

|  38: ILOAD #11

  39: ISTORE #6

x  39: ISTORE #7

  40: ILOAD #12

x  40: GOTO @6

  41: ISTORE #7

x  41: ILOAD #4

  42: GOTO @6

x  42: IRETURN

  43: ILOAD #4

x

  44: IRETURN

x


java/lang/StringUTF16::compress(byte[],int,byte[],int,int)int

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"compress" (%0 : byte[], %1 : int, %2 : byte[], %3 : int, %4 :
int)int -> {
      | func @"compress" (%0 : byte[], %1 : int, %2 : byte[], %3 : int, %4
: int)int -> {

     %5 : Var<byte[]> = var %0 @"reference type0";
                                                                            |
    %5 : Var<byte[]> = var %0 @"reference type0";

     %6 : Var<int> = var %1 @"int1";
                                                                            |
    %6 : Var<int> = var %1 @"int1";

     %7 : Var<byte[]> = var %2 @"reference type2";
                                                                            |
    %7 : Var<byte[]> = var %2 @"reference type2";

     %8 : Var<int> = var %3 @"int3";
                                                                            |
    %8 : Var<int> = var %3 @"int3";

     %9 : Var<int> = var %4 @"int4";
                                                                            |
    %9 : Var<int> = var %4 @"int4";

     %10 : int = var.load %6;
                                                                            |
    %10 : int = var.load %6;

     %11 : int = var.load %9;
                                                                            |
    %11 : int = var.load %9;

     %12 : byte[] = var.load %5;
                                                                            |
    %12 : byte[] = var.load %5;

     invoke %10 %11 %12 @"java.lang.StringUTF16::checkBoundsOffCount(int,
int, byte[])void";
  |     invoke %10 %11 %12
@"java.lang.StringUTF16::checkBoundsOffCount(int, int, byte[])void";

     %13 : int = constant @"0";
                                                                            x
    %13 : int = var.load %6;

     %14 : Var<int> = var %13 @"int5";
                                                                            |
    %14 : Var<int> = var %13 @"int5";

     branch ^block_0;
                                                                            x
    %15 : int = var.load %8;


                                                                            x
    %16 : Var<int> = var %15 @"int6";

   ^block_0:
                                                                            x
    %17 : int = constant @"0";

     %15 : int = var.load %14;
                                                                            x
    %18 : Var<int> = var %17 @"int7";

     %16 : int = var.load %9;
                                                                            x
    branch ^block_0;

     %17 : boolean = lt %15 %16;

x

     cbranch %17 ^block_1 ^block_2;
                                                                            x
  ^block_0:


                                                                            x
    %19 : int = var.load %18;

   ^block_1:
                                                                            x
    %20 : int = var.load %9;

     %18 : byte[] = var.load %5;
                                                                            x
    %21 : boolean = lt %19 %20;

     %19 : int = var.load %6;
                                                                            x
    cbranch %21 ^block_1 ^block_2;

     %20 : char = invoke %18 %19 @"java.lang.StringUTF16::getChar(byte[],
int)char";
  x

     %21 : Var<char> = var %20 @"int6";
                                                                            x
  ^block_1:

     %22 : char = var.load %21;
                                                                            x
    %22 : byte[] = var.load %5;

     %23 : int = constant @"255";
                                                                            x
    %23 : int = var.load %14;

     %24 : boolean = gt %22 %23;
                                                                            x
    %24 : char = invoke %22 %23 @"java.lang.StringUTF16::getChar(byte[],
int)char";

     cbranch %24 ^block_3 ^block_4;
                                                                            x
    %25 : Var<char> = var %24 @"int8";


                                                                            x
    %26 : char = var.load %25;

   ^block_3:
                                                                            x
    %27 : int = constant @"255";

     %25 : int = var.load %14;
                                                                            x
    %28 : boolean = gt %26 %27;

     return %25;
                                                                            x
    cbranch %28 ^block_3 ^block_4;



|

   ^block_4:
                                                                            x
  ^block_3:

     %26 : byte[] = var.load %7;
                                                                            x
    %29 : int = var.load %18;

     %27 : int = var.load %8;
                                                                            x
    return %29;

     %28 : char = var.load %21;

x

     %29 : byte = conv %28;
                                                                            x
  ^block_4:

     array.store %26 %27 %29;
                                                                            x
    %30 : char = var.load %25;

     %30 : int = var.load %6;
                                                                            x
    %31 : Var<char> = var %30 @"int9";

     %31 : int = constant @"1";
                                                                            x
    %32 : byte[] = var.load %7;

     %32 : int = add %30 %31;
                                                                            x
    %33 : int = var.load %16;

     var.store %6 %32;
                                                                            x
    %34 : char = var.load %31;

     %33 : int = var.load %8;
                                                                            x
    array.store %32 %33 %34;

     %34 : int = constant @"1";
                                                                            x
    %35 : int = var.load %14;

     %35 : int = add %33 %34;
                                                                            x
    %36 : int = constant @"1";

     var.store %8 %35;
                                                                            x
    %37 : int = add %35 %36;

     %36 : int = var.load %14;
                                                                            x
    %38 : Var<int> = var %37 @"int10";

     %37 : int = constant @"1";
                                                                            x
    %39 : int = var.load %16;

     %38 : int = add %36 %37;
                                                                            x
    %40 : int = constant @"1";

     var.store %14 %38;
                                                                            x
    %41 : int = add %39 %40;

     branch ^block_0;
                                                                            x
    %42 : Var<int> = var %41 @"int11";


                                                                            x
    %43 : int = var.load %18;

   ^block_2:
                                                                            x
    %44 : int = constant @"1";

     %39 : int = var.load %9;
                                                                            x
    %45 : int = add %43 %44;

     return %39;
                                                                            x
    %46 : Var<int> = var %45 @"int12";

 };
                                                                            x
    %47 : int = var.load %38;


                                                                            x
    var.store %14 %47;


                                                                            x
    %48 : int = var.load %42;


                                                                            x
    var.store %16 %48;


                                                                            x
    %49 : int = var.load %46;


                                                                            x
    var.store %18 %49;


                                                                            x
    branch ^block_0;



x


                                                                            x
  ^block_2:


                                                                            x
    %50 : int = var.load %9;


                                                                            x
    return %50;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"compress" (%0 : byte[], %1 : int, %2 : byte[], %3 : int, %4 :
int)int -> {
      | func @"compress" (%0 : byte[], %1 : int, %2 : byte[], %3 : int, %4
: int)int -> {

     invoke %1 %4 %0 @"java.lang.StringUTF16::checkBoundsOffCount(int, int,
byte[])void";                                                               |
    invoke %1 %4 %0 @"java.lang.StringUTF16::checkBoundsOffCount(int, int,
byte[])void";

     %5 : int = constant @"0";
                                                                            |
    %5 : int = constant @"0";

     branch ^block_0(%1, %3, %5);
                                                                            |
    branch ^block_0(%1, %3, %5);



|

   ^block_0(%6 : int, %7 : int, %8 : int):
                                                                            |
  ^block_0(%6 : int, %7 : int, %8 : int):

     %9 : boolean = lt %8 %4;
                                                                            |
    %9 : boolean = lt %8 %4;

     cbranch %9 ^block_1 ^block_2;
                                                                            |
    cbranch %9 ^block_1 ^block_2;



|

   ^block_1:
                                                                            |
  ^block_1:

     %10 : char = invoke %0 %6 @"java.lang.StringUTF16::getChar(byte[],
int)char";
    |     %10 : char = invoke %0 %6
@"java.lang.StringUTF16::getChar(byte[], int)char";

     %11 : int = constant @"255";
                                                                            |
    %11 : int = constant @"255";

     %12 : boolean = gt %10 %11;
                                                                            |
    %12 : boolean = gt %10 %11;

     cbranch %12 ^block_3 ^block_4;
                                                                            |
    cbranch %12 ^block_3 ^block_4;



|

   ^block_3:
                                                                            |
  ^block_3:

     return %8;
                                                                            |
    return %8;



|

   ^block_4:
                                                                            |
  ^block_4:

     %13 : byte = conv %10;
                                                                            x
    array.store %2 %7 %10;

     array.store %2 %7 %13;
                                                                            x
    %13 : int = constant @"1";

     %14 : int = constant @"1";
                                                                            x
    %14 : int = add %6 %13;

     %15 : int = add %6 %14;
                                                                            x
    %15 : int = constant @"1";

     %16 : int = constant @"1";
                                                                            x
    %16 : int = add %7 %15;

     %17 : int = add %7 %16;
                                                                            x
    %17 : int = constant @"1";

     %18 : int = constant @"1";
                                                                            x
    %18 : int = add %8 %17;

     %19 : int = add %8 %18;
                                                                            x
    branch ^block_0(%14, %16, %18);

     branch ^block_0(%15, %17, %19);

x


                                                                            x
  ^block_2:

   ^block_2:
                                                                            x
    return %4;

     return %4;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #1
                                                                            |
  0: ILOAD #1

   1: ILOAD #4
                                                                            |
  1: ILOAD #4

   2: ALOAD #0
                                                                            |
  2: ALOAD #0

   3: INVOKESTATIC
java/lang/StringUTF16::checkBoundsOffCount(int,int,byte[])void
                                                          |   3:
INVOKESTATIC java/lang/StringUTF16::checkBoundsOffCount(int,int,byte[])void

   4: ILOAD #1
                                                                            |
  4: ILOAD #1

   5: ISTORE #5
                                                                            |
  5: ISTORE #5

   6: ILOAD #3
                                                                            |
  6: ILOAD #3

   7: ISTORE #6
                                                                            |
  7: ISTORE #6

   8: LDC 0
                                                                            |
  8: LDC 0

   9: ISTORE #7
                                                                            |
  9: ISTORE #7

  10: ILOAD #7

|  10: ILOAD #7

  11: ILOAD #4

|  11: ILOAD #4

  12: IF_ICMPGE @47

x  12: IF_ICMPGE @45

  13: ALOAD #0

|  13: ALOAD #0

  14: ILOAD #5

|  14: ILOAD #5

  15: INVOKESTATIC java/lang/StringUTF16::getChar(byte[],int)char

|  15: INVOKESTATIC java/lang/StringUTF16::getChar(byte[],int)char

  16: ISTORE #8

|  16: ISTORE #8

  17: ILOAD #8

|  17: ILOAD #8

  18: LDC 255

|  18: LDC 255

  19: IF_ICMPLE @22

|  19: IF_ICMPLE @22

  20: ILOAD #7

|  20: ILOAD #7

  21: IRETURN

|  21: IRETURN

  22: ILOAD #8

x  22: ALOAD #2

  23: ISTORE #9

x  23: ILOAD #6

  24: ALOAD #2

x  24: ILOAD #8

  25: ILOAD #6

x  25: IASTORE

  26: ILOAD #9

x  26: ILOAD #5

  27: IASTORE

x  27: LDC 1

  28: ILOAD #5

x  28: IADD

  29: LDC 1

x  29: ISTORE #9

  30: IADD

x  30: ILOAD #6

  31: ISTORE #10

x  31: LDC 1

  32: ILOAD #6

x  32: IADD

  33: LDC 1

x  33: ISTORE #10

  34: IADD

x  34: ILOAD #7

  35: ISTORE #11

x  35: LDC 1

  36: ILOAD #7

x  36: IADD

  37: LDC 1

x  37: ISTORE #11

  38: IADD

x  38: ILOAD #9

  39: ISTORE #12

x  39: ISTORE #5

  40: ILOAD #10

|  40: ILOAD #10

  41: ISTORE #5

x  41: ISTORE #6

  42: ILOAD #11

|  42: ILOAD #11

  43: ISTORE #6

x  43: ISTORE #7

  44: ILOAD #12

x  44: GOTO @10

  45: ISTORE #7

x  45: ILOAD #4

  46: GOTO @10

x  46: IRETURN

  47: ILOAD #4

x

  48: IRETURN

x


java/lang/StringUTF16::codePointIncluding(byte[],int,int,int,int)int

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"codePointIncluding" (%0 : byte[], %1 : int, %2 : int, %3 : int, %4
: int)int -> {
  | func @"codePointIncluding" (%0 : byte[], %1 : int, %2 : int, %3 : int,
%4 : int)int -> {

     %5 : Var<byte[]> = var %0 @"reference type0";
                                                                            |
    %5 : Var<byte[]> = var %0 @"reference type0";

     %6 : Var<int> = var %1 @"int1";
                                                                            |
    %6 : Var<int> = var %1 @"int1";

     %7 : Var<int> = var %2 @"int2";
                                                                            |
    %7 : Var<int> = var %2 @"int2";

     %8 : Var<int> = var %3 @"int3";
                                                                            |
    %8 : Var<int> = var %3 @"int3";

     %9 : Var<int> = var %4 @"int4";
                                                                            |
    %9 : Var<int> = var %4 @"int4";

     %10 : int = var.load %6;
                                                                            |
    %10 : int = var.load %6;

     %11 : char = conv %10;
                                                                            x
    %11 : boolean = invoke %10
@"java.lang.Character::isSurrogate(char)boolean";

     %12 : boolean = invoke %11
@"java.lang.Character::isSurrogate(char)boolean";
                                            x     %12 : int = constant @"0";

     %13 : int = constant @"0";
                                                                            x
    %13 : boolean = eq %11 %12;

     %14 : boolean = eq %12 %13;
                                                                            x
    cbranch %13 ^block_0 ^block_1;

     cbranch %14 ^block_0 ^block_1;

x


                                                                            x
  ^block_0:

   ^block_0:
                                                                            x
    %14 : int = var.load %6;

     %15 : int = var.load %6;
                                                                            x
    return %14;

     return %15;

x


                                                                            x
  ^block_1:

   ^block_1:
                                                                            x
    %15 : int = var.load %6;

     %16 : int = var.load %6;
                                                                            x
    %16 : boolean = invoke %15
@"java.lang.Character::isLowSurrogate(char)boolean";

     %17 : char = conv %16;
                                                                            x
    %17 : int = constant @"0";

     %18 : boolean = invoke %17
@"java.lang.Character::isLowSurrogate(char)boolean";
                                            x     %18 : boolean = neq %16
%17;

     %19 : int = constant @"0";
                                                                            x
    cbranch %18 ^block_2 ^block_3;

     %20 : boolean = neq %18 %19;

x

     cbranch %20 ^block_2 ^block_3;
                                                                            x
  ^block_2:


                                                                            x
    %19 : int = var.load %7;

   ^block_2:
                                                                            x
    %20 : int = var.load %8;

     %21 : int = var.load %7;
                                                                            x
    %21 : boolean = gt %19 %20;

     %22 : int = var.load %8;
                                                                            x
    cbranch %21 ^block_4 ^block_5;

     %23 : boolean = gt %21 %22;

x

     cbranch %23 ^block_4 ^block_5;
                                                                            x
  ^block_4:


                                                                            x
    %22 : int = var.load %7;

   ^block_4:
                                                                            x
    %23 : int = constant @"1";

     %24 : byte[] = var.load %5;
                                                                            x
    %24 : int = sub %22 %23;

     %25 : int = var.load %7;
                                                                            x
    %25 : Var<int> = var %24 @"int5";

     %26 : int = constant @"1";
                                                                            x
    %26 : byte[] = var.load %5;

     %27 : int = sub %25 %26;
                                                                            x
    %27 : int = var.load %25;

     %28 : char = invoke %24 %27 @"java.lang.StringUTF16::getChar(byte[],
int)char";
  x     %28 : char = invoke %26 %27
@"java.lang.StringUTF16::getChar(byte[], int)char";

     %29 : Var<char> = var %28 @"int5";
                                                                            x
    %29 : Var<char> = var %28 @"int6";

     %30 : char = var.load %29;
                                                                            |
    %30 : char = var.load %29;

     %31 : boolean = invoke %30
@"java.lang.Character::isHighSurrogate(char)boolean";
                                            |     %31 : boolean = invoke
%30 @"java.lang.Character::isHighSurrogate(char)boolean";

     %32 : int = constant @"0";
                                                                            |
    %32 : int = constant @"0";

     %33 : boolean = neq %31 %32;
                                                                            |
    %33 : boolean = neq %31 %32;

     cbranch %33 ^block_6 ^block_7;
                                                                            |
    cbranch %33 ^block_6 ^block_7;



|

   ^block_6:
                                                                            |
  ^block_6:

     %34 : char = var.load %29;
                                                                            x
    %34 : int = var.load %6;

     %35 : int = var.load %6;
                                                                            x
    %35 : Var<int> = var %34 @"int7";

     %36 : char = conv %35;
                                                                            x
    %36 : char = var.load %29;

     %37 : int = invoke %34 %36 @"java.lang.Character::toCodePoint(char,
char)int";
    x     %37 : int = var.load %35;

     return %37;
                                                                            x
    %38 : int = invoke %36 %37 @"java.lang.Character::toCodePoint(char,
char)int";


                                                                            x
    return %38;

   ^block_7:

x

     branch ^block_5;
                                                                            x
  ^block_7:


                                                                            x
    branch ^block_5;

   ^block_3:

x

     %38 : int = var.load %7;
                                                                            x
  ^block_3:

     %39 : int = constant @"1";
                                                                            x
    %39 : int = var.load %7;

     %40 : int = add %38 %39;
                                                                            x
    %40 : int = constant @"1";

     %41 : int = var.load %9;
                                                                            x
    %41 : int = add %39 %40;

     %42 : boolean = lt %40 %41;
                                                                            x
    %42 : int = var.load %9;

     cbranch %42 ^block_8 ^block_5;
                                                                            x
    %43 : boolean = lt %41 %42;


                                                                            x
    cbranch %43 ^block_8 ^block_5;

   ^block_8:

x

     %43 : byte[] = var.load %5;
                                                                            x
  ^block_8:

     %44 : int = var.load %7;
                                                                            |
    %44 : int = var.load %7;

     %45 : int = constant @"1";
                                                                            |
    %45 : int = constant @"1";

     %46 : int = add %44 %45;
                                                                            |
    %46 : int = add %44 %45;

     %47 : char = invoke %43 %46 @"java.lang.StringUTF16::getChar(byte[],
int)char";
  x     %47 : Var<int> = var %46 @"int8";

     var.store %29 %47;
                                                                            x
    %48 : byte[] = var.load %5;

     %48 : char = var.load %29;
                                                                            x
    %49 : int = var.load %47;

     %49 : boolean = invoke %48
@"java.lang.Character::isLowSurrogate(char)boolean";
                                            x     %50 : char = invoke %48
%49 @"java.lang.StringUTF16::getChar(byte[], int)char";

     %50 : int = constant @"0";
                                                                            x
    %51 : Var<char> = var %50 @"int9";

     %51 : boolean = neq %49 %50;
                                                                            x
    %52 : char = var.load %51;

     cbranch %51 ^block_9 ^block_5;
                                                                            x
    %53 : boolean = invoke %52
@"java.lang.Character::isLowSurrogate(char)boolean";


                                                                            x
    %54 : int = constant @"0";

   ^block_9:
                                                                            x
    %55 : boolean = neq %53 %54;

     %52 : int = var.load %6;
                                                                            x
    cbranch %55 ^block_9 ^block_5;

     %53 : char = conv %52;

x

     %54 : char = var.load %29;
                                                                            x
  ^block_9:

     %55 : int = invoke %53 %54 @"java.lang.Character::toCodePoint(char,
char)int";
    x     %56 : int = var.load %6;

     %56 : int = neg %55;
                                                                            x
    %57 : char = var.load %51;

     return %56;
                                                                            x
    %58 : int = invoke %56 %57 @"java.lang.Character::toCodePoint(char,
char)int";


                                                                            x
    %59 : int = neg %58;

   ^block_5:
                                                                            x
    return %59;

     %57 : int = var.load %6;

x

     return %57;
                                                                            x
  ^block_5:

 };
                                                                            x
    %60 : int = var.load %6;


                                                                            x
    return %60;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"codePointIncluding" (%0 : byte[], %1 : int, %2 : int, %3 : int, %4
: int)int -> {
  | func @"codePointIncluding" (%0 : byte[], %1 : int, %2 : int, %3 : int,
%4 : int)int -> {

     %5 : char = conv %1;
                                                                            x
    %5 : boolean = invoke %1
@"java.lang.Character::isSurrogate(char)boolean";

     %6 : boolean = invoke %5
@"java.lang.Character::isSurrogate(char)boolean";
                                              x     %6 : int = constant
@"0";

     %7 : int = constant @"0";
                                                                            x
    %7 : boolean = eq %5 %6;

     %8 : boolean = eq %6 %7;
                                                                            x
    cbranch %7 ^block_0 ^block_1;

     cbranch %8 ^block_0 ^block_1;

x


                                                                            x
  ^block_0:

   ^block_0:
                                                                            x
    return %1;

     return %1;

x


                                                                            x
  ^block_1:

   ^block_1:
                                                                            x
    %8 : boolean = invoke %1
@"java.lang.Character::isLowSurrogate(char)boolean";

     %9 : char = conv %1;
                                                                            x
    %9 : int = constant @"0";

     %10 : boolean = invoke %9
@"java.lang.Character::isLowSurrogate(char)boolean";
                                              x     %10 : boolean = neq %8
%9;

     %11 : int = constant @"0";
                                                                            x
    cbranch %10 ^block_2 ^block_3;

     %12 : boolean = neq %10 %11;

x

     cbranch %12 ^block_2 ^block_3;
                                                                            x
  ^block_2:


                                                                            x
    %11 : boolean = gt %2 %3;

   ^block_2:
                                                                            x
    cbranch %11 ^block_4 ^block_5;

     %13 : boolean = gt %2 %3;

x

     cbranch %13 ^block_4 ^block_5;
                                                                            x
  ^block_4:


                                                                            x
    %12 : int = constant @"1";

   ^block_4:
                                                                            x
    %13 : int = sub %2 %12;

     %14 : int = constant @"1";
                                                                            x
    %14 : char = invoke %0 %13 @"java.lang.StringUTF16::getChar(byte[],
int)char";

     %15 : int = sub %2 %14;
                                                                            x
    %15 : boolean = invoke %14
@"java.lang.Character::isHighSurrogate(char)boolean";

     %16 : char = invoke %0 %15 @"java.lang.StringUTF16::getChar(byte[],
int)char";
    x     %16 : int = constant @"0";

     %17 : boolean = invoke %16
@"java.lang.Character::isHighSurrogate(char)boolean";
                                            x     %17 : boolean = neq %15
%16;

     %18 : int = constant @"0";
                                                                            x
    cbranch %17 ^block_6 ^block_7;

     %19 : boolean = neq %17 %18;

x

     cbranch %19 ^block_6 ^block_7;
                                                                            x
  ^block_6:


                                                                            x
    %18 : int = invoke %14 %1 @"java.lang.Character::toCodePoint(char,
char)int";

   ^block_6:
                                                                            x
    return %18;

     %20 : char = conv %1;

x

     %21 : int = invoke %16 %20 @"java.lang.Character::toCodePoint(char,
char)int";
    x   ^block_7:

     return %21;
                                                                            x
    branch ^block_5;



|

   ^block_7:
                                                                            x
  ^block_3:

     branch ^block_5;
                                                                            x
    %19 : int = constant @"1";


                                                                            x
    %20 : int = add %2 %19;

   ^block_3:
                                                                            x
    %21 : boolean = lt %20 %4;

     %22 : int = constant @"1";
                                                                            x
    cbranch %21 ^block_8 ^block_5;

     %23 : int = add %2 %22;

x

     %24 : boolean = lt %23 %4;
                                                                            x
  ^block_8:

     cbranch %24 ^block_8 ^block_5;
                                                                            x
    %22 : int = constant @"1";


                                                                            x
    %23 : int = add %2 %22;

   ^block_8:
                                                                            x
    %24 : char = invoke %0 %23 @"java.lang.StringUTF16::getChar(byte[],
int)char";

     %25 : int = constant @"1";
                                                                            x
    %25 : boolean = invoke %24
@"java.lang.Character::isLowSurrogate(char)boolean";

     %26 : int = add %2 %25;
                                                                            x
    %26 : int = constant @"0";

     %27 : char = invoke %0 %26 @"java.lang.StringUTF16::getChar(byte[],
int)char";
    x     %27 : boolean = neq %25 %26;

     %28 : boolean = invoke %27
@"java.lang.Character::isLowSurrogate(char)boolean";
                                            x     cbranch %27 ^block_9
^block_5;

     %29 : int = constant @"0";

x

     %30 : boolean = neq %28 %29;
                                                                            x
  ^block_9:

     cbranch %30 ^block_9 ^block_5;
                                                                            x
    %28 : int = invoke %1 %24 @"java.lang.Character::toCodePoint(char,
char)int";


                                                                            x
    %29 : int = neg %28;

   ^block_9:
                                                                            x
    return %29;

     %31 : char = conv %1;

x

     %32 : int = invoke %31 %27 @"java.lang.Character::toCodePoint(char,
char)int";
    x   ^block_5:

     %33 : int = neg %32;
                                                                            x
    return %1;

     return %33;
                                                                            x
};



x

   ^block_5:

x

     return %1;

x

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #1
                                                                            |
  0: ILOAD #1

   1: INVOKESTATIC java/lang/Character::isSurrogate(char)boolean
                                                                            |
  1: INVOKESTATIC java/lang/Character::isSurrogate(char)boolean

   2: LDC 0
                                                                            |
  2: LDC 0

   3: IF_ICMPNE @6
                                                                            |
  3: IF_ICMPNE @6

   4: ILOAD #1
                                                                            |
  4: ILOAD #1

   5: IRETURN
                                                                            |
  5: IRETURN

   6: ILOAD #1
                                                                            |
  6: ILOAD #1

   7: INVOKESTATIC java/lang/Character::isLowSurrogate(char)boolean
                                                                            |
  7: INVOKESTATIC java/lang/Character::isLowSurrogate(char)boolean

   8: LDC 0
                                                                            |
  8: LDC 0

   9: IF_ICMPEQ @32
                                                                            x
  9: IF_ICMPEQ @30

  10: ILOAD #2

|  10: ILOAD #2

  11: ILOAD #3

|  11: ILOAD #3

  12: IF_ICMPLE @54

x  12: IF_ICMPLE @52

  13: ILOAD #2

|  13: ILOAD #2

  14: LDC 1

|  14: LDC 1

  15: ISUB

|  15: ISUB

  16: ISTORE #5

|  16: ISTORE #5

  17: ALOAD #0

|  17: ALOAD #0

  18: ILOAD #5

|  18: ILOAD #5

  19: INVOKESTATIC java/lang/StringUTF16::getChar(byte[],int)char

|  19: INVOKESTATIC java/lang/StringUTF16::getChar(byte[],int)char

  20: ISTORE #6

|  20: ISTORE #6

  21: ILOAD #6

|  21: ILOAD #6

  22: INVOKESTATIC java/lang/Character::isHighSurrogate(char)boolean

|  22: INVOKESTATIC java/lang/Character::isHighSurrogate(char)boolean

  23: LDC 0

|  23: LDC 0

  24: IF_ICMPEQ @31

x  24: IF_ICMPEQ @29

  25: ILOAD #1

x  25: ILOAD #6

  26: ISTORE #7

x  26: ILOAD #1

  27: ILOAD #6

x  27: INVOKESTATIC java/lang/Character::toCodePoint(char,char)int

  28: ILOAD #7

x  28: IRETURN

  29: INVOKESTATIC java/lang/Character::toCodePoint(char,char)int

x  29: GOTO @52

  30: IRETURN

x  30: ILOAD #2

  31: GOTO @54

x  31: LDC 1

  32: ILOAD #2

x  32: IADD

  33: LDC 1

x  33: ILOAD #4

  34: IADD

x  34: IF_ICMPGE @52

  35: ILOAD #4

x  35: ILOAD #2

  36: IF_ICMPGE @54

x  36: LDC 1

  37: ILOAD #2

x  37: IADD

  38: LDC 1

x  38: ISTORE #7

  39: IADD

x  39: ALOAD #0

  40: ISTORE #8

x  40: ILOAD #7

  41: ALOAD #0

x  41: INVOKESTATIC java/lang/StringUTF16::getChar(byte[],int)char

  42: ILOAD #8

x  42: ISTORE #8

  43: INVOKESTATIC java/lang/StringUTF16::getChar(byte[],int)char

x  43: ILOAD #8

  44: ISTORE #9

x  44: INVOKESTATIC java/lang/Character::isLowSurrogate(char)boolean

  45: ILOAD #9

x  45: LDC 0

  46: INVOKESTATIC java/lang/Character::isLowSurrogate(char)boolean

x  46: IF_ICMPEQ @52

  47: LDC 0

x  47: ILOAD #1

  48: IF_ICMPEQ @54

x  48: ILOAD #8

  49: ILOAD #1

x  49: INVOKESTATIC java/lang/Character::toCodePoint(char,char)int

  50: ILOAD #9

x  50: INEG

  51: INVOKESTATIC java/lang/Character::toCodePoint(char,char)int

x  51: IRETURN

  52: INEG

x  52: ILOAD #1

  53: IRETURN

|  53: IRETURN

  54: ILOAD #1

x

  55: IRETURN

x


java/lang/StringLatin1::indexOfChar(byte[],int,int,int)int

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"indexOfChar" (%0 : byte[], %1 : int, %2 : int, %3 : int)int -> {
                                                                            |
func @"indexOfChar" (%0 : byte[], %1 : int, %2 : int, %3 : int)int -> {

     %4 : Var<byte[]> = var %0 @"reference type0";
                                                                            |
    %4 : Var<byte[]> = var %0 @"reference type0";

     %5 : Var<int> = var %1 @"int1";
                                                                            |
    %5 : Var<int> = var %1 @"int1";

     %6 : Var<int> = var %2 @"int2";
                                                                            |
    %6 : Var<int> = var %2 @"int2";

     %7 : Var<int> = var %3 @"int3";
                                                                            |
    %7 : Var<int> = var %3 @"int3";

     %8 : int = var.load %5;
                                                                            |
    %8 : int = var.load %5;

     %9 : byte = conv %8;
                                                                            x
    %9 : Var<int> = var %8 @"int4";

     %10 : Var<byte> = var %9 @"int4";
                                                                            x
    %10 : int = var.load %6;

     %11 : int = var.load %6;
                                                                            x
    %11 : Var<int> = var %10 @"int5";

     %12 : Var<int> = var %11 @"int5";
                                                                            x
    branch ^block_0;

     branch ^block_0;

x


                                                                            x
  ^block_0:

   ^block_0:
                                                                            x
    %12 : int = var.load %11;

     %13 : int = var.load %12;
                                                                            x
    %13 : int = var.load %7;

     %14 : int = var.load %7;
                                                                            x
    %14 : boolean = lt %12 %13;

     %15 : boolean = lt %13 %14;
                                                                            x
    cbranch %14 ^block_1 ^block_2;

     cbranch %15 ^block_1 ^block_2;

x


                                                                            x
  ^block_1:

   ^block_1:
                                                                            x
    %15 : byte[] = var.load %4;

     %16 : byte[] = var.load %4;
                                                                            x
    %16 : int = var.load %11;

     %17 : int = var.load %12;
                                                                            x
    %17 : byte = array.load %15 %16;

     %18 : byte = array.load %16 %17;
                                                                            x
    %18 : int = var.load %9;

     %19 : byte = var.load %10;
                                                                            x
    %19 : boolean = eq %17 %18;

     %20 : boolean = eq %18 %19;
                                                                            x
    cbranch %19 ^block_3 ^block_4;

     cbranch %20 ^block_3 ^block_4;

x


                                                                            x
  ^block_3:

   ^block_3:
                                                                            x
    %20 : int = var.load %11;

     %21 : int = var.load %12;
                                                                            x
    return %20;

     return %21;

x


                                                                            x
  ^block_4:

   ^block_4:
                                                                            x
    %21 : int = var.load %11;

     %22 : int = var.load %12;
                                                                            x
    %22 : int = constant @"1";

     %23 : int = constant @"1";
                                                                            x
    %23 : int = add %21 %22;

     %24 : int = add %22 %23;
                                                                            x
    %24 : Var<int> = var %23 @"int6";

     var.store %12 %24;
                                                                            x
    %25 : int = var.load %24;

     branch ^block_0;
                                                                            x
    var.store %11 %25;


                                                                            x
    branch ^block_0;

   ^block_2:

x

     %25 : int = constant @"-1";
                                                                            x
  ^block_2:

     return %25;
                                                                            x
    %26 : int = constant @"-1";

 };
                                                                            x
    return %26;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"indexOfChar" (%0 : byte[], %1 : int, %2 : int, %3 : int)int -> {
                                                                            |
func @"indexOfChar" (%0 : byte[], %1 : int, %2 : int, %3 : int)int -> {

     %4 : byte = conv %1;
                                                                            x
    branch ^block_0(%2);

     branch ^block_0(%2);

x


                                                                            x
  ^block_0(%4 : int):

   ^block_0(%5 : int):
                                                                            x
    %5 : boolean = lt %4 %3;

     %6 : boolean = lt %5 %3;
                                                                            x
    cbranch %5 ^block_1 ^block_2;

     cbranch %6 ^block_1 ^block_2;

x


                                                                            x
  ^block_1:

   ^block_1:
                                                                            x
    %6 : byte = array.load %0 %4;

     %7 : byte = array.load %0 %5;
                                                                            x
    %7 : boolean = eq %6 %1;

     %8 : boolean = eq %7 %4;
                                                                            x
    cbranch %7 ^block_3 ^block_4;

     cbranch %8 ^block_3 ^block_4;

x


                                                                            x
  ^block_3:

   ^block_3:
                                                                            x
    return %4;

     return %5;

x


                                                                            x
  ^block_4:

   ^block_4:
                                                                            x
    %8 : int = constant @"1";

     %9 : int = constant @"1";
                                                                            x
    %9 : int = add %4 %8;

     %10 : int = add %5 %9;
                                                                            x
    branch ^block_0(%9);

     branch ^block_0(%10);

x


                                                                            x
  ^block_2:

   ^block_2:
                                                                            x
    %10 : int = constant @"-1";

     %11 : int = constant @"-1";
                                                                            x
    return %10;

     return %11;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #1
                                                                            x
  0: ILOAD #2

   1: ISTORE #4
                                                                            |
  1: ISTORE #4

   2: ILOAD #2
                                                                            x
  2: ILOAD #4

   3: ISTORE #5
                                                                            x
  3: ILOAD #3

   4: ILOAD #5
                                                                            x
  4: IF_ICMPGE @19

   5: ILOAD #3
                                                                            x
  5: ALOAD #0

   6: IF_ICMPGE @21
                                                                            x
  6: ILOAD #4

   7: ALOAD #0
                                                                            x
  7: IALOAD

   8: ILOAD #5
                                                                            x
  8: ILOAD #1

   9: IALOAD
                                                                            x
  9: IF_ICMPNE @12

  10: ILOAD #4

|  10: ILOAD #4

  11: IF_ICMPNE @14

x  11: IRETURN

  12: ILOAD #5

x  12: ILOAD #4

  13: IRETURN

x  13: LDC 1

  14: ILOAD #5

x  14: IADD

  15: LDC 1

x  15: ISTORE #5

  16: IADD

x  16: ILOAD #5

  17: ISTORE #6

x  17: ISTORE #4

  18: ILOAD #6

x  18: GOTO @2

  19: ISTORE #5

x  19: LDC -1

  20: GOTO @4

x  20: IRETURN

  21: LDC -1

x

  22: IRETURN

x


java/lang/StringLatin1::lastIndexOf(byte[],int,int)int

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"lastIndexOf" (%0 : byte[], %1 : int, %2 : int)int -> {
                                                                            |
func @"lastIndexOf" (%0 : byte[], %1 : int, %2 : int)int -> {

     %3 : Var<byte[]> = var %0 @"reference type0";
                                                                            |
    %3 : Var<byte[]> = var %0 @"reference type0";

     %4 : Var<int> = var %1 @"int1";
                                                                            |
    %4 : Var<int> = var %1 @"int1";

     %5 : Var<int> = var %2 @"int2";
                                                                            |
    %5 : Var<int> = var %2 @"int2";

     %6 : int = var.load %4;
                                                                            |
    %6 : int = var.load %4;

     %7 : boolean = invoke %6
@"java.lang.StringLatin1::canEncode(int)boolean";
                                              |     %7 : boolean = invoke
%6 @"java.lang.StringLatin1::canEncode(int)boolean";

     %8 : int = constant @"0";
                                                                            |
    %8 : int = constant @"0";

     %9 : boolean = eq %7 %8;
                                                                            |
    %9 : boolean = eq %7 %8;

     cbranch %9 ^block_0 ^block_1;
                                                                            |
    cbranch %9 ^block_0 ^block_1;



|

   ^block_0:
                                                                            |
  ^block_0:

     %10 : int = constant @"-1";
                                                                            |
    %10 : int = constant @"-1";

     return %10;
                                                                            |
    return %10;



|

   ^block_1:
                                                                            |
  ^block_1:

     %11 : int = var.load %5;
                                                                            x
    %11 : byte[] = var.load %3;

     %12 : byte[] = var.load %3;
                                                                            x
    %12 : int = array.length %11;

     %13 : int = array.length %12;
                                                                            x
    %13 : int = constant @"1";

     %14 : int = constant @"1";
                                                                            x
    %14 : int = sub %12 %13;

     %15 : int = sub %13 %14;
                                                                            x
    %15 : Var<int> = var %14 @"int3";

     %16 : int = invoke %11 %15 @"java.lang.Math::min(int, int)int";
                                                                            x
    %16 : int = var.load %5;

     %17 : Var<int> = var %16 @"int3";
                                                                            x
    %17 : int = var.load %15;

     branch ^block_2;
                                                                            x
    %18 : int = invoke %16 %17 @"java.lang.Math::min(int, int)int";


                                                                            x
    %19 : Var<int> = var %18 @"int4";

   ^block_2:
                                                                            x
    %20 : int = var.load %19;

     %18 : int = var.load %17;
                                                                            x
    %21 : Var<int> = var %20 @"int5";

     %19 : int = constant @"0";
                                                                            x
    branch ^block_2;

     %20 : boolean = ge %18 %19;

x

     cbranch %20 ^block_3 ^block_4;
                                                                            x
  ^block_2:


                                                                            x
    %22 : int = var.load %21;

   ^block_3:
                                                                            x
    %23 : int = constant @"0";

     %21 : byte[] = var.load %3;
                                                                            x
    %24 : boolean = ge %22 %23;

     %22 : int = var.load %17;
                                                                            x
    cbranch %24 ^block_3 ^block_4;

     %23 : byte = array.load %21 %22;

x

     %24 : int = var.load %4;
                                                                            x
  ^block_3:

     %25 : byte = conv %24;
                                                                            x
    %25 : byte[] = var.load %3;

     %26 : boolean = eq %23 %25;
                                                                            x
    %26 : int = var.load %21;

     cbranch %26 ^block_5 ^block_6;
                                                                            x
    %27 : byte = array.load %25 %26;


                                                                            x
    %28 : Var<byte> = var %27 @"int6";

   ^block_5:
                                                                            x
    %29 : int = var.load %4;

     %27 : int = var.load %17;
                                                                            x
    %30 : Var<int> = var %29 @"int7";

     return %27;
                                                                            x
    %31 : byte = var.load %28;


                                                                            x
    %32 : int = var.load %30;

   ^block_6:
                                                                            x
    %33 : boolean = eq %31 %32;

     %28 : int = var.load %17;
                                                                            x
    cbranch %33 ^block_5 ^block_6;

     %29 : int = constant @"-1";

x

     %30 : int = add %28 %29;
                                                                            x
  ^block_5:

     var.store %17 %30;
                                                                            x
    %34 : int = var.load %21;

     branch ^block_2;
                                                                            x
    return %34;



|

   ^block_4:
                                                                            x
  ^block_6:

     %31 : int = constant @"-1";
                                                                            x
    %35 : int = var.load %21;

     return %31;
                                                                            x
    %36 : int = constant @"-1";

 };
                                                                            x
    %37 : int = add %35 %36;


                                                                            x
    %38 : Var<int> = var %37 @"int8";


                                                                            x
    %39 : int = var.load %38;


                                                                            x
    var.store %21 %39;


                                                                            x
    branch ^block_2;



x


                                                                            x
  ^block_4:


                                                                            x
    %40 : int = constant @"-1";


                                                                            x
    return %40;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"lastIndexOf" (%0 : byte[], %1 : int, %2 : int)int -> {
                                                                            |
func @"lastIndexOf" (%0 : byte[], %1 : int, %2 : int)int -> {

     %3 : boolean = invoke %1
@"java.lang.StringLatin1::canEncode(int)boolean";
                                              |     %3 : boolean = invoke
%1 @"java.lang.StringLatin1::canEncode(int)boolean";

     %4 : int = constant @"0";
                                                                            |
    %4 : int = constant @"0";

     %5 : boolean = eq %3 %4;
                                                                            |
    %5 : boolean = eq %3 %4;

     cbranch %5 ^block_0 ^block_1;
                                                                            |
    cbranch %5 ^block_0 ^block_1;



|

   ^block_0:
                                                                            |
  ^block_0:

     %6 : int = constant @"-1";
                                                                            |
    %6 : int = constant @"-1";

     return %6;
                                                                            |
    return %6;



|

   ^block_1:
                                                                            |
  ^block_1:

     %7 : int = array.length %0;
                                                                            |
    %7 : int = array.length %0;

     %8 : int = constant @"1";
                                                                            |
    %8 : int = constant @"1";

     %9 : int = sub %7 %8;
                                                                            |
    %9 : int = sub %7 %8;

     %10 : int = invoke %2 %9 @"java.lang.Math::min(int, int)int";
                                                                            |
    %10 : int = invoke %2 %9 @"java.lang.Math::min(int, int)int";

     branch ^block_2(%10);
                                                                            |
    branch ^block_2(%10);



|

   ^block_2(%11 : int):
                                                                            |
  ^block_2(%11 : int):

     %12 : int = constant @"0";
                                                                            |
    %12 : int = constant @"0";

     %13 : boolean = ge %11 %12;
                                                                            |
    %13 : boolean = ge %11 %12;

     cbranch %13 ^block_3 ^block_4;
                                                                            |
    cbranch %13 ^block_3 ^block_4;



|

   ^block_3:
                                                                            |
  ^block_3:

     %14 : byte = array.load %0 %11;
                                                                            |
    %14 : byte = array.load %0 %11;

     %15 : byte = conv %1;
                                                                            x
    %15 : boolean = eq %14 %1;

     %16 : boolean = eq %14 %15;
                                                                            x
    cbranch %15 ^block_5 ^block_6;

     cbranch %16 ^block_5 ^block_6;

x


                                                                            x
  ^block_5:

   ^block_5:
                                                                            x
    return %11;

     return %11;

x


                                                                            x
  ^block_6:

   ^block_6:
                                                                            x
    %16 : int = constant @"-1";

     %17 : int = constant @"-1";
                                                                            x
    %17 : int = add %11 %16;

     %18 : int = add %11 %17;
                                                                            x
    branch ^block_2(%17);

     branch ^block_2(%18);

x


                                                                            x
  ^block_4:

   ^block_4:
                                                                            x
    %18 : int = constant @"-1";

     %19 : int = constant @"-1";
                                                                            x
    return %18;

     return %19;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #1
                                                                            |
  0: ILOAD #1

   1: INVOKESTATIC java/lang/StringLatin1::canEncode(int)boolean
                                                                            |
  1: INVOKESTATIC java/lang/StringLatin1::canEncode(int)boolean

   2: LDC 0
                                                                            |
  2: LDC 0

   3: IF_ICMPNE @6
                                                                            |
  3: IF_ICMPNE @6

   4: LDC -1
                                                                            |
  4: LDC -1

   5: IRETURN
                                                                            |
  5: IRETURN

   6: ALOAD #0
                                                                            |
  6: ALOAD #0

   7: ARRAYLENGTH
                                                                            |
  7: ARRAYLENGTH

   8: LDC 1
                                                                            |
  8: LDC 1

   9: ISUB
                                                                            |
  9: ISUB

  10: ISTORE #3

|  10: ISTORE #3

  11: ILOAD #2

|  11: ILOAD #2

  12: ILOAD #3

|  12: ILOAD #3

  13: INVOKESTATIC java/lang/Math::min(int,int)int

|  13: INVOKESTATIC java/lang/Math::min(int,int)int

  14: ISTORE #4

|  14: ISTORE #4

  15: ILOAD #4

|  15: ILOAD #4

  16: ISTORE #5

|  16: ISTORE #5

  17: ILOAD #5

|  17: ILOAD #5

  18: LDC 0

|  18: LDC 0

  19: IF_ICMPLT @38

x  19: IF_ICMPLT @34

  20: ALOAD #0

|  20: ALOAD #0

  21: ILOAD #5

|  21: ILOAD #5

  22: IALOAD

|  22: IALOAD

  23: ISTORE #6

x  23: ILOAD #1

  24: ILOAD #1

x  24: IF_ICMPNE @27

  25: ISTORE #7

x  25: ILOAD #5

  26: ILOAD #6

x  26: IRETURN

  27: ILOAD #7

x  27: ILOAD #5

  28: IF_ICMPNE @31

x  28: LDC -1

  29: ILOAD #5

x  29: IADD

  30: IRETURN

x  30: ISTORE #6

  31: ILOAD #5

x  31: ILOAD #6

  32: LDC -1

x  32: ISTORE #5

  33: IADD

x  33: GOTO @17

  34: ISTORE #8

x  34: LDC -1

  35: ILOAD #8

x  35: IRETURN

  36: ISTORE #5

x

  37: GOTO @17

x

  38: LDC -1

x

  39: IRETURN

x


java/lang/StringLatin1::putChar(byte[],int,int)void

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"putChar" (%0 : byte[], %1 : int, %2 : int)void -> {
                                                                            |
func @"putChar" (%0 : byte[], %1 : int, %2 : int)void -> {

     %3 : Var<byte[]> = var %0 @"reference type0";
                                                                            |
    %3 : Var<byte[]> = var %0 @"reference type0";

     %4 : Var<int> = var %1 @"int1";
                                                                            |
    %4 : Var<int> = var %1 @"int1";

     %5 : Var<int> = var %2 @"int2";
                                                                            |
    %5 : Var<int> = var %2 @"int2";

     %6 : byte[] = var.load %3;
                                                                            x
    %6 : int = var.load %5;

     %7 : int = var.load %4;
                                                                            x
    %7 : Var<int> = var %6 @"int3";

     %8 : int = var.load %5;
                                                                            x
    %8 : byte[] = var.load %3;

     %9 : byte = conv %8;
                                                                            x
    %9 : int = var.load %4;

     array.store %6 %7 %9;
                                                                            x
    %10 : int = var.load %7;

     return;
                                                                            x
    array.store %8 %9 %10;

 };
                                                                            x
    return;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"putChar" (%0 : byte[], %1 : int, %2 : int)void -> {
                                                                            |
func @"putChar" (%0 : byte[], %1 : int, %2 : int)void -> {

     %3 : byte = conv %2;
                                                                            x
    array.store %0 %1 %2;

     array.store %0 %1 %3;
                                                                            x
    return;

     return;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: ILOAD #2
                                                                            x
  0: ALOAD #0

   1: ISTORE #3
                                                                            x
  1: ILOAD #1

   2: ALOAD #0
                                                                            x
  2: ILOAD #2

   3: ILOAD #1
                                                                            x
  3: IASTORE

   4: ILOAD #3
                                                                            x
  4: RETURN

   5: IASTORE

x

   6: RETURN

x


java/lang/StringLatin1::toBytes(char)byte[]

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toBytes" (%0 : char)byte[] -> {
                                                                            |
func @"toBytes" (%0 : char)byte[] -> {

     %1 : Var<char> = var %0 @"int0";
                                                                            |
    %1 : Var<char> = var %0 @"int0";

     %2 : int = constant @"1";
                                                                            |
    %2 : int = constant @"1";

     %3 : byte[] = new %2 @"func<byte[], int>";
                                                                            |
    %3 : byte[] = new %2 @"func<byte[], int>";

     %4 : int = constant @"0";
                                                                            x
    %4 : Var<byte[]> = var %3 @"reference type1";

     %5 : char = var.load %1;
                                                                            |
    %5 : char = var.load %1;

     %6 : byte = conv %5;
                                                                            x
    %6 : Var<char> = var %5 @"int2";

     array.store %3 %4 %6;
                                                                            x
    %7 : byte[] = var.load %4;

     return %3;
                                                                            x
    %8 : int = constant @"0";

 };
                                                                            x
    %9 : char = var.load %6;


                                                                            x
    array.store %7 %8 %9;


                                                                            x
    %10 : byte[] = var.load %4;


                                                                            x
    return %10;


                                                                            x
};

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

 func @"toBytes" (%0 : char)byte[] -> {
                                                                            |
func @"toBytes" (%0 : char)byte[] -> {

     %1 : int = constant @"1";
                                                                            |
    %1 : int = constant @"1";

     %2 : byte[] = new %1 @"func<byte[], int>";
                                                                            |
    %2 : byte[] = new %1 @"func<byte[], int>";

     %3 : int = constant @"0";
                                                                            |
    %3 : int = constant @"0";

     %4 : byte = conv %0;
                                                                            x
    array.store %2 %3 %0;

     array.store %2 %3 %4;
                                                                            x
    return %2;

     return %2;
                                                                            x
};

 };

x

--------------------------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------

   0: LDC 1
                                                                            |
  0: LDC 1

   1: NEWARRAY ByteType
                                                                            |
  1: NEWARRAY ByteType

   2: ASTORE #1
                                                                            |
  2: ASTORE #1

   3: ILOAD #0
                                                                            x
  3: ALOAD #1

   4: ISTORE #2
                                                                            x
  4: LDC 0

   5: ALOAD #1
                                                                            x
  5: ILOAD #0

   6: LDC 0
                                                                            x
  6: IASTORE

   7: ILOAD #2
                                                                            x
  7: ALOAD #1

   8: IASTORE
                                                                            x
  8: ARETURN

   9: ALOAD #1

x

  10: ARETURN

x



first lift errors:

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


445x java.lang.IllegalArgumentException: Unsupported constant value:
DynamicConstantDesc[ConstantBootstraps::nullConstant()Object]

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:313)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



392x java.lang.UnsupportedOperationException: Unsupported instruction:
INVOKEDYNAMIC

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:473)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



259x java.lang.IllegalArgumentException: Unsupported operator opcode: LSHL

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



225x java.lang.UnsupportedOperationException: Unsupported instruction:
INSTANCEOF

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:473)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



223x java.lang.IllegalArgumentException: Unsupported operator opcode: LCMP

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



100x java.lang.UnsupportedOperationException: Operands on stack for branch
not supported

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:262)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



96x java.lang.IllegalArgumentException: Unsupported operator opcode: ISHR

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



86x java.lang.IllegalArgumentException: Unsupported operator opcode: ISHL

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



81x java.lang.IllegalArgumentException: Unsupported operator opcode: IUSHR

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



63x java.lang.UnsupportedOperationException: Unsupported instruction:
TABLESWITCH

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:473)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



50x java.lang.UnsupportedOperationException: Unsupported instruction:
LOOKUPSWITCH

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:473)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



32x java.lang.UnsupportedOperationException: Unsupported instruction:
MONITORENTER

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:473)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



31x java.lang.ClassCastException: class
java.lang.reflect.code.type.PrimitiveType cannot be cast to class
java.lang.reflect.code.type.ArrayType
(java.lang.reflect.code.type.PrimitiveType and
java.lang.reflect.code.type.ArrayType are in module java.base of loader
'bootstrap')

at
java.base/java.lang.reflect.code.op.CoreOps$ArrayAccessOp$ArrayLoadOp.resultType(CoreOps.java:1644)

at java.base/java.lang.reflect.code.Op$Result.<init>(Op.java:154)

at java.base/java.lang.reflect.code.Block.insertOp(Block.java:884)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:839)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:798)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.op(BytecodeLift.java:140)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:384)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



27x java.lang.IllegalArgumentException: Unsupported operator opcode: LUSHR

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



26x java.lang.IllegalArgumentException: Unsupported operator opcode: DCMPL

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



15x java.lang.IllegalArgumentException: Unsupported operator opcode: LSHR

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



12x java.lang.IllegalArgumentException: Unsupported operator opcode: FCMPL

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



10x java.lang.IllegalArgumentException: Unsupported operator opcode: FCMPG

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



8x java.lang.IllegalArgumentException: Unsupported operator opcode: DCMPG

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:354)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



5x java.lang.ClassCastException: class
java.lang.reflect.code.type.ClassType cannot be cast to class
java.lang.reflect.code.type.ArrayType
(java.lang.reflect.code.type.ClassType and
java.lang.reflect.code.type.ArrayType are in module java.base of loader
'bootstrap')

at
java.base/java.lang.reflect.code.op.CoreOps$ArrayAccessOp$ArrayLoadOp.resultType(CoreOps.java:1644)

at java.base/java.lang.reflect.code.Op$Result.<init>(Op.java:154)

at java.base/java.lang.reflect.code.Block.insertOp(Block.java:884)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:839)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:798)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.op(BytecodeLift.java:140)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:384)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



5x java.lang.UnsupportedOperationException: Unsupported stack instruction:
UnboundStackInstruction[op=DUP_X2]

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:469)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



5x java.lang.UnsupportedOperationException: Unsupported stack instruction:
UnboundStackInstruction[op=DUP_X1]

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:469)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lambda$lift$5(BytecodeLift.java:160)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp$Builder.body(CoreOps.java:72)

at
java.base/java.lang.reflect.code.bytecode.BytecodeLift.lift(BytecodeLift.java:159)

at TestSmallCorpus.lift(TestSmallCorpus.java:163)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:100)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)




first lower errors:

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


500x java.lang.IllegalArgumentException: Unsupported constant value:
java.lang.Object at 7c82dfa4

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.fromValue(BytecodeGenerator.java:285)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.load(BytecodeGenerator.java:266)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.processOperands(BytecodeGenerator.java:277)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generate(BytecodeGenerator.java:864)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$3(BytecodeGenerator.java:176)

at
java.base/java.lang.classfile.CodeBuilder.transforming(CodeBuilder.java:174)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$4(BytecodeGenerator.java:174)

at
java.base/jdk.internal.classfile.impl.DirectCodeBuilder.build(DirectCodeBuilder.java:110)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:125)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:132)

at
java.base/java.lang.classfile.ClassBuilder.lambda$withMethodBody$2(ClassBuilder.java:249)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.run(DirectMethodBuilder.java:146)

at
java.base/jdk.internal.classfile.impl.DirectClassBuilder.withMethod(DirectClassBuilder.java:108)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:249)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:284)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateMethod(BytecodeGenerator.java:173)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateClassData$1(BytecodeGenerator.java:147)

at
java.base/jdk.internal.classfile.impl.ClassFileImpl.build(ClassFileImpl.java:113)

at java.base/java.lang.classfile.ClassFile.build(ClassFile.java:332)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:144)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:121)

at TestSmallCorpus.lower(TestSmallCorpus.java:178)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:104)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



153x java.lang.NullPointerException



88x java.lang.ArrayIndexOutOfBoundsException



14x java.lang.NullPointerException: Cannot invoke
"java.lang.reflect.code.bytecode.BytecodeGenerator$Slot.typeKind()" because
"slot" is null

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.load(BytecodeGenerator.java:270)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.processOperands(BytecodeGenerator.java:277)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generate(BytecodeGenerator.java:864)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$3(BytecodeGenerator.java:176)

at
java.base/java.lang.classfile.CodeBuilder.transforming(CodeBuilder.java:174)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$4(BytecodeGenerator.java:174)

at
java.base/jdk.internal.classfile.impl.DirectCodeBuilder.build(DirectCodeBuilder.java:110)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:125)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:132)

at
java.base/java.lang.classfile.ClassBuilder.lambda$withMethodBody$2(ClassBuilder.java:249)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.run(DirectMethodBuilder.java:146)

at
java.base/jdk.internal.classfile.impl.DirectClassBuilder.withMethod(DirectClassBuilder.java:108)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:249)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:284)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateMethod(BytecodeGenerator.java:173)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateClassData$1(BytecodeGenerator.java:147)

at
java.base/jdk.internal.classfile.impl.ClassFileImpl.build(ClassFileImpl.java:113)

at java.base/java.lang.classfile.ClassFile.build(ClassFile.java:332)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:144)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:121)

at TestSmallCorpus.lower(TestSmallCorpus.java:178)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:104)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



5x java.lang.NullPointerException: Cannot invoke
"java.lang.reflect.code.bytecode.BytecodeGenerator$Slot.typeKind()" because
"slot" is null

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.load(BytecodeGenerator.java:270)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.assignBlockArguments(BytecodeGenerator.java:1037)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generate(BytecodeGenerator.java:858)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$3(BytecodeGenerator.java:176)

at
java.base/java.lang.classfile.CodeBuilder.transforming(CodeBuilder.java:174)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$4(BytecodeGenerator.java:174)

at
java.base/jdk.internal.classfile.impl.DirectCodeBuilder.build(DirectCodeBuilder.java:110)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:125)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:132)

at
java.base/java.lang.classfile.ClassBuilder.lambda$withMethodBody$2(ClassBuilder.java:249)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.run(DirectMethodBuilder.java:146)

at
java.base/jdk.internal.classfile.impl.DirectClassBuilder.withMethod(DirectClassBuilder.java:108)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:249)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:284)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateMethod(BytecodeGenerator.java:173)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateClassData$1(BytecodeGenerator.java:147)

at
java.base/jdk.internal.classfile.impl.ClassFileImpl.build(ClassFileImpl.java:113)

at java.base/java.lang.classfile.ClassFile.build(ClassFile.java:332)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:144)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:121)

at TestSmallCorpus.lower(TestSmallCorpus.java:178)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:104)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



5x java.lang.NullPointerException: Cannot invoke
"java.lang.reflect.code.bytecode.BytecodeGenerator$Slot.typeKind()" because
"slot" is null

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.load(BytecodeGenerator.java:270)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.processOperands(BytecodeGenerator.java:277)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generate(BytecodeGenerator.java:696)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$3(BytecodeGenerator.java:176)

at
java.base/java.lang.classfile.CodeBuilder.transforming(CodeBuilder.java:174)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$4(BytecodeGenerator.java:174)

at
java.base/jdk.internal.classfile.impl.DirectCodeBuilder.build(DirectCodeBuilder.java:110)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:125)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:132)

at
java.base/java.lang.classfile.ClassBuilder.lambda$withMethodBody$2(ClassBuilder.java:249)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.run(DirectMethodBuilder.java:146)

at
java.base/jdk.internal.classfile.impl.DirectClassBuilder.withMethod(DirectClassBuilder.java:108)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:249)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:284)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateMethod(BytecodeGenerator.java:173)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateClassData$1(BytecodeGenerator.java:147)

at
java.base/jdk.internal.classfile.impl.ClassFileImpl.build(ClassFileImpl.java:113)

at java.base/java.lang.classfile.ClassFile.build(ClassFile.java:332)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:144)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:121)

at TestSmallCorpus.lower(TestSmallCorpus.java:178)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:104)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



2x java.lang.IndexOutOfBoundsException: bitIndex < 0: -1

at java.base/java.util.BitSet.clear(BitSet.java:545)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generate(BytecodeGenerator.java:414)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$3(BytecodeGenerator.java:176)

at
java.base/java.lang.classfile.CodeBuilder.transforming(CodeBuilder.java:174)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$4(BytecodeGenerator.java:174)

at
java.base/jdk.internal.classfile.impl.DirectCodeBuilder.build(DirectCodeBuilder.java:110)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:125)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:132)

at
java.base/java.lang.classfile.ClassBuilder.lambda$withMethodBody$2(ClassBuilder.java:249)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.run(DirectMethodBuilder.java:146)

at
java.base/jdk.internal.classfile.impl.DirectClassBuilder.withMethod(DirectClassBuilder.java:108)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:249)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:284)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateMethod(BytecodeGenerator.java:173)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateClassData$1(BytecodeGenerator.java:147)

at
java.base/jdk.internal.classfile.impl.ClassFileImpl.build(ClassFileImpl.java:113)

at java.base/java.lang.classfile.ClassFile.build(ClassFile.java:332)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:144)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:121)

at TestSmallCorpus.lower(TestSmallCorpus.java:178)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:104)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for
length 9

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.getLabel(BytecodeGenerator.java:235)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generate(BytecodeGenerator.java:428)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$3(BytecodeGenerator.java:176)

at
java.base/java.lang.classfile.CodeBuilder.transforming(CodeBuilder.java:174)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$4(BytecodeGenerator.java:174)

at
java.base/jdk.internal.classfile.impl.DirectCodeBuilder.build(DirectCodeBuilder.java:110)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:125)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:132)

at
java.base/java.lang.classfile.ClassBuilder.lambda$withMethodBody$2(ClassBuilder.java:249)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.run(DirectMethodBuilder.java:146)

at
java.base/jdk.internal.classfile.impl.DirectClassBuilder.withMethod(DirectClassBuilder.java:108)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:249)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:284)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateMethod(BytecodeGenerator.java:173)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateClassData$1(BytecodeGenerator.java:147)

at
java.base/jdk.internal.classfile.impl.ClassFileImpl.build(ClassFileImpl.java:113)

at java.base/java.lang.classfile.ClassFile.build(ClassFile.java:332)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:144)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:121)

at TestSmallCorpus.lower(TestSmallCorpus.java:178)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:104)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for
length 0

at
java.base/java.util.ImmutableCollections$ListN.get(ImmutableCollections.java:687)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.assignBlockArguments(BytecodeGenerator.java:1035)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generate(BytecodeGenerator.java:875)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$3(BytecodeGenerator.java:176)

at
java.base/java.lang.classfile.CodeBuilder.transforming(CodeBuilder.java:174)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$4(BytecodeGenerator.java:174)

at
java.base/jdk.internal.classfile.impl.DirectCodeBuilder.build(DirectCodeBuilder.java:110)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:125)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:132)

at
java.base/java.lang.classfile.ClassBuilder.lambda$withMethodBody$2(ClassBuilder.java:249)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.run(DirectMethodBuilder.java:146)

at
java.base/jdk.internal.classfile.impl.DirectClassBuilder.withMethod(DirectClassBuilder.java:108)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:249)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:284)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateMethod(BytecodeGenerator.java:173)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateClassData$1(BytecodeGenerator.java:147)

at
java.base/jdk.internal.classfile.impl.ClassFileImpl.build(ClassFileImpl.java:113)

at java.base/java.lang.classfile.ClassFile.build(ClassFile.java:332)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:144)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:121)

at TestSmallCorpus.lower(TestSmallCorpus.java:178)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:104)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.ArrayIndexOutOfBoundsException: Index 12 out of bounds for
length 12

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.getLabel(BytecodeGenerator.java:235)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generate(BytecodeGenerator.java:428)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$3(BytecodeGenerator.java:176)

at
java.base/java.lang.classfile.CodeBuilder.transforming(CodeBuilder.java:174)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateMethod$4(BytecodeGenerator.java:174)

at
java.base/jdk.internal.classfile.impl.DirectCodeBuilder.build(DirectCodeBuilder.java:110)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:125)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.withCode(DirectMethodBuilder.java:132)

at
java.base/java.lang.classfile.ClassBuilder.lambda$withMethodBody$2(ClassBuilder.java:249)

at
java.base/jdk.internal.classfile.impl.DirectMethodBuilder.run(DirectMethodBuilder.java:146)

at
java.base/jdk.internal.classfile.impl.DirectClassBuilder.withMethod(DirectClassBuilder.java:108)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:249)

at
java.base/java.lang.classfile.ClassBuilder.withMethodBody(ClassBuilder.java:284)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateMethod(BytecodeGenerator.java:173)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.lambda$generateClassData$1(BytecodeGenerator.java:147)

at
java.base/jdk.internal.classfile.impl.ClassFileImpl.build(ClassFileImpl.java:113)

at java.base/java.lang.classfile.ClassFile.build(ClassFile.java:332)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:144)

at
java.base/java.lang.reflect.code.bytecode.BytecodeGenerator.generateClassData(BytecodeGenerator.java:121)

at TestSmallCorpus.lower(TestSmallCorpus.java:178)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:104)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)




second transform errors:

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


433x java.lang.NullPointerException

at java.base/java.util.Objects.requireNonNull(Objects.java:220)

at
java.base/java.lang.reflect.code.CopyContextImpl.getValueOrNull(CopyContextImpl.java:79)

at
java.base/java.lang.reflect.code.CopyContextImpl.getValue(CopyContextImpl.java:62)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$4(SSA.java:88)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:116)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:56)

at java.base/java.lang.reflect.code.analysis.SSA.transform(SSA.java:72)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:108)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



209x java.lang.NullPointerException



10x java.lang.NullPointerException: Cannot invoke "java.util.Deque.peek()"
because the return value of "java.util.Map.get(Object)" is null

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:197)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:146)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$0(SSA.java:76)

at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$4(SSA.java:74)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:116)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:56)

at java.base/java.lang.reflect.code.analysis.SSA.transform(SSA.java:72)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:108)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



4x java.lang.NullPointerException: Cannot invoke "java.util.Deque.peek()"
because the return value of "java.util.Map.get(Object)" is null

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:197)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:146)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$0(SSA.java:76)

at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$4(SSA.java:74)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:116)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:56)

at java.base/java.lang.reflect.code.analysis.SSA.transform(SSA.java:72)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:108)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



2x java.lang.NullPointerException: Cannot invoke "java.util.Deque.peek()"
because the return value of "java.util.Map.get(Object)" is null

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:197)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:146)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$0(SSA.java:76)

at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$4(SSA.java:74)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:116)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:56)

at java.base/java.lang.reflect.code.analysis.SSA.transform(SSA.java:72)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:108)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



2x java.lang.NullPointerException: Cannot invoke "java.util.Deque.peek()"
because the return value of "java.util.Map.get(Object)" is null

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:197)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:146)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$0(SSA.java:76)

at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$4(SSA.java:74)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:116)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:56)

at java.base/java.lang.reflect.code.analysis.SSA.transform(SSA.java:72)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:108)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



2x java.lang.NullPointerException: Cannot invoke "java.util.Deque.peek()"
because the return value of "java.util.Map.get(Object)" is null

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:197)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:146)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$0(SSA.java:76)

at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$4(SSA.java:74)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:116)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:56)

at java.base/java.lang.reflect.code.analysis.SSA.transform(SSA.java:72)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:108)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.IllegalArgumentException: No mapping for input value:
java.lang.reflect.code.Op$Result at 604eb56f

at
java.base/java.lang.reflect.code.CopyContextImpl.getValue(CopyContextImpl.java:66)

at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)

at
java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)

at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)

at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)

at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)

at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)

at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)

at
java.base/java.lang.reflect.code.CopyContext.getValues(CopyContext.java:107)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.<init>(CoreOps.java:2006)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:2016)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:1992)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:835)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:798)

at TestSmallCorpus.lambda$transform$4(TestSmallCorpus.java:171)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:120)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:108)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.IllegalArgumentException: No mapping for input value:
java.lang.reflect.code.Op$Result at 56388812

at
java.base/java.lang.reflect.code.CopyContextImpl.getValue(CopyContextImpl.java:66)

at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)

at
java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)

at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)

at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)

at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)

at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)

at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)

at
java.base/java.lang.reflect.code.CopyContext.getValues(CopyContext.java:107)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.<init>(CoreOps.java:2006)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:2016)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:1992)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:835)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:798)

at TestSmallCorpus.lambda$transform$4(TestSmallCorpus.java:171)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:120)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:108)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.IllegalArgumentException: No mapping for input value:
java.lang.reflect.code.Op$Result at 559d81c8

at
java.base/java.lang.reflect.code.CopyContextImpl.getValue(CopyContextImpl.java:66)

at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)

at
java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)

at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)

at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)

at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)

at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)

at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)

at
java.base/java.lang.reflect.code.CopyContext.getValues(CopyContext.java:107)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.<init>(CoreOps.java:2006)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:2016)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:1992)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:835)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:798)

at TestSmallCorpus.lambda$transform$4(TestSmallCorpus.java:171)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:120)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:108)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)




first transform errors:

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


21x java.lang.NullPointerException

at java.base/java.util.Objects.requireNonNull(Objects.java:220)

at
java.base/java.lang.reflect.code.CopyContextImpl.getValueOrNull(CopyContextImpl.java:79)

at
java.base/java.lang.reflect.code.CopyContextImpl.getValue(CopyContextImpl.java:62)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$4(SSA.java:88)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:116)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:56)

at java.base/java.lang.reflect.code.analysis.SSA.transform(SSA.java:72)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:102)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



9x java.lang.NullPointerException



2x java.lang.NullPointerException: Cannot invoke "java.util.Deque.peek()"
because the return value of "java.util.Map.get(Object)" is null

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$variableToValue$9(SSA.java:218)

at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)

at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)

at
java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)

at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)

at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)

at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:622)

at
java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291)

at
java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:631)

at
java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:637)

at
java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:642)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:218)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:229)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:146)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$0(SSA.java:76)

at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$4(SSA.java:74)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:116)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:56)

at java.base/java.lang.reflect.code.analysis.SSA.transform(SSA.java:72)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:102)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.NullPointerException: Cannot invoke "java.util.Deque.peek()"
because the return value of "java.util.Map.get(Object)" is null

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$variableToValue$9(SSA.java:218)

at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)

at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)

at
java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1939)

at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)

at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)

at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:622)

at
java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291)

at
java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:631)

at
java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:637)

at
java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:642)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:218)

at
java.base/java.lang.reflect.code.analysis.SSA.variableToValue(SSA.java:146)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$0(SSA.java:76)

at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)

at
java.base/java.lang.reflect.code.analysis.SSA.lambda$transform$4(SSA.java:74)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:116)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:56)

at java.base/java.lang.reflect.code.analysis.SSA.transform(SSA.java:72)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:102)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.IllegalArgumentException: No mapping for input value:
java.lang.reflect.code.Op$Result at 63508251

at
java.base/java.lang.reflect.code.CopyContextImpl.getValue(CopyContextImpl.java:66)

at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)

at
java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)

at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)

at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)

at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)

at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)

at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)

at
java.base/java.lang.reflect.code.CopyContext.getValues(CopyContext.java:107)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.<init>(CoreOps.java:2006)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:2016)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:1992)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:835)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:798)

at TestSmallCorpus.lambda$transform$4(TestSmallCorpus.java:171)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:120)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:102)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.IllegalArgumentException: No mapping for input value:
java.lang.reflect.code.Op$Result at 3bec5b91

at
java.base/java.lang.reflect.code.CopyContextImpl.getValue(CopyContextImpl.java:66)

at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)

at
java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)

at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)

at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)

at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)

at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)

at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)

at
java.base/java.lang.reflect.code.CopyContext.getValues(CopyContext.java:107)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.<init>(CoreOps.java:2006)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:2016)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:1992)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:835)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:798)

at TestSmallCorpus.lambda$transform$4(TestSmallCorpus.java:171)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:120)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:102)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.IllegalArgumentException: No mapping for input value:
java.lang.reflect.code.Op$Result at 3e2e6c71

at
java.base/java.lang.reflect.code.CopyContextImpl.getValue(CopyContextImpl.java:66)

at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)

at
java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)

at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)

at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)

at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)

at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)

at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)

at
java.base/java.lang.reflect.code.CopyContext.getValues(CopyContext.java:107)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.<init>(CoreOps.java:2006)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:2016)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:1992)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:835)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:798)

at TestSmallCorpus.lambda$transform$4(TestSmallCorpus.java:171)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:120)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:102)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



1x java.lang.IllegalArgumentException: No mapping for input value:
java.lang.reflect.code.Op$Result at 3d5506c9

at
java.base/java.lang.reflect.code.CopyContextImpl.getValue(CopyContextImpl.java:66)

at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:212)

at
java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722)

at
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:556)

at
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:546)

at
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)

at
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:265)

at
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:702)

at
java.base/java.lang.reflect.code.CopyContext.getValues(CopyContext.java:107)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.<init>(CoreOps.java:2006)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:2016)

at
java.base/java.lang.reflect.code.op.CoreOps$VarAccessOp$VarStoreOp.transform(CoreOps.java:1992)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:835)

at java.base/java.lang.reflect.code.Block$Builder.op(Block.java:798)

at TestSmallCorpus.lambda$transform$4(TestSmallCorpus.java:171)

at
java.base/java.lang.reflect.code.OpTransformer.apply(OpTransformer.java:78)

at
java.base/java.lang.reflect.code.Block$Builder.transformBody(Block.java:761)

at java.base/java.lang.reflect.code.Body.transform(Body.java:545)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:111)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.<init>(CoreOps.java:104)

at
java.base/java.lang.reflect.code.op.CoreOps$FuncOp.transform(CoreOps.java:120)

at TestSmallCorpus.transform(TestSmallCorpus.java:167)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:102)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:73)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)



test TestSmallCorpus.testDoubleRoundtripStability(): failure

java.lang.AssertionError:

    passed: 5030

    not matching: 18

    first lift errors: 2196

    first lower errors: 770

    second transform errors: 665

    first transform errors: 37

 expected [true] but found [false]

at org.testng.Assert.fail(Assert.java:99)

at org.testng.Assert.failNotEquals(Assert.java:1037)

at org.testng.Assert.assertTrue(Assert.java:45)

at TestSmallCorpus.testDoubleRoundtripStability(TestSmallCorpus.java:87)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)

at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)

at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)

at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)

at
org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)

at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)

at
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)

at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)

at java.base/java.util.ArrayList.forEach(ArrayList.java:1597)

at org.testng.TestRunner.privateRun(TestRunner.java:764)

at org.testng.TestRunner.run(TestRunner.java:585)

at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)

at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)

at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)

at org.testng.SuiteRunner.run(SuiteRunner.java:286)

at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)

at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)

at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)

at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)

at org.testng.TestNG.runSuites(TestNG.java:1069)

at org.testng.TestNG.run(TestNG.java:1037)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:102)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)


===============================================

java/lang/reflect/code/bytecode/TestSmallCorpus.java

Total tests run: 1, Passes: 0, Failures: 1, Skips: 0

===============================================


----------System.err:(12/671)----------

java.lang.Exception: failures: 1

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:104)

at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:58)

at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)

at java.base/java.lang.reflect.Method.invoke(Method.java:641)

at
com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)

at java.base/java.lang.Thread.run(Thread.java:1575)


JavaTest Message: Test threw exception: java.lang.Exception: failures: 1

JavaTest Message: shutting down test


STATUS:Failed.`main' threw exception: java.lang.Exception: failures: 1

----------rerun:(26/2450)*----------

cd /Users/akash/githubsoftwared/babylon/JTwork/scratch && \\

HOME=/Users/akash \\

LC_CTYPE=UTF-8 \\

PATH=/bin:/usr/bin:/usr/sbin \\

CLASSPATH=/Users/akash/githubsoftwared/babylon/JTwork/classes/java/lang/reflect/code/bytecode/TestSmallCorpus.d:/Users/akash/githubsoftwared/babylon/test/jdk/java/lang/reflect/code/bytecode:/Users/akash/githubsoftwared/jtreg/build/images/jtreg/lib/testng-7.3.0.jar:/Users/akash/githubsoftwared/jtreg/build/images/jtreg/lib/guice-5.1.0.jar:/Users/akash/githubsoftwared/jtreg/build/images/jtreg/lib/jcommander-1.82.jar:/Users/akash/githubsoftwared/jtreg/build/images/jtreg/lib/javatest.jar:/Users/akash/githubsoftwared/jtreg/build/images/jtreg/lib/jtreg.jar
\\

    /Users/akash/githubsoftwared/babylon/./build/macosx-aarch64-server-release/jdk/bin/java
\\

        -Dtest.vm.opts='-ea -esa' \\

        -Dtest.tool.vm.opts='-J-ea -J-esa' \\

        -Dtest.compiler.opts= \\

        -Dtest.java.opts= \\

        -Dtest.jdk=/Users/akash/githubsoftwared/babylon/./build/macosx-aarch64-server-release/jdk
\\

        -Dcompile.jdk=/Users/akash/githubsoftwared/babylon/./build/macosx-aarch64-server-release/jdk
\\

        -Dtest.timeout.factor=1.0 \\

        -Dtest.root=/Users/akash/githubsoftwared/babylon/test/jdk \\

        -Dtest.name=java/lang/reflect/code/bytecode/TestSmallCorpus.java \\

        -Dtest.file=/Users/akash/githubsoftwared/babylon/test/jdk/java/lang/reflect/code/bytecode/TestSmallCorpus.java
\\

        -Dtest.src=/Users/akash/githubsoftwared/babylon/test/jdk/java/lang/reflect/code/bytecode
\\

        -Dtest.src.path=/Users/akash/githubsoftwared/babylon/test/jdk/java/lang/reflect/code/bytecode
\\

        -Dtest.classes=/Users/akash/githubsoftwared/babylon/JTwork/classes/java/lang/reflect/code/bytecode/TestSmallCorpus.d
\\

        -Dtest.class.path=/Users/akash/githubsoftwared/babylon/JTwork/classes/java/lang/reflect/code/bytecode/TestSmallCorpus.d
\\

        -Dtest.class.path.prefix=/Users/akash/githubsoftwared/babylon/JTwork/classes/java/lang/reflect/code/bytecode/TestSmallCorpus.d:/Users/akash/githubsoftwared/babylon/test/jdk/java/lang/reflect/code/bytecode
\\

        -Dtest.enable.preview=true \\

        -ea \\

        -esa \\

        --enable-preview \\

        com.sun.javatest.regtest.agent.MainWrapper
/Users/akash/githubsoftwared/babylon/JTwork/java/lang/reflect/code/bytecode/TestSmallCorpus.d/testng.0.jta
java/lang/reflect/code/bytecode/TestSmallCorpus.java false TestSmallCorpus

result: Failed. Execution failed: `main' threw exception:
java.lang.Exception: failures: 1



test result: Failed. Execution failed: `main' threw exception:
java.lang.Exception: failures: 1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/babylon-dev/attachments/20240421/38e9e82d/attachment-0001.htm>


More information about the babylon-dev mailing list