文本文件  |  346行  |  8.06 KB

reading Blort.class...
method <init> ()V
first 000c
block 000a
  pred 000c
  live in:{}
  Blort.java:17@0000: move-param-object(0) v0:NffffLBlort; <- .
  Blort.java:17@0000: goto . <- .
  next 0000
  live out:{}
block 0000
  pred 000a
  live in:{}
  Blort.java:17@0000: move-object v1:NffffLBlort; <- v0:NffffLBlort;
  Blort.java:17@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <an
  y>}(java.lang.Object.<init>:()V catch) . <- v1:NffffLBlort;
  next 0004
  live out:{}
block 0004
  pred 0000
  live in:{}
  Blort.java:17@0004: goto . <- .
  next 000b
  live out:{}
block 000b
  pred 0004
  live in:{}
  Blort.java:17@0004: return-void . <- .
  returns
  live out:{}
block 000c
  live in:{}
  @????: goto . <- .
  next 000a
  live out:{}

method phiTest ()I
first 0048
block 0046
  pred 0048
  live in:{}
  Blort.java:21@0000: move-param-object(0) v0:LBlort; <- .
  Blort.java:21@0000: goto . <- .
  next 0000
  live out:{}
block 0000
  pred 0046
  live in:{}
  Blort.java:21@0000: const-int(1) v4:I=1 <- .
  Blort.java:21@0001: move-int v1:I <- v4:I=1
  Blort.java:22@0002: const-int(1) v4:I=1 <- .
  Blort.java:22@0003: move-int v2:I <- v4:I=1
  Blort.java:23@0004: const-int(0) v4:I=0 <- .
  Blort.java:23@0005: move-int v3:I <- v4:I=0
  Blort.java:23@0005: goto . <- .
  next 0049
  live out:{}
block 0006
  pred 0049
  live in:{}
  Blort.java:25@0006: move-int v4:I <- v3:I
  Blort.java:25@0007: const-int(100) v5:I=100 <- .
  Blort.java:25@0009: if-ge-int . <- v4:I v5:I=100
  next 000c *
  next 0022
  live out:{}
block 000c
  pred 0006
  live in:{}
  Blort.java:26@000c: move-int v4:I <- v2:I
  Blort.java:26@000d: const-int(20) v5:I=20 <- .
  Blort.java:26@000f: if-ge-int . <- v4:I v5:I=20
  next 0012 *
  next 001a
  live out:{}
block 0012
  pred 000c
  live in:{}
  Blort.java:27@0012: move-int v4:I <- v1:I
  Blort.java:27@0013: move-int v2:I <- v4:I
  Blort.java:28@0014: add-const-int(1) v3:I <- v3:I
  Blort.java:28@0017: goto . <- .
  next 0049
  live out:{}
block 001a
  pred 000c
  live in:{}
  Blort.java:30@001a: move-int v4:I <- v3:I
  Blort.java:30@001b: move-int v2:I <- v4:I
  Blort.java:31@001c: add-const-int(2) v3:I <- v3:I
  Blort.java:31@001f: goto . <- .
  next 0049
  live out:{}
block 0022
  pred 0006
  live in:{}
  Blort.java:35@0022: move-int v4:I <- v2:I
  Blort.java:35@0023: move-int v0:I <- v4:I
  Blort.java:35@0023: goto . <- .
  next 0047
  live out:{}
block 0047
  pred 0022
  live in:{}
  Blort.java:35@0023: return-int . <- v0:I
  returns
  live out:{}
block 0048
  live in:{}
  @????: goto . <- .
  next 0046
  live out:{}
block 0049
  pred 0000
  pred 0012
  pred 001a
  live in:{}
  @????: phi v5:V <- .
  @????: phi v4:V <- .
  @????: phi v3:V <- .
  @????: phi v2:V <- .
  @????: goto . <- .
  next 0006
  live out:{}

method noVars ()V
first 0004
block 0002
  pred 0004
  live in:{}
  Blort.java:42@0000: goto . <- .
  next 0000
  live out:{}
block 0000
  pred 0002
  live in:{}
  Blort.java:42@0000: goto . <- .
  next 0003
  live out:{}
block 0003
  pred 0000
  live in:{}
  Blort.java:42@0000: return-void . <- .
  returns
  live out:{}
block 0004
  live in:{}
  @????: goto . <- .
  next 0002
  live out:{}

method getOption (I)Ljava/lang/Object;
first 0098
block 008c
  pred 0098
  live in:{}
  Blort.java:51@0000: move-param-object(0) v0:LBlort; <- .
  Blort.java:51@0000: move-param-int(1) v1:I <- .
  Blort.java:51@0000: goto . <- .
  next 0000
  live out:{}
block 0093
  pred 0000
  live in:{}
  Blort.java:51@0001: Rop{move-result-pseudo Ljava/lang/Object; <- . flows} v3:
  Ljava/lang/Object; <- .
  Blort.java:51@0001: goto . <- .
  next 0004
  live out:{}
block 0000
  pred 008c
  live in:{}
  Blort.java:51@0000: move-object v3:LBlort; <- v0:LBlort;
  Blort.java:51@0001: get-field-object(Blort.fd:Ljava/lang/Object; catch) . <- 
  v3:LBlort;
  next 0093
  live out:{}
block 0004
  pred 0093
  live in:{}
  Blort.java:51@0004: if-nez-object . <- v3:Ljava/lang/Object;
  next 0007 *
  next 0011
  live out:{}
block 0094
  pred 0007
  live in:{}
  Blort.java:52@0007: Rop{move-result-pseudo N0007Ljava/lang/RuntimeException; 
  <- . flows} v3:N0007Ljava/lang/RuntimeException; <- .
  Blort.java:52@0007: goto . <- .
  next 000a
  live out:{}
block 0007
  pred 0004
  live in:{}
  Blort.java:52@0007: new-instance(java.lang.RuntimeException catch) . <- .
  next 0094
  live out:{}
block 0095
  pred 000a
  live in:{}
  Blort.java:52@000b: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v5:
  Ljava/lang/String;="socket not created" <- .
  Blort.java:52@000b: goto . <- .
  next 000d
  live out:{}
block 000a
  pred 0094
  live in:{}
  Blort.java:52@000a: move-object v6:N0007Ljava/lang/RuntimeException; <- v3:N0
  007Ljava/lang/RuntimeException;
  Blort.java:52@000a: move-object v3:N0007Ljava/lang/RuntimeException; <- v6:N0
  007Ljava/lang/RuntimeException;
  Blort.java:52@000a: move-object v4:N0007Ljava/lang/RuntimeException; <- v6:N0
  007Ljava/lang/RuntimeException;
  Blort.java:52@000b: const-object("socket not created" catch) . <- .
  next 0095
  live out:{}
block 000d
  pred 0095
  live in:{}
  Blort.java:52@000d: Rop{invoke-direct . <- Ljava/lang/RuntimeException; Ljava
  /lang/String; call throws <any>}(java.lang.RuntimeException.<init>:(Ljava/lan
  g/String;)V catch) . <- v4:N0007Ljava/lang/RuntimeException; v5:Ljava/lang/St
  ring;="socket not created"
  next 0010
  live out:{}
block 0010
  pred 000d
  live in:{}
  Blort.java:52@0010: throw(catch) . <- v3:Ljava/lang/RuntimeException;
  returns
  live out:{}
block 0011
  pred 0004
  live in:{}
  Blort.java:55@0011: const-int(0) v3:I=0 <- .
  Blort.java:55@0012: move-int v2:I <- v3:I=0
  Blort.java:56@0013: move-int v3:I <- v1:I
  Blort.java:56@0014: switch({1, 2}) . <- v3:I
  next 0030
  next 0030
  next 0039 *
  live out:{}
block 0096
  pred 0030
  live in:{}
  Blort.java:60@0030: Rop{move-result-pseudo N0030Ljava/lang/Integer; <- . flow
  s} v3:N0030Ljava/lang/Integer; <- .
  Blort.java:60@0030: goto . <- .
  next 0033
  live out:{}
block 0030
  pred 0011
  live in:{}
  Blort.java:60@0030: new-instance(java.lang.Integer catch) . <- .
  next 0096
  live out:{}
block 0033
  pred 0096
  live in:{}
  Blort.java:60@0033: move-object v6:N0030Ljava/lang/Integer; <- v3:N0030Ljava/
  lang/Integer;
  Blort.java:60@0033: move-object v3:N0030Ljava/lang/Integer; <- v6:N0030Ljava/
  lang/Integer;
  Blort.java:60@0033: move-object v4:N0030Ljava/lang/Integer; <- v6:N0030Ljava/
  lang/Integer;
  Blort.java:60@0034: move-int v5:I <- v2:I
  Blort.java:60@0035: Rop{invoke-direct . <- Ljava/lang/Integer; I call throws 
  <any>}(java.lang.Integer.<init>:(I)V catch) . <- v4:N0030Ljava/lang/Integer; 
  v5:I
  next 0038
  live out:{}
block 0038
  pred 0033
  live in:{}
  Blort.java:60@0038: move-object v0:Ljava/lang/Integer; <- v3:Ljava/lang/Integ
  er;
  Blort.java:60@0038: goto . <- .
  next 008d
  live out:{}
block 0039
  pred 0011
  live in:{}
  Blort.java:63@0039: move-int v3:I <- v2:I
  Blort.java:63@003a: if-eqz-int . <- v3:I
  next 003d *
  next 0041
  live out:{}
block 003d
  pred 0039
  live in:{}
  Blort.java:63@003d: const-int(1) v3:I=1 <- .
  Blort.java:63@003e: goto . <- .
  next 0042
  live out:{}
block 0041
  pred 0039
  live in:{}
  Blort.java:63@0041: const-int(0) v3:I=0 <- .
  Blort.java:63@0041: goto . <- .
  next 0042
  live out:{}
block 0097
  pred 0042
  live in:{}
  Blort.java:63@0042: Rop{move-result Ljava/lang/Boolean; <- . flows} v3:Ljava/
  lang/Boolean; <- .
  Blort.java:63@0042: goto . <- .
  next 0045
  live out:{}
block 0042
  pred 003d
  pred 0041
  live in:{}
  @????: phi v3:V <- .
  Blort.java:63@0042: Rop{invoke-static . <- I call throws <any>}(java.lang.Boo
  lean.valueOf:(Z)Ljava/lang/Boolean; catch) . <- v3:I
  next 0097
  live out:{}
block 0045
  pred 0097
  live in:{}
  Blort.java:63@0045: move-object v0:Ljava/lang/Boolean; <- v3:Ljava/lang/Boole
  an;
  Blort.java:63@0045: goto . <- .
  next 008d
  live out:{}
block 008d
  pred 0038
  pred 0045
  live in:{}
  @????: phi v6:V <- .
  @????: phi v5:V <- .
  @????: phi v4:V <- .
  @????: phi v3:V <- .
  @????: phi v0:V <- .
  Blort.java:63@0045: return-object . <- v0:Ljava/lang/Object;
  returns
  live out:{}
block 0098
  live in:{}
  @????: goto . <- .
  next 008c
  live out:{}