1.1 --- a/src/share/vm/prims/jniCheck.cpp Fri Aug 31 16:39:35 2012 -0700 1.2 +++ b/src/share/vm/prims/jniCheck.cpp Sat Sep 01 13:25:18 2012 -0400 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -215,12 +215,12 @@ 1.11 1.12 /* validate the class being passed */ 1.13 ASSERT_OOPS_ALLOWED; 1.14 - klassOop k_oop = jniCheck::validate_class(thr, cls, false); 1.15 + Klass* k_oop = jniCheck::validate_class(thr, cls, false); 1.16 1.17 /* check for proper subclass hierarchy */ 1.18 JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fid); 1.19 - klassOop f_oop = id->holder(); 1.20 - if (!instanceKlass::cast(k_oop)->is_subtype_of(f_oop)) 1.21 + Klass* f_oop = id->holder(); 1.22 + if (!InstanceKlass::cast(k_oop)->is_subtype_of(f_oop)) 1.23 ReportJNIFatalError(thr, fatal_wrong_static_field); 1.24 1.25 /* check for proper field type */ 1.26 @@ -247,7 +247,7 @@ 1.27 if (!oopObj) { 1.28 ReportJNIFatalError(thr, fatal_null_object); 1.29 } 1.30 - klassOop k_oop = oopObj->klass(); 1.31 + Klass* k_oop = oopObj->klass(); 1.32 1.33 if (!jfieldIDWorkaround::is_valid_jfieldID(k_oop, fid)) { 1.34 ReportJNIFatalError(thr, fatal_wrong_field); 1.35 @@ -255,11 +255,11 @@ 1.36 1.37 /* make sure the field exists */ 1.38 int offset = jfieldIDWorkaround::from_instance_jfieldID(k_oop, fid); 1.39 - if (!instanceKlass::cast(k_oop)->contains_field_offset(offset)) 1.40 + if (!InstanceKlass::cast(k_oop)->contains_field_offset(offset)) 1.41 ReportJNIFatalError(thr, fatal_wrong_field); 1.42 1.43 /* check for proper field type */ 1.44 - if (!instanceKlass::cast(k_oop)->find_field_from_offset(offset, 1.45 + if (!InstanceKlass::cast(k_oop)->find_field_from_offset(offset, 1.46 false, &fd)) 1.47 ReportJNIFatalError(thr, fatal_instance_field_not_found); 1.48 1.49 @@ -316,16 +316,16 @@ 1.50 } 1.51 1.52 1.53 -methodOop jniCheck::validate_jmethod_id(JavaThread* thr, jmethodID method_id) { 1.54 +Method* jniCheck::validate_jmethod_id(JavaThread* thr, jmethodID method_id) { 1.55 ASSERT_OOPS_ALLOWED; 1.56 // do the fast jmethodID check first 1.57 - methodOop moop = JNIHandles::checked_resolve_jmethod_id(method_id); 1.58 + Method* moop = Method::checked_resolve_jmethod_id(method_id); 1.59 if (moop == NULL) { 1.60 ReportJNIFatalError(thr, fatal_wrong_class_or_method); 1.61 } 1.62 - // jmethodIDs are supposed to be weak global handles, but that 1.63 - // can be expensive so check it last 1.64 - else if (!JNIHandles::is_weak_global_handle((jobject) method_id)) { 1.65 + // jmethodIDs are supposed to be weak handles in the class loader data, 1.66 + // but that can be expensive so check it last 1.67 + else if (!Method::is_method_id(method_id)) { 1.68 ReportJNIFatalError(thr, fatal_non_weak_method); 1.69 } 1.70 return moop; 1.71 @@ -360,7 +360,7 @@ 1.72 } 1.73 } 1.74 1.75 -klassOop jniCheck::validate_class(JavaThread* thr, jclass clazz, bool allow_primitive) { 1.76 +Klass* jniCheck::validate_class(JavaThread* thr, jclass clazz, bool allow_primitive) { 1.77 ASSERT_OOPS_ALLOWED; 1.78 oop mirror = jniCheck::validate_handle(thr, clazz); 1.79 if (!mirror) { 1.80 @@ -371,7 +371,7 @@ 1.81 ReportJNIFatalError(thr, fatal_class_not_a_class); 1.82 } 1.83 1.84 - klassOop k = java_lang_Class::as_klassOop(mirror); 1.85 + Klass* k = java_lang_Class::as_Klass(mirror); 1.86 // Make allowances for primitive classes ... 1.87 if (!(k != NULL || allow_primitive && java_lang_Class::is_primitive(mirror))) { 1.88 ReportJNIFatalError(thr, fatal_class_not_a_class); 1.89 @@ -379,12 +379,12 @@ 1.90 return k; 1.91 } 1.92 1.93 -void jniCheck::validate_throwable_klass(JavaThread* thr, klassOop klass) { 1.94 +void jniCheck::validate_throwable_klass(JavaThread* thr, Klass* klass) { 1.95 ASSERT_OOPS_ALLOWED; 1.96 assert(klass != NULL, "klass argument must have a value"); 1.97 1.98 if (!Klass::cast(klass)->oop_is_instance() || 1.99 - !instanceKlass::cast(klass)->is_subclass_of(SystemDictionary::Throwable_klass())) { 1.100 + !InstanceKlass::cast(klass)->is_subclass_of(SystemDictionary::Throwable_klass())) { 1.101 ReportJNIFatalError(thr, fatal_class_not_a_throwable_class); 1.102 } 1.103 } 1.104 @@ -540,8 +540,8 @@ 1.105 const char *msg)) 1.106 functionEnter(thr); 1.107 IN_VM( 1.108 - klassOop k = jniCheck::validate_class(thr, clazz, false); 1.109 - assert(k != NULL, "validate_class shouldn't return NULL klassOop"); 1.110 + Klass* k = jniCheck::validate_class(thr, clazz, false); 1.111 + assert(k != NULL, "validate_class shouldn't return NULL Klass*"); 1.112 jniCheck::validate_throwable_klass(thr, k); 1.113 ) 1.114 jint result = UNCHECKED()->ThrowNew(env, clazz, msg);