| reading Blort.class... |
| method <init> ()V |
| first 000c |
| block 0000 |
| pred 000a |
| Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any |
| >}(java.lang.Object.<init>:()V catch) . <- v0:NffffLBlort; |
| next 000b |
| block 000a |
| pred 000c |
| Blort.java:2@0000: move-param-object(0) v0:"this"NffffLBlort; <- . |
| Blort.java:2@0000: goto . <- . |
| next 0000 |
| block 000b |
| pred 0000 |
| Blort.java:4@0004: return-void . <- . |
| returns |
| block 000c |
| @????: goto . <- . |
| next 000a |
| |
| method testNumeric ()V |
| first 005e |
| block 0000 |
| pred 005c |
| Blort.java:10@0000: const-int(10) v0:I=10 <- . |
| @????: mark-local-int . <- v0:"foo"I |
| Blort.java:12@0003: const-int(0) v1:I=0 <- . |
| @????: mark-local-int . <- v1:"i"I |
| Blort.java:12@0004: goto . <- . |
| next 0005 |
| block 0005 |
| pred 0000 |
| pred 000b |
| Blort.java:12@0008: if-ge-int . <- v1:I v3:I=10 |
| next 000b * |
| next 0018 |
| block 000b |
| pred 0005 |
| Blort.java:13@000f: mul-const-int(10) v2:I <- v1:I |
| Blort.java:13@0010: add-int v0:I <- v0:I v2:I |
| @????: mark-local-int . <- v0:"foo"I |
| Blort.java:12@0012: add-const-int(1) v1:"i"I <- v1:I |
| Blort.java:12@0015: goto . <- . |
| next 0005 |
| block 0018 |
| pred 0005 |
| Blort.java:16@0018: const-int(0) v1:I=0 <- . |
| @????: mark-local-int . <- v1:"i"I |
| Blort.java:16@0019: goto . <- . |
| next 001a |
| block 001a |
| pred 0018 |
| pred 0020 |
| Blort.java:16@001d: if-ge-int . <- v1:I v3:I=10 |
| next 0020 * |
| next 005d |
| block 0020 |
| pred 001a |
| Blort.java:17@0024: add-const-int(10) v2:I <- v1:I |
| Blort.java:17@0025: add-int v0:I <- v0:I v2:I |
| @????: mark-local-int . <- v0:"foo"I |
| Blort.java:16@0027: add-const-int(1) v1:"i"I <- v1:I |
| Blort.java:16@002a: goto . <- . |
| next 001a |
| block 005c |
| pred 005e |
| Blort.java:10@0000: move-param-object(0) v4:"this"LBlort; <- . |
| Blort.java:10@0000: goto . <- . |
| next 0000 |
| block 005d |
| pred 001a |
| Blort.java:19@002d: return-void . <- . |
| returns |
| block 005e |
| @????: const-int(10) v3:I=10 <- . |
| @????: goto . <- . |
| next 005c |
| |
| method testStrings ()V |
| first 0078 |
| block 0000 |
| pred 0064 |
| Blort.java:22@0000: new-instance(java.lang.StringBuilder catch) . <- . |
| next 006b |
| block 0003 |
| pred 006b |
| Blort.java:22@0004: Rop{invoke-direct . <- Ljava/lang/StringBuilder; call thr |
| ows <any>}(java.lang.StringBuilder.<init>:()V catch) . <- v0:N0000Ljava/lang/ |
| StringBuilder; |
| next 0007 |
| block 0007 |
| pred 0003 |
| @????: mark-local-object . <- v0:"sb"Ljava/lang/StringBuilder; |
| Blort.java:24@0009: const-object("foo" catch) . <- . |
| next 006c |
| block 000b |
| pred 006c |
| Blort.java:24@000b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v1:Lj |
| ava/lang/String;="foo" |
| next 000e |
| block 000e |
| pred 000b |
| Blort.java:25@0010: const-object("foo" catch) . <- . |
| next 006e |
| block 0012 |
| pred 006e |
| Blort.java:25@0012: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v1:Lj |
| ava/lang/String;="foo" |
| next 0015 |
| block 0015 |
| pred 0012 |
| Blort.java:26@0017: const-object("foo" catch) . <- . |
| next 0070 |
| block 0019 |
| pred 0070 |
| Blort.java:26@0019: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v1:Lj |
| ava/lang/String;="foo" |
| next 001c |
| block 001c |
| pred 0019 |
| Blort.java:27@001e: const-object("foo" catch) . <- . |
| next 0072 |
| block 0020 |
| pred 0072 |
| Blort.java:27@0020: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v1:Lj |
| ava/lang/String;="foo" |
| next 0023 |
| block 0023 |
| pred 0020 |
| Blort.java:28@0025: const-object("foo" catch) . <- . |
| next 0074 |
| block 0027 |
| pred 0074 |
| Blort.java:28@0027: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v1:Lj |
| ava/lang/String;="foo" |
| next 002a |
| block 002a |
| pred 0027 |
| Blort.java:29@002c: const-object("foo" catch) . <- . |
| next 0076 |
| block 002e |
| pred 0076 |
| Blort.java:29@002e: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v1:Lj |
| ava/lang/String;="foo" |
| next 0065 |
| block 0064 |
| pred 0078 |
| Blort.java:22@0000: move-param-object(0) v2:"this"LBlort; <- . |
| Blort.java:22@0000: goto . <- . |
| next 0000 |
| block 0065 |
| pred 002e |
| Blort.java:30@0032: return-void . <- . |
| returns |
| block 006b |
| pred 0000 |
| Blort.java:22@0000: Rop{move-result-pseudo N0000Ljava/lang/StringBuilder; <- |
| . flows} v0:N0000Ljava/lang/StringBuilder; <- . |
| Blort.java:22@0000: goto . <- . |
| next 0003 |
| block 006c |
| pred 0007 |
| Blort.java:24@0009: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:24@0009: goto . <- . |
| next 000b |
| block 006e |
| pred 000e |
| Blort.java:25@0010: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:25@0010: goto . <- . |
| next 0012 |
| block 0070 |
| pred 0015 |
| Blort.java:26@0017: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:26@0017: goto . <- . |
| next 0019 |
| block 0072 |
| pred 001c |
| Blort.java:27@001e: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:27@001e: goto . <- . |
| next 0020 |
| block 0074 |
| pred 0023 |
| Blort.java:28@0025: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:28@0025: goto . <- . |
| next 0027 |
| block 0076 |
| pred 002a |
| Blort.java:29@002c: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:29@002c: goto . <- . |
| next 002e |
| block 0078 |
| @????: goto . <- . |
| next 0064 |
| |
| method testCaughtStrings ()V |
| first 0094 |
| block 0000 |
| pred 007e |
| Blort.java:33@0000: new-instance(java.lang.StringBuilder catch) . <- . |
| next 0085 |
| block 0003 |
| pred 0085 |
| Blort.java:33@0004: Rop{invoke-direct . <- Ljava/lang/StringBuilder; call thr |
| ows <any>}(java.lang.StringBuilder.<init>:()V catch) . <- v0:N0000Ljava/lang/ |
| StringBuilder; |
| next 0007 |
| block 0007 |
| pred 0003 |
| @????: mark-local-object . <- v0:"sb"Ljava/lang/StringBuilder; |
| Blort.java:35@0009: const-object("foo" catch) . <- . |
| next 0086 |
| block 000b |
| pred 0086 |
| Blort.java:35@000b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj |
| ava/lang/String;="foo" |
| next 000e |
| block 000e |
| pred 000b |
| Blort.java:36@0010: const-object("foo" catch) . <- . |
| next 0088 |
| block 0012 |
| pred 0088 |
| Blort.java:36@0012: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj |
| ava/lang/String;="foo" |
| next 0015 |
| block 0015 |
| pred 0012 |
| Blort.java:37@0017: const-object("foo" catch) . <- . |
| next 008a |
| block 0019 |
| pred 008a |
| Blort.java:37@0019: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj |
| ava/lang/String;="foo" |
| next 001d |
| block 001d |
| pred 0019 |
| Blort.java:39@001e: const-object("foo" catch java.lang.Throwable) . <- . |
| next 0095 |
| next 008c * |
| block 0020 |
| pred 008c |
| Blort.java:39@0020: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/ |
| StringBuilder; v2:Ljava/lang/String;="foo" |
| next 0095 |
| next 0023 * |
| block 0023 |
| pred 0020 |
| Blort.java:40@0025: const-object("foo" catch java.lang.Throwable) . <- . |
| next 0095 |
| next 008e * |
| block 0027 |
| pred 008e |
| Blort.java:40@0027: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/ |
| StringBuilder; v2:Ljava/lang/String;="foo" |
| next 0095 |
| next 002a * |
| block 002a |
| pred 0027 |
| Blort.java:41@002c: const-object("foo" catch java.lang.Throwable) . <- . |
| next 0095 |
| next 0090 * |
| block 002e |
| pred 0090 |
| Blort.java:41@002e: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l |
| ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str |
| ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/ |
| StringBuilder; v2:Ljava/lang/String;="foo" |
| next 0095 |
| next 007f * |
| block 0035 |
| pred 0095 |
| @????: mark-local-object . <- v1:"tr"Ljava/lang/Throwable; |
| Blort.java:43@0036: get-static-object(java.lang.System.out:Ljava/io/PrintStre |
| am; catch) . <- . |
| next 0092 |
| block 0039 |
| pred 0092 |
| Blort.java:43@0039: const-object("foo" catch) . <- . |
| next 0093 |
| block 003b |
| pred 0093 |
| Blort.java:43@003b: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ |
| String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V |
| catch) . <- v2:Ljava/io/PrintStream; v3:Ljava/lang/String;="foo" |
| next 007f |
| block 007e |
| pred 0094 |
| Blort.java:33@0000: move-param-object(0) v4:"this"LBlort; <- . |
| Blort.java:33@0000: goto . <- . |
| next 0000 |
| block 007f |
| pred 002e |
| pred 003b |
| Blort.java:45@003e: return-void . <- . |
| returns |
| block 0085 |
| pred 0000 |
| Blort.java:33@0000: Rop{move-result-pseudo N0000Ljava/lang/StringBuilder; <- |
| . flows} v0:N0000Ljava/lang/StringBuilder; <- . |
| Blort.java:33@0000: goto . <- . |
| next 0003 |
| block 0086 |
| pred 0007 |
| Blort.java:35@0009: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:35@0009: goto . <- . |
| next 000b |
| block 0088 |
| pred 000e |
| Blort.java:36@0010: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:36@0010: goto . <- . |
| next 0012 |
| block 008a |
| pred 0015 |
| Blort.java:37@0017: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:37@0017: goto . <- . |
| next 0019 |
| block 008c |
| pred 001d |
| Blort.java:39@001e: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:39@001e: goto . <- . |
| next 0020 |
| block 008e |
| pred 0023 |
| Blort.java:40@0025: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:40@0025: goto . <- . |
| next 0027 |
| block 0090 |
| pred 002a |
| Blort.java:41@002c: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:41@002c: goto . <- . |
| next 002e |
| block 0092 |
| pred 0035 |
| Blort.java:43@0036: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} |
| v2:Ljava/io/PrintStream; <- . |
| Blort.java:43@0036: goto . <- . |
| next 0039 |
| block 0093 |
| pred 0039 |
| Blort.java:43@0039: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v3: |
| Ljava/lang/String;="foo" <- . |
| Blort.java:43@0039: goto . <- . |
| next 003b |
| block 0094 |
| @????: goto . <- . |
| next 007e |
| block 0095 |
| pred 001d |
| pred 0020 |
| pred 0023 |
| pred 0027 |
| pred 002a |
| pred 002e |
| Blort.java:42@0035: Rop{move-exception Ljava/lang/Throwable; <- . flows} v1:L |
| java/lang/Throwable; <- . |
| @????: goto . <- . |
| next 0035 |
| |
| method testLocalVars ()V |
| first 0004 |
| block 0000 |
| pred 0002 |
| Blort.java:49@0000: const-int(10) v3:I=10 <- . |
| @????: mark-local-int . <- v3:"i"I |
| Blort.java:50@0003: const-int(10) v4:I=10 <- . |
| @????: mark-local-int . <- v4:"j"I |
| Blort.java:51@0006: const-int(10) v5:I=10 <- . |
| @????: mark-local-int . <- v5:"k"I |
| Blort.java:52@0009: const-int(10) v0:I=10 <- . |
| @????: mark-local-int . <- v0:"a"I |
| Blort.java:53@000d: const-int(10) v1:I=10 <- . |
| @????: mark-local-int . <- v1:"b"I |
| Blort.java:54@0011: const-int(10) v2:I=10 <- . |
| @????: mark-local-int . <- v2:"c"I |
| Blort.java:56@0018: mul-const-int(10) v3:I=100 <- v3:I |
| @????: mark-local-int . <- v3:"i"I=100 |
| Blort.java:57@001a: goto . <- . |
| next 0003 |
| block 0002 |
| pred 0004 |
| Blort.java:49@0000: move-param-object(0) v6:"this"LBlort; <- . |
| Blort.java:49@0000: goto . <- . |
| next 0000 |
| block 0003 |
| pred 0000 |
| Blort.java:57@001a: return-void . <- . |
| returns |
| block 0004 |
| @????: goto . <- . |
| next 0002 |
| |
| method testNull (Ljava/lang/Object;)V |
| first 0021 |
| block 0000 |
| pred 0018 |
| Blort.java:60@0002: Rop{invoke-virtual . <- Ljava/lang/Object; Ljava/lang/Obj |
| ect; call throws <any>}(java.lang.Object.equals:(Ljava/lang/Object;)Z catch) |
| . <- v2:Ljava/lang/Object; v0:<null>=null |
| next 0005 |
| block 0005 |
| pred 0000 |
| Blort.java:61@0008: Rop{invoke-virtual . <- Ljava/lang/Object; Ljava/lang/Obj |
| ect; call throws <any>}(java.lang.Object.equals:(Ljava/lang/Object;)Z catch) |
| . <- v2:Ljava/lang/Object; v0:<null>=null |
| next 0019 |
| block 0018 |
| pred 0021 |
| Blort.java:60@0000: move-param-object(0) v1:"this"LBlort; <- . |
| Blort.java:60@0000: move-param-object(1) v2:"a"Ljava/lang/Object; <- . |
| Blort.java:60@0000: goto . <- . |
| next 0000 |
| block 0019 |
| pred 0005 |
| Blort.java:63@000c: return-void . <- . |
| returns |
| block 0021 |
| @????: const-object-nothrow(null) v0:<null>=null <- . |
| @????: goto . <- . |
| next 0018 |