comparison src/share/vm/prims/jvmtiEnvBase.cpp @ 2376:c7f3d0b4570f

7017732: move static fields into Class to prepare for perm gen removal Reviewed-by: kvn, coleenp, twisti, stefank
author never
date Fri, 18 Mar 2011 16:00:34 -0700
parents 3582bf76420e
children e6b1331a51d2
comparison
equal deleted inserted replaced
2375:d673ef06fe96 2376:c7f3d0b4570f
1 /* 1 /*
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
614 return false; 614 return false;
615 } 615 }
616 bool found = false; 616 bool found = false;
617 if (jfieldIDWorkaround::is_static_jfieldID(field)) { 617 if (jfieldIDWorkaround::is_static_jfieldID(field)) {
618 JNIid* id = jfieldIDWorkaround::from_static_jfieldID(field); 618 JNIid* id = jfieldIDWorkaround::from_static_jfieldID(field);
619 int offset = id->offset(); 619 found = id->find_local_field(fd);
620 klassOop holder = id->holder();
621 found = instanceKlass::cast(holder)->find_local_field_from_offset(offset, true, fd);
622 } else { 620 } else {
623 // Non-static field. The fieldID is really the offset of the field within the object. 621 // Non-static field. The fieldID is really the offset of the field within the object.
624 int offset = jfieldIDWorkaround::from_instance_jfieldID(k, field); 622 int offset = jfieldIDWorkaround::from_instance_jfieldID(k, field);
625 found = instanceKlass::cast(k)->find_field_from_offset(offset, false, fd); 623 found = instanceKlass::cast(k)->find_field_from_offset(offset, false, fd);
626 } 624 }