blob: 3b19e25ff0ef42a3a05f7200bf39b0a58918454a [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.
*/
package nsk/jvmti/FieldAccess;
super public class fieldacc001a {
static Field staticBoolean:Z;
static Field staticByte:B;
static Field staticShort:S;
static Field staticInt:I;
static Field staticLong:J;
static Field staticFloat:F;
static Field staticDouble:D;
static Field staticChar:C;
static Field staticObject:"Ljava/lang/Object;";
static Field staticArrInt:"[I";
Field instanceBoolean:Z;
Field instanceByte:B;
Field instanceShort:S;
Field instanceInt:I;
Field instanceLong:J;
Field instanceFloat:F;
Field instanceDouble:D;
Field instanceChar:C;
Field instanceObject:"Ljava/lang/Object;";
Field instanceArrInt:"[I";
public Method "<init>":"()V" stack 5 locals 1 {
aload_0;
invokespecial Method java/lang/Object."<init>":"()V";
aload_0;
iconst_0;
putfield Field instanceBoolean:"Z";
aload_0;
bipush 10;
putfield Field instanceByte:"B";
aload_0;
bipush 20;
putfield Field instanceShort:"S";
aload_0;
bipush 30;
putfield Field instanceInt:"I";
aload_0;
ldc2_w long 40l;
putfield Field instanceLong:"J";
aload_0;
ldc float 0.05f;
putfield Field instanceFloat:"F";
aload_0;
ldc2_w double 0.06d;
putfield Field instanceDouble:"D";
aload_0;
bipush 122;
putfield Field instanceChar:"C";
aload_0;
new class java/lang/Object;
dup;
invokespecial Method java/lang/Object."<init>":"()V";
putfield Field instanceObject:"Ljava/lang/Object;";
aload_0;
iconst_2;
newarray int;
dup;
iconst_0;
bipush 70;
iastore;
dup;
iconst_1;
bipush 80;
iastore;
putfield Field instanceArrInt:"[I";
return;
}
public Method run:"()I" stack 4 locals 2 {
iconst_0;
istore_1;
getstatic Field staticBoolean:"Z"; // bci=2
aload_0;
getfield Field instanceBoolean:"Z"; // bci=6
if_icmpne L15;
iinc 1, 1;
L15: getstatic Field staticByte:"B"; // bci=15
aload_0;
getfield Field instanceByte:"B"; // bci=19
if_icmpne L28;
iinc 1, 1;
L28: getstatic Field staticShort:"S"; // bci=28
aload_0;
getfield Field instanceShort:"S"; // bci=32
if_icmpne L41;
iinc 1, 1;
L41: getstatic Field staticInt:"I"; // bci=41
aload_0;
getfield Field instanceInt:"I"; // bci=45
if_icmpne L54;
iinc 1, 1;
L54: getstatic Field staticLong:"J"; // bci=54
aload_0;
getfield Field instanceLong:"J"; // bci=58
lcmp;
ifne L68;
iinc 1, 1;
L68: getstatic Field staticFloat:"F"; // bci=68
aload_0;
getfield Field instanceFloat:"F"; // bci=72
fcmpl;
ifne L82;
iinc 1, 1;
L82: getstatic Field staticDouble:"D"; // bci=82
aload_0;
getfield Field instanceDouble:"D"; // bci=86
dcmpl;
ifne L96;
iinc 1, 1;
L96: getstatic Field staticChar:"C"; // bci=96
aload_0;
getfield Field instanceChar:"C"; // bci=100
if_icmpne L109;
iinc 1, 1;
L109: getstatic Field staticObject:"Ljava/lang/Object;"; // bci=109
aload_0;
getfield Field instanceObject:"Ljava/lang/Object;"; // bci=113
if_acmpne L122;
iinc 1, 1;
L122: getstatic Field staticArrInt:"[I"; // bci=122
iconst_0;
iaload;
aload_0;
getfield Field instanceArrInt:"[I"; // bci=128
iconst_1;
iaload;
if_icmpne L139;
iinc 1, 1;
L139: iload_1;
ireturn;
}
static Method "<clinit>":"()V" stack 4 locals 0 {
iconst_1;
putstatic Field staticBoolean:"Z";
iconst_1;
putstatic Field staticByte:"B";
iconst_2;
putstatic Field staticShort:"S";
iconst_3;
putstatic Field staticInt:"I";
ldc2_w long 4l;
putstatic Field staticLong:"J";
ldc float 0.5f;
putstatic Field staticFloat:"F";
ldc2_w double 0.6d;
putstatic Field staticDouble:"D";
bipush 97;
putstatic Field staticChar:"C";
aconst_null;
putstatic Field staticObject:"Ljava/lang/Object;";
iconst_2;
newarray int;
dup;
iconst_0;
bipush 7;
iastore;
dup;
iconst_1;
bipush 8;
iastore;
putstatic Field staticArrInt:"[I";
return;
}
}