public class micro.benchmarks.StringBenchmark$BenchState
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: micro.benchmarks.StringBenchmark$BenchState
  super_class: java.lang.Object
{
  char ch1;
    descriptor: C
    flags: (0x0000) 

  java.lang.String ch1string;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  char ch2;
    descriptor: C
    flags: (0x0000) 

  java.lang.String s1;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String s2;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String longString;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String lorem;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String loremLastChar;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String smallLorem;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String largeLorem;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  char[] smallCharArray;
    descriptor: [C
    flags: (0x0000) 

  char[] largeCharArray;
    descriptor: [C
    flags: (0x0000) 

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // micro.benchmarks.StringBenchmark$BenchState this
         0: .line 50
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            bipush 81
            putfield micro.benchmarks.StringBenchmark$BenchState.ch1:C
         2: .line 43
            aload 0 /* this */
            ldc "Q"
            putfield micro.benchmarks.StringBenchmark$BenchState.ch1string:Ljava/lang/String;
         3: .line 44
            aload 0 /* this */
            bipush 88
            putfield micro.benchmarks.StringBenchmark$BenchState.ch2:C
         4: .line 45
            aload 0 /* this */
            ldc "Qu"
            putfield micro.benchmarks.StringBenchmark$BenchState.s1:Ljava/lang/String;
         5: .line 46
            aload 0 /* this */
            ldc "ne"
            putfield micro.benchmarks.StringBenchmark$BenchState.s2:Ljava/lang/String;
         6: .line 59
            aload 0 /* this */
            ldc "Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
            putfield micro.benchmarks.StringBenchmark$BenchState.lorem:Ljava/lang/String;
         7: .line 60
            aload 0 /* this */
            ldc "Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea commodi consequat. Quis aute iure reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint obcaecat cupiditat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum?"
            putfield micro.benchmarks.StringBenchmark$BenchState.loremLastChar:Ljava/lang/String;
         8: .line 63
            aload 0 /* this */
            aload 0 /* this */
            getfield micro.benchmarks.StringBenchmark$BenchState.lorem:Ljava/lang/String;
            iconst_0
            bipush 13
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield micro.benchmarks.StringBenchmark$BenchState.smallLorem:Ljava/lang/String;
         9: .line 64
            aload 0 /* this */
            aload 0 /* this */
            getfield micro.benchmarks.StringBenchmark$BenchState.lorem:Ljava/lang/String;
            aload 0 /* this */
            getfield micro.benchmarks.StringBenchmark$BenchState.lorem:Ljava/lang/String;
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
            putfield micro.benchmarks.StringBenchmark$BenchState.largeLorem:Ljava/lang/String;
        10: .line 66
            aload 0 /* this */
            aload 0 /* this */
            getfield micro.benchmarks.StringBenchmark$BenchState.lorem:Ljava/lang/String;
            iconst_0
            bipush 13
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            putfield micro.benchmarks.StringBenchmark$BenchState.smallCharArray:[C
        11: .line 67
            aload 0 /* this */
            aload 0 /* this */
            getfield micro.benchmarks.StringBenchmark$BenchState.lorem:Ljava/lang/String;
            aload 0 /* this */
            getfield micro.benchmarks.StringBenchmark$BenchState.lorem:Ljava/lang/String;
            invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.toCharArray:()[C
            putfield micro.benchmarks.StringBenchmark$BenchState.largeCharArray:[C
        12: .line 51
            ldc "ab"
            astore 1 /* str */
        start local 1 // java.lang.String str
        13: .line 52
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        14: goto 17
        15: .line 53
      StackMap locals: micro.benchmarks.StringBenchmark$BenchState java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* str */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* str */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* str */
        16: .line 52
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 2 /* i */
            bipush 15
            if_icmplt 15
        end local 2 // int i
        18: .line 55
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* str */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "xx"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield micro.benchmarks.StringBenchmark$BenchState.longString:Ljava/lang/String;
        19: .line 56
            return
        end local 1 // java.lang.String str
        end local 0 // micro.benchmarks.StringBenchmark$BenchState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lmicro/benchmarks/StringBenchmark$BenchState;
           13   20     1   str  Ljava/lang/String;
           14   18     2     i  I
}
SourceFile: "StringBenchmark.java"
NestHost: micro.benchmarks.StringBenchmark
InnerClasses:
  public BenchState = micro.benchmarks.StringBenchmark$BenchState of micro.benchmarks.StringBenchmark
    RuntimeVisibleAnnotations: 
      org.openjdk.jmh.annotations.State(value = org.openjdk.jmh.annotations.Scope.Benchmark:Lorg/openjdk/jmh/annotations/Scope;)