A bit more debug statements jdk8
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sun, 10 Aug 2014 08:57:22 +0200
branchjdk8
changeset 1657c90c5a9b1900
parent 1656 589affbf39a2
child 1658 3e5087bd13c1
A bit more debug statements
rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeParser.java
rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java
     1.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeParser.java	Sun Aug 10 08:07:11 2014 +0200
     1.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeParser.java	Sun Aug 10 08:57:22 2014 +0200
     1.3 @@ -1231,8 +1231,8 @@
     1.4              }
     1.5          }
     1.6          
     1.7 -        public String getBootMethod(int indx) {
     1.8 -            return bootMethods != null ? bootMethods[indx].toString() : null;
     1.9 +        public BootMethodData getBootMethod(int indx) {
    1.10 +            return bootMethods != null ? bootMethods[indx] : null;
    1.11          }
    1.12  
    1.13          /**
    1.14 @@ -1593,9 +1593,9 @@
    1.15          }
    1.16      } // end InnerClassData
    1.17      
    1.18 -    private static class BootMethodData {
    1.19 +    static class BootMethodData {
    1.20          private final ClassData clazz;
    1.21 -        private final int method;
    1.22 +        final int method;
    1.23          private final int[] args;
    1.24  
    1.25          private BootMethodData(ClassData clazz, int method, int[] args) {
     2.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Sun Aug 10 08:07:11 2014 +0200
     2.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java	Sun Aug 10 08:57:22 2014 +0200
     2.3 @@ -1056,7 +1056,15 @@
     2.4                      int indx = readUShortArg(byteCodes, i);
     2.5                      println("invoke dynamic: " + indx);
     2.6                      ByteCodeParser.CPX2 c2 = jc.getCpoolEntry(indx);
     2.7 -                    println("  bootmethod: " + jc.getBootMethod(c2.cpx1));
     2.8 +                    BootMethodData bm = jc.getBootMethod(c2.cpx1);
     2.9 +                    String[] mi = jc.getFieldInfoName(bm.method);
    2.10 +                    char[] returnType = {'V'};
    2.11 +                    StringBuilder cnt = new StringBuilder();
    2.12 +                    String mn = findMethodName(mi, cnt, returnType);
    2.13 +                    println("  mi[0]: " + mi[0]);
    2.14 +                    println("  mi[1]: " + mi[1]);
    2.15 +                    println("  mi[2]: " + mi[2]);
    2.16 +                    println("  mn   : " + mn);
    2.17                      println("  name and type: " + jc.stringValue(c2.cpx2, true));
    2.18                      emit(smapper, this, "throw 'Invoke dynamic: ' + @1;", "" + indx);
    2.19                      i += 4;