reading Blort.class...
method <init> ()V
first 0007
block 0000
pred 0005
Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any
>}(java.lang.Object.<init>:()V catch) . <- v0:NffffLBlort;
next 0006
block 0005
pred 0007
Blort.java:2@0000: move-param-object(0) v0:"this"NffffLBlort; <- .
Blort.java:2@0000: goto . <- .
next 0000
block 0006
pred 0000
Blort.java:2@0004: return-void . <- .
returns
block 0007
@????: goto . <- .
next 0005
method testNumeric ()V
first 0030
block 0000
pred 002e
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 002f
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 002e
pred 0030
Blort.java:10@0000: move-param-object(0) v4:"this"LBlort; <- .
Blort.java:10@0000: goto . <- .
next 0000
block 002f
pred 001a
Blort.java:19@002d: return-void . <- .
returns
block 0030
@????: const-int(10) v3:I=10 <- .
@????: goto . <- .
next 002e
method testStrings ()V
first 0046
block 0000
pred 0032
Blort.java:22@0000: new-instance(java.lang.StringBuilder catch) . <- .
next 0039
block 0003
pred 0039
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 003a
block 000b
pred 003a
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 003c
block 0012
pred 003c
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 003e
block 0019
pred 003e
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 0040
block 0020
pred 0040
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 0042
block 0027
pred 0042
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 0044
block 002e
pred 0044
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 0033
block 0032
pred 0046
Blort.java:22@0000: move-param-object(0) v2:"this"LBlort; <- .
Blort.java:22@0000: goto . <- .
next 0000
block 0033
pred 002e
Blort.java:30@0032: return-void . <- .
returns
block 0039
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 003a
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 003c
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 003e
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 0040
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 0042
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 0044
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 0046
@????: goto . <- .
next 0032
method testCaughtStrings ()V
first 0056
block 0000
pred 0040
Blort.java:33@0000: new-instance(java.lang.StringBuilder catch) . <- .
next 0047
block 0003
pred 0047
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 0048
block 000b
pred 0048
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 004a
block 0012
pred 004a
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 004c
block 0019
pred 004c
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 0057
next 004e *
block 0020
pred 004e
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 0057
next 0023 *
block 0023
pred 0020
Blort.java:40@0025: const-object("foo" catch java.lang.Throwable) . <- .
next 0057
next 0050 *
block 0027
pred 0050
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 0057
next 002a *
block 002a
pred 0027
Blort.java:41@002c: const-object("foo" catch java.lang.Throwable) . <- .
next 0057
next 0052 *
block 002e
pred 0052
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 0057
next 0041 *
block 0035
pred 0057
@????: 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 0054
block 0039
pred 0054
Blort.java:43@0039: const-object("foo" catch) . <- .
next 0055
block 003b
pred 0055
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 0041
block 0040
pred 0056
Blort.java:33@0000: move-param-object(0) v4:"this"LBlort; <- .
Blort.java:33@0000: goto . <- .
next 0000
block 0041
pred 002e
pred 003b
Blort.java:45@003e: return-void . <- .
returns
block 0047
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 0048
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 004a
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 004c
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 004e
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 0050
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 0052
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 0054
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 0055
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 0056
@????: goto . <- .
next 0040
block 0057
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 0003
block 0000
pred 0001
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 0002
block 0001
pred 0003
Blort.java:49@0000: move-param-object(0) v6:"this"LBlort; <- .
Blort.java:49@0000: goto . <- .
next 0000
block 0002
pred 0000
Blort.java:57@001a: return-void . <- .
returns
block 0003
@????: goto . <- .
next 0001
method testNull (Ljava/lang/Object;)V
first 0015
block 0000
pred 000c
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 000d
block 000c
pred 0015
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 000d
pred 0005
Blort.java:63@000c: return-void . <- .
returns
block 0015
@????: const-object-nothrow(null) v0:<null>=null <- .
@????: goto . <- .
next 000c