blob: 60699799786ebb7b2b9be49b5add6c2330e6f55d [file] [log] [blame]
/*
* Copyright (c) 2003, 2018, 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.
*/
/*
*
* The following is a java-source of this file:
*
* package nsk.jvmti.GetLocalVariableTable;
*
* import java.io.PrintStream;
*
* public class localtab001 {
*
* static int fld;
*
* public static void main(String[] args) {
* System.exit(run(args, System.out) + 95);
* }
*
* public static int run(String argv[], PrintStream ref) {
* check();
* return getRes();
* }
*
* public static void meth00() {
* }
*
* public double meth01() {
* long l = 22;
* float f = 6.0f;
* double d = 7.0;
* return d + f + l;
* }
*
* public void meth02(int step) {
* short i2 = 0;
* {
* char i3 = 0;
* byte i4 = 0;
* boolean i5 = false;
* for (int i1 = 0; i1 < step; i1++) {
* i2 += i1;
* }
* }
* }
*
* public static void meth03(localtab001 ob) {
* localtab001 ob1 = ob;
* int[] ob2 = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
* try {
* int i = ob2[9];
* } catch (IndexOutOfBoundsException e) {
* fld = 0;
* }
* }
*
* public static double meth04(int i1, long l, short i2, double d,
* char i3, float f, byte i4, boolean b) {
* return (b ? i1 * l * i2 * d * i3 * f * i4 : 0);
* }
*
* public int meth05(int i) {
* // 1 2 3 4 5 6 7 8 9 10 11 12
* int i12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678
* = 1;
* return i - i12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678;
* }
*
* native static void check();
* native static int getRes();
*
* static {
* try {
* System.loadLibrary("localtab001");
* } catch (UnsatisfiedLinkError ule) {
* System.err.println("Could not load localtab001 library");
* System.err.println("java.library.path:" + System.getProperty("java.library.path"));
* throw ule;
* }
* }
* }
*/
class nsk/jvmti/GetLocalVariableTable/localtab001 {
0xCAFEBABE;
3; // minor version
45; // version
[] { // Constant Pool
; // first element is empty
Method #28 #91; // #1
Field #92 #93; // #2
Method #27 #94; // #3
Method #92 #95; // #4
Method #27 #96; // #5
Method #27 #97; // #6
long 0x0000000000000016;; // #7
float 0x40C00000; // #9
double 0x401C000000000000;; // #10
class #98; // #12
Field #27 #99; // #13
String #100; // #14
Method #92 #101; // #15
class #102; // #16
Field #92 #103; // #17
String #104; // #18
Method #105 #106; // #19
class #107; // #20
Method #20 #91; // #21
String #108; // #22
Method #20 #109; // #23
String #110; // #24
Method #92 #111; // #25
Method #20 #112; // #26
class #128; // #27
class #113; // #28
Utf8 "fld"; // #29
Utf8 "I"; // #30
Utf8 "<init>"; // #31
Utf8 "()V"; // #32
Utf8 "Code"; // #33
Utf8 "LineNumberTable"; // #34
Utf8 "LocalVariableTable"; // #35
Utf8 "this"; // #36
Utf8 "Lnsk/jvmti/GetLocalVariableTable/localtab001;"; // #37
Utf8 "main"; // #38
Utf8 "([Ljava/lang/String;)V"; // #39
Utf8 "args"; // #40
Utf8 "[Ljava/lang/String;"; // #41
Utf8 "run"; // #42
Utf8 "([Ljava/lang/String;Ljava/io/PrintStream;)I"; // #43
Utf8 "argv"; // #44
Utf8 "ref"; // #45
Utf8 "Ljava/io/PrintStream;"; // #46
Utf8 "meth00"; // #47
Utf8 "meth01"; // #48
Utf8 "()D"; // #49
Utf8 "l"; // #50
Utf8 "J"; // #51
Utf8 "f"; // #52
Utf8 "F"; // #53
Utf8 "d"; // #54
Utf8 "D"; // #55
Utf8 "meth02"; // #56
Utf8 "(I)V"; // #57
Utf8 "step"; // #58
Utf8 "i2"; // #59
Utf8 "S"; // #60
Utf8 "i3"; // #61
Utf8 "C"; // #62
Utf8 "i4"; // #63
Utf8 "B"; // #64
Utf8 "i5"; // #65
Utf8 "Z"; // #66
Utf8 "i1"; // #67
Utf8 "meth03"; // #68
Utf8 "(Lnsk/jvmti/GetLocalVariableTable/localtab001;)V"; // #69
Utf8 "ob"; // #70
Utf8 "ob1"; // #71
Utf8 "ob2"; // #72
Utf8 "[I"; // #73
Utf8 "i"; // #74
Utf8 "e"; // #75
Utf8 "Ljava/lang/IndexOutOfBoundsException;"; // #76
Utf8 "meth04"; // #77
Utf8 "(IJSDCFBZ)D"; // #78
Utf8 "b"; // #79
Utf8 "meth05"; // #80
Utf8 "(I)I"; // #81
Utf8 "i12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678"; // #82
Utf8 "check"; // #83
Utf8 "getRes"; // #84
Utf8 "()I"; // #85
Utf8 "<clinit>"; // #86
Utf8 "ule"; // #87
Utf8 "Ljava/lang/UnsatisfiedLinkError;"; // #88
Utf8 "SourceFile"; // #89
Utf8 "localtab001.java"; // #90
NameAndType #31 #32; // #91
class #114; // #92
NameAndType #115 #46; // #93
NameAndType #42 #43; // #94
NameAndType #116 #57; // #95
NameAndType #83 #32; // #96
NameAndType #84 #85; // #97
Utf8 "java/lang/IndexOutOfBoundsException"; // #98
NameAndType #29 #30; // #99
Utf8 "localtab001"; // #100
NameAndType #117 #118; // #101
Utf8 "java/lang/UnsatisfiedLinkError"; // #102
NameAndType #119 #46; // #103
Utf8 "Could not load localtab001 library"; // #104
class #120; // #105
NameAndType #121 #118; // #106
Utf8 "java/lang/StringBuffer"; // #107
Utf8 "java.library.path:"; // #108
NameAndType #122 #123; // #109
Utf8 "java.library.path"; // #110
NameAndType #124 #125; // #111
NameAndType #126 #127; // #112
Utf8 "java/lang/Object"; // #113
Utf8 "java/lang/System"; // #114
Utf8 "out"; // #115
Utf8 "exit"; // #116
Utf8 "loadLibrary"; // #117
Utf8 "(Ljava/lang/String;)V"; // #118
Utf8 "err"; // #119
Utf8 "java/io/PrintStream"; // #120
Utf8 "println"; // #121
Utf8 "append"; // #122
Utf8 "(Ljava/lang/String;)Ljava/lang/StringBuffer;"; // #123
Utf8 "getProperty"; // #124
Utf8 "(Ljava/lang/String;)Ljava/lang/String;"; // #125
Utf8 "toString"; // #126
Utf8 "()Ljava/lang/String;"; // #127
Utf8 "nsk/jvmti/GetLocalVariableTable/localtab001"; // #128
} // Constant Pool
0x0021; // access
#27;// this_cpx
#28;// super_cpx
[] { // Interfaces
} // Interfaces
[] { // fields
{ // Member
0x0008; // access
#29; // name_cpx
#30; // sig_cpx
[] { // Attributes
} // Attributes
} // Member
} // fields
[] { // methods
{ // Member
0x0001; // access
#31; // name_cpx
#32; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
1; // max_stack
1; // max_locals
Bytes[] {
0x2AB70001B1;
};
[] { // Traps
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 6;
}
} // end LineNumberTable
;
Attr(#35) { // LocalVariableTable
[] { // LocalVariableTable
0 5 36 37 0;
}
} // end LocalVariableTable
} // Attributes
} // end Code
} // Attributes
} // Member
;
{ // Member
0x0009; // access
#38; // name_cpx
#39; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
2; // max_stack
1; // max_locals
Bytes[] {
0x2AB20002B8000310;
0x5F60B80004B1;
};
[] { // Traps
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 11;
13 12;
}
} // end LineNumberTable
;
Attr(#35) { // LocalVariableTable
[] { // LocalVariableTable
0 14 40 41 0;
}
} // end LocalVariableTable
} // Attributes
} // end Code
} // Attributes
} // Member
;
{ // Member
0x0009; // access
#42; // name_cpx
#43; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
1; // max_stack
2; // max_locals
Bytes[] {
0xB80005B80006AC;
};
[] { // Traps
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 15;
3 16;
}
} // end LineNumberTable
;
Attr(#35) { // LocalVariableTable
[] { // LocalVariableTable
0 7 44 41 0;
0 7 45 46 1;
}
} // end LocalVariableTable
} // Attributes
} // end Code
} // Attributes
} // Member
;
{ // Member
0x0009; // access
#47; // name_cpx
#32; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
0; // max_stack
0; // max_locals
Bytes[] {
0xB1;
};
[] { // Traps
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 20;
}
} // end LineNumberTable
} // Attributes
} // end Code
} // Attributes
} // Member
;
{ // Member
0x0001; // access
#48; // name_cpx
#49; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
4; // max_stack
6; // max_locals
Bytes[] {
0x1400074012094614;
0x000A39041804258D;
0x631F8A63AF;
};
[] { // Traps
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 23;
4 24;
7 25;
12 26;
}
} // end LineNumberTable
;
Attr(#35) { // LocalVariableTable
[] { // LocalVariableTable
0 21 36 37 0;
4 17 50 51 1;
7 14 52 53 3;
12 9 54 55 4;
}
} // end LocalVariableTable
} // Attributes
} // end Code
} // Attributes
} // Member
;
{ // Member
0x0001; // access
#56; // name_cpx
#57; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
2; // max_stack
7; // max_locals
Bytes[] {
0x033D033E03360403;
0x3605033606A7000C;
0x1C150660933D8406;
0x0115061BA1FFF4B1;
};
[] { // Traps
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 30;
2 32;
4 33;
7 34;
10 35;
16 36;
22 35;
31 39;
}
} // end LineNumberTable
;
Attr(#35) { // LocalVariableTable
[] { // LocalVariableTable
0 32 36 37 0;
0 32 58 30 1;
2 29 59 60 2;
4 27 61 62 3;
7 24 63 64 4;
10 21 65 66 5;
13 18 67 30 6;
}
} // end LocalVariableTable
} // Attributes
} // end Code
} // Attributes
} // Member
;
{ // Member
0x0009; // access
#68; // name_cpx
#69; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
4; // max_stack
4; // max_locals
Bytes[] {
0x2A4C100ABC0A5903;
0x100A4F590410094F;
0x590510084F590610;
0x074F590710064F59;
0x08084F591006074F;
0x591007064F591008;
0x054F591009044F4D;
0x2C10092E3EA70008;
0x4E03B3000DB1;
};
[] { // Traps
56 61 64 12;
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 42;
2 43;
56 45;
64 47;
69 49;
}
} // end LineNumberTable
;
Attr(#35) { // LocalVariableTable
[] { // LocalVariableTable
0 70 70 37 0;
2 67 71 37 1;
56 13 72 73 2;
61 0 74 30 3;
64 5 75 76 3;
}
} // end LocalVariableTable
} // Attributes
} // end Code
} // Attributes
} // Member
;
{ // Member
0x0009; // access
#77; // name_cpx
#78; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
4; // max_stack
10; // max_locals
Bytes[] {
0x150999001D1A851F;
0x691D85698A18046B;
0x1506876B17078D6B;
0x1508876BA700040E;
0xAF;
};
[] { // Traps
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 53;
}
} // end LineNumberTable
;
Attr(#35) { // LocalVariableTable
[] { // LocalVariableTable
0 33 67 30 0;
0 33 50 51 1;
0 33 59 60 3;
0 33 54 55 4;
0 33 61 62 6;
0 33 52 53 7;
0 33 63 64 8;
0 33 79 66 9;
}
} // end LocalVariableTable
} // Attributes
} // end Code
} // Attributes
} // Member
;
{ // Member
0x0001; // access
#80; // name_cpx
#81; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
2; // max_stack
3; // max_locals
Bytes[] {
0x043D1B1C64AC;
};
[] { // Traps
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 58;
2 60;
}
} // end LineNumberTable
;
Attr(#35) { // LocalVariableTable
[] { // LocalVariableTable
0 6 36 37 0;
0 6 74 30 1;
2 4 82 30 2;
}
} // end LocalVariableTable
} // Attributes
} // end Code
} // Attributes
} // Member
;
{ // Member
0x0108; // access
#83; // name_cpx
#32; // sig_cpx
[] { // Attributes
} // Attributes
} // Member
;
{ // Member
0x0108; // access
#84; // name_cpx
#85; // sig_cpx
[] { // Attributes
} // Attributes
} // Member
;
{ // Member
0x0008; // access
#86; // name_cpx
#32; // sig_cpx
[] { // Attributes
Attr(#33) { // Code
3; // max_stack
1; // max_locals
Bytes[] {
0x120EB8000FA7002B;
0x4BB200111212B600;
0x13B20011BB001459;
0xB700151216B60017;
0x1218B80019B60017;
0xB6001AB600132ABF;
0xB1;
};
[] { // Traps
0 5 8 16;
} // end Traps
[] { // Attributes
Attr(#34) { // LineNumberTable
[] { // LineNumberTable
0 68;
8 70;
17 71;
46 72;
48 66;
}
} // end LineNumberTable
;
Attr(#35) { // LocalVariableTable
[] { // LocalVariableTable
8 40 87 88 0;
}
} // end LocalVariableTable
} // Attributes
} // end Code
} // Attributes
} // Member
} // methods
[] { // Attributes
Attr(#89) { // SourceFile
#90;
} // end SourceFile
} // Attributes
} // end class nsk/jvmti/GetLocalVariableTable/localtab001