< prev index next >

src/share/vm/runtime/jfieldIDWorkaround.hpp

Print this page




 133       verify_instance_jfieldID(k, id);
 134     }
 135     return raw_instance_offset(id);
 136   }
 137 
 138   static jfieldID to_static_jfieldID(JNIid* id) {
 139     assert(id->is_static_field_id(), "from_JNIid, but not static field id");
 140     jfieldID result = (jfieldID) id;
 141     assert(from_static_jfieldID(result) == id, "must produce the same static id");
 142     return result;
 143   }
 144 
 145   static JNIid* from_static_jfieldID(jfieldID id) {
 146     assert(jfieldIDWorkaround::is_static_jfieldID(id),
 147            "to_JNIid, but not static jfieldID");
 148     JNIid* result = (JNIid*) id;
 149     assert(result->is_static_field_id(), "to_JNIid, but not static field id");
 150     return result;
 151   }
 152 
 153   static jfieldID to_jfieldID(instanceKlassHandle k, int offset, bool is_static) {
 154     if (is_static) {
 155       JNIid *id = k->jni_id_for(offset);
 156       debug_only(id->set_is_static_field_id());
 157       return jfieldIDWorkaround::to_static_jfieldID(id);
 158     } else {
 159       return jfieldIDWorkaround::to_instance_jfieldID(k(), offset);
 160     }
 161   }
 162 };
 163 
 164 #endif // SHARE_VM_RUNTIME_JFIELDIDWORKAROUND_HPP


 133       verify_instance_jfieldID(k, id);
 134     }
 135     return raw_instance_offset(id);
 136   }
 137 
 138   static jfieldID to_static_jfieldID(JNIid* id) {
 139     assert(id->is_static_field_id(), "from_JNIid, but not static field id");
 140     jfieldID result = (jfieldID) id;
 141     assert(from_static_jfieldID(result) == id, "must produce the same static id");
 142     return result;
 143   }
 144 
 145   static JNIid* from_static_jfieldID(jfieldID id) {
 146     assert(jfieldIDWorkaround::is_static_jfieldID(id),
 147            "to_JNIid, but not static jfieldID");
 148     JNIid* result = (JNIid*) id;
 149     assert(result->is_static_field_id(), "to_JNIid, but not static field id");
 150     return result;
 151   }
 152 
 153   static jfieldID to_jfieldID(InstanceKlass* k, int offset, bool is_static) {
 154     if (is_static) {
 155       JNIid *id = k->jni_id_for(offset);
 156       debug_only(id->set_is_static_field_id());
 157       return jfieldIDWorkaround::to_static_jfieldID(id);
 158     } else {
 159       return jfieldIDWorkaround::to_instance_jfieldID(k, offset);
 160     }
 161   }
 162 };
 163 
 164 #endif // SHARE_VM_RUNTIME_JFIELDIDWORKAROUND_HPP
< prev index next >