hotspot/test/runtime/LocalVariableTable/DuplicateLVT.cod
author dholmes
Thu, 12 Mar 2015 19:34:50 -0400
changeset 29573 2d800e5d575f
parent 28817 09a44329d68d
permissions -rw-r--r--
8074552: SafeFetch32 and SafeFetchN do not work in error handling Reviewed-by: dholmes, goetz Contributed-by: Thomas Stufe <thomas.stuefe@gmail.com>

/*
 * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

// This creates a duplicate LVT entry

class DuplicateLVT {
  0xCAFEBABE;
  0; // minor version
  52; // version
  [] { // Constant Pool
    ; // first element is empty
    Method #34 #68; // #1    
    double 0x3FF199999999999A;; // #2    
    float 0x3F99999A; // #4    
    long 0xFFFFFFFFCAFEBABE;; // #5    
    class #69; // #7    
    Method #7 #68; // #8    
    String #70; // #9    
    Method #7 #71; // #10    
    Field #72 #73; // #11    
    class #74; // #12    
    Method #12 #68; // #13    
    String #75; // #14    
    Method #12 #76; // #15    
    Method #12 #77; // #16    
    Method #12 #78; // #17    
    Method #79 #80; // #18    
    String #81; // #19    
    Method #12 #82; // #20    
    String #83; // #21    
    Method #12 #84; // #22    
    String #85; // #23    
    Method #12 #86; // #24    
    String #87; // #25    
    Method #12 #88; // #26    
    String #89; // #27    
    String #90; // #28    
    Method #12 #91; // #29    
    String #92; // #30    
    String #93; // #31    
    Method #12 #94; // #32    
    class #95; // #33    
    class #96; // #34    
    Utf8 "<init>"; // #35    
    Utf8 "()V"; // #36    
    Utf8 "Code"; // #37    
    Utf8 "LineNumberTable"; // #38    
    Utf8 "LocalVariableTable"; // #39    
    Utf8 "this"; // #40    
    Utf8 "LDuplicateLVT;"; // #41    
    Utf8 "main"; // #42    
    Utf8 "([Ljava/lang/String;)V"; // #43    
    Utf8 "args"; // #44    
    Utf8 "[Ljava/lang/String;"; // #45    
    Utf8 "b"; // #46    
    Utf8 "Z"; // #47    
    Utf8 "by"; // #48    
    Utf8 "B"; // #49    
    Utf8 "c"; // #50    
    Utf8 "C"; // #51    
    Utf8 "d"; // #52    
    Utf8 "D"; // #53    
    Utf8 "f"; // #54    
    Utf8 "F"; // #55    
    Utf8 "i"; // #56    
    Utf8 "I"; // #57    
    Utf8 "l"; // #58    
    Utf8 "J"; // #59    
    Utf8 "s"; // #60    
    Utf8 "S"; // #61    
    Utf8 "list"; // #62    
    Utf8 "Ljava/util/ArrayList;"; // #63    
    Utf8 "LocalVariableTypeTable"; // #64    
    Utf8 "Ljava/util/ArrayList<Ljava/lang/String;>;"; // #65    
    Utf8 "SourceFile"; // #66    
    Utf8 "DuplicateLVT.java"; // #67    
    NameAndType #35 #36; // #68    
    Utf8 "java/util/ArrayList"; // #69    
    Utf8 "me"; // #70    
    NameAndType #97 #98; // #71    
    class #99; // #72    
    NameAndType #100 #101; // #73    
    Utf8 "java/lang/StringBuilder"; // #74    
    Utf8 "b="; // #75    
    NameAndType #102 #103; // #76    
    NameAndType #102 #104; // #77    
    NameAndType #105 #106; // #78    
    class #107; // #79    
    NameAndType #108 #109; // #80    
    Utf8 "by="; // #81    
    NameAndType #102 #110; // #82    
    Utf8 "c="; // #83    
    NameAndType #102 #111; // #84    
    Utf8 "d="; // #85    
    NameAndType #102 #112; // #86    
    Utf8 "f="; // #87    
    NameAndType #102 #113; // #88    
    Utf8 "i="; // #89    
    Utf8 "l="; // #90    
    NameAndType #102 #114; // #91    
    Utf8 "s="; // #92    
    Utf8 "ArrayList<String>="; // #93    
    NameAndType #102 #115; // #94    
    Utf8 "DuplicateLVT"; // #95    
    Utf8 "java/lang/Object"; // #96    
    Utf8 "add"; // #97    
    Utf8 "(Ljava/lang/Object;)Z"; // #98    
    Utf8 "java/lang/System"; // #99    
    Utf8 "out"; // #100    
    Utf8 "Ljava/io/PrintStream;"; // #101    
    Utf8 "append"; // #102    
    Utf8 "(Ljava/lang/String;)Ljava/lang/StringBuilder;"; // #103    
    Utf8 "(Z)Ljava/lang/StringBuilder;"; // #104    
    Utf8 "toString"; // #105    
    Utf8 "()Ljava/lang/String;"; // #106    
    Utf8 "java/io/PrintStream"; // #107    
    Utf8 "println"; // #108    
    Utf8 "(Ljava/lang/String;)V"; // #109    
    Utf8 "(I)Ljava/lang/StringBuilder;"; // #110    
    Utf8 "(C)Ljava/lang/StringBuilder;"; // #111    
    Utf8 "(D)Ljava/lang/StringBuilder;"; // #112    
    Utf8 "(F)Ljava/lang/StringBuilder;"; // #113    
    Utf8 "(J)Ljava/lang/StringBuilder;"; // #114    
    Utf8 "(Ljava/lang/Object;)Ljava/lang/StringBuilder;"; // #115    
  } // Constant Pool

  0x0021; // access
  #33;// this_cpx
  #34;// super_cpx

  [] { // Interfaces
  } // Interfaces

  [] { // fields
  } // fields

  [] { // methods
    { // Member
      0x0001; // access
      #35; // name_cpx
      #36; // sig_cpx
      [] { // Attributes
        Attr(#37) { // Code
          1; // max_stack
          1; // max_locals
          Bytes[]{
            0x2AB70001B1;
          };
          [] { // Traps
          } // end Traps
          [] { // Attributes
            Attr(#38) { // LineNumberTable
              [] { // LineNumberTable
                0  26;
              }
            } // end LineNumberTable
            ;
            Attr(#39) { // LocalVariableTable
              [] { // LocalVariableTable
                0 5 40 41 0;
              }
            } // end LocalVariableTable
          } // Attributes
        } // end Code
      } // Attributes
    } // Member
    ;
    { // Member
      0x0009; // access
      #42; // name_cpx
      #43; // sig_cpx
      [] { // Attributes
        Attr(#37) { // Code
          4; // max_stack
          12; // max_locals
          Bytes[]{
            0x043C10423D10583E;
            0x1400023904120438;
            0x06102A3607140005;
            0x37081058360ABB00;
            0x0759B700083A0B19;
            0x0B1209B6000A57B2;
            0x000BBB000C59B700;
            0x0D120EB6000F1BB6;
            0x0010B60011B60012;
            0xB2000BBB000C59B7;
            0x000D1213B6000F1C;
            0xB60014B60011B600;
            0x12B2000BBB000C59;
            0xB7000D1215B6000F;
            0x1DB60016B60011B6;
            0x0012B2000BBB000C;
            0x59B7000D1217B600;
            0x0F1804B60018B600;
            0x11B60012B2000BBB;
            0x000C59B7000D1219;
            0xB6000F1706B6001A;
            0xB60011B60012B200;
            0x0BBB000C59B7000D;
            0x121BB6000F1507B6;
            0x0014B60011B60012;
            0xB2000BBB000C59B7;
            0x000D121CB6000F16;
            0x08B6001DB60011B6;
            0x0012B2000BBB000C;
            0x59B7000D121EB600;
            0x0F150AB60014B600;
            0x11B60012B2000BBB;
            0x000C59B7000D121F;
            0xB6000F190BB60020;
            0xB60011B60012B1;
          };
          [] { // Traps
          } // end Traps
          [] { // Attributes
            Attr(#38) { // LineNumberTable
              [] { // LineNumberTable
                0  28;
                2  29;
                5  30;
                8  31;
                13  32;
                17  33;
                21  34;
                26  35;
                30  36;
                39  37;
                47  39;
                72  40;
                97  41;
                122  42;
                148  43;
                174  44;
                200  45;
                226  46;
                252  47;
                278  48;
              }
            } // end LineNumberTable
            ;
            Attr(#39) { // LocalVariableTable
              [] { // LocalVariableTable
                0 279 44 45 0;
                2 277 46 47 1;
                5 274 48 49 2;
                5 274 48 49 2;
                8 271 50 51 3;
                13 266 52 53 4;
                17 262 54 55 6;
                21 258 56 57 7;
                26 253 58 59 8;
                30 249 60 61 10;
                39 240 62 63 11;
              }
            } // end LocalVariableTable
            ;
            Attr(#64) { // LocalVariableTypeTable
              [] { // LocalVariableTypeTable
                39 240 62 65 11;
              }
            } // end LocalVariableTypeTable
          } // Attributes
        } // end Code
      } // Attributes
    } // Member
  } // methods

  [] { // Attributes
    Attr(#66) { // SourceFile
      #67;
    } // end SourceFile
  } // Attributes
} // end class DuplicateLVT