comparison src/share/vm/classfile/systemDictionary.hpp @ 2491:0654ee04b214

Merge with OpenJDK.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Fri, 22 Apr 2011 15:30:53 +0200
parents a2babfb34c24 ed69575596ac
children 75a99b4f1c98
comparison
equal deleted inserted replaced
2490:29246b1d2d3c 2491:0654ee04b214
142 template(reflect_DelegatingClassLoader_klass, sun_reflect_DelegatingClassLoader, Opt) \ 142 template(reflect_DelegatingClassLoader_klass, sun_reflect_DelegatingClassLoader, Opt) \
143 template(reflect_ConstantPool_klass, sun_reflect_ConstantPool, Opt_Only_JDK15) \ 143 template(reflect_ConstantPool_klass, sun_reflect_ConstantPool, Opt_Only_JDK15) \
144 template(reflect_UnsafeStaticFieldAccessorImpl_klass, sun_reflect_UnsafeStaticFieldAccessorImpl, Opt_Only_JDK15) \ 144 template(reflect_UnsafeStaticFieldAccessorImpl_klass, sun_reflect_UnsafeStaticFieldAccessorImpl, Opt_Only_JDK15) \
145 \ 145 \
146 /* support for dynamic typing; it's OK if these are NULL in earlier JDKs */ \ 146 /* support for dynamic typing; it's OK if these are NULL in earlier JDKs */ \
147 template(MethodHandle_klass, java_dyn_MethodHandle, Opt) \ 147 template(MethodHandle_klass, java_lang_invoke_MethodHandle, Pre_JSR292) \
148 template(MemberName_klass, sun_dyn_MemberName, Opt) \ 148 template(MemberName_klass, java_lang_invoke_MemberName, Pre_JSR292) \
149 template(MethodHandleImpl_klass, sun_dyn_MethodHandleImpl, Opt) \ 149 template(MethodHandleNatives_klass, java_lang_invoke_MethodHandleNatives, Pre_JSR292) \
150 template(MethodHandleNatives_klass, sun_dyn_MethodHandleNatives, Opt) \ 150 template(AdapterMethodHandle_klass, java_lang_invoke_AdapterMethodHandle, Pre_JSR292) \
151 template(AdapterMethodHandle_klass, sun_dyn_AdapterMethodHandle, Opt) \ 151 template(BoundMethodHandle_klass, java_lang_invoke_BoundMethodHandle, Pre_JSR292) \
152 template(BoundMethodHandle_klass, sun_dyn_BoundMethodHandle, Opt) \ 152 template(DirectMethodHandle_klass, java_lang_invoke_DirectMethodHandle, Pre_JSR292) \
153 template(DirectMethodHandle_klass, sun_dyn_DirectMethodHandle, Opt) \ 153 template(MethodType_klass, java_lang_invoke_MethodType, Pre_JSR292) \
154 template(MethodType_klass, java_dyn_MethodType, Opt) \ 154 template(MethodTypeForm_klass, java_lang_invoke_MethodTypeForm, Pre_JSR292) \
155 template(MethodTypeForm_klass, java_dyn_MethodTypeForm, Opt) \ 155 template(WrongMethodTypeException_klass, java_lang_invoke_WrongMethodTypeException, Pre_JSR292) \
156 template(WrongMethodTypeException_klass, java_dyn_WrongMethodTypeException, Opt) \ 156 template(CallSite_klass, java_lang_invoke_CallSite, Pre_JSR292) \
157 template(Linkage_klass, java_dyn_Linkage, Opt) \
158 template(CallSite_klass, java_dyn_CallSite, Opt) \
159 /* Note: MethodHandle must be first, and CallSite last in group */ \ 157 /* Note: MethodHandle must be first, and CallSite last in group */ \
160 \ 158 \
161 template(StringBuffer_klass, java_lang_StringBuffer, Pre) \ 159 template(StringBuffer_klass, java_lang_StringBuffer, Pre) \
162 template(StringBuilder_klass, java_lang_StringBuilder, Pre) \ 160 template(StringBuilder_klass, java_lang_StringBuilder, Pre) \
163 \ 161 \
238 FIRST_WKID = NO_WKID + 1 236 FIRST_WKID = NO_WKID + 1
239 }; 237 };
240 238
241 enum InitOption { 239 enum InitOption {
242 Pre, // preloaded; error if not present 240 Pre, // preloaded; error if not present
241 Pre_JSR292, // preloaded if EnableInvokeDynamic
243 242
244 // Order is significant. Options before this point require resolve_or_fail. 243 // Order is significant. Options before this point require resolve_or_fail.
245 // Options after this point will use resolve_or_null instead. 244 // Options after this point will use resolve_or_null instead.
246 245
247 Opt, // preload tried; NULL if not present 246 Opt, // preload tried; NULL if not present
432 assert(k != NULL, "preloaded klass not initialized"); 431 assert(k != NULL, "preloaded klass not initialized");
433 return k; 432 return k;
434 } 433 }
435 434
436 static klassOop check_klass_Pre(klassOop k) { return check_klass(k); } 435 static klassOop check_klass_Pre(klassOop k) { return check_klass(k); }
436 static klassOop check_klass_Pre_JSR292(klassOop k) { return EnableInvokeDynamic ? check_klass(k) : k; }
437 static klassOop check_klass_Opt(klassOop k) { return k; } 437 static klassOop check_klass_Opt(klassOop k) { return k; }
438 static klassOop check_klass_Opt_Kernel(klassOop k) { return k; } //== Opt 438 static klassOop check_klass_Opt_Kernel(klassOop k) { return k; } //== Opt
439 static klassOop check_klass_Opt_Only_JDK15(klassOop k) { 439 static klassOop check_klass_Opt_Only_JDK15(klassOop k) {
440 assert(JDK_Version::is_gte_jdk15x_version(), "JDK 1.5 only"); 440 assert(JDK_Version::is_gte_jdk15x_version(), "JDK 1.5 only");
441 return k; 441 return k;
506 Handle loader2, TRAPS); 506 Handle loader2, TRAPS);
507 static char* check_signature_loaders(Symbol* signature, Handle loader1, 507 static char* check_signature_loaders(Symbol* signature, Handle loader1,
508 Handle loader2, bool is_method, TRAPS); 508 Handle loader2, bool is_method, TRAPS);
509 509
510 // JSR 292 510 // JSR 292
511 // find the java.dyn.MethodHandles::invoke method for a given signature 511 // find the java.lang.invoke.MethodHandles::invoke method for a given signature
512 static methodOop find_method_handle_invoke(Symbol* name, 512 static methodOop find_method_handle_invoke(Symbol* name,
513 Symbol* signature, 513 Symbol* signature,
514 KlassHandle accessing_klass, 514 KlassHandle accessing_klass,
515 TRAPS); 515 TRAPS);
516 // ask Java to compute a java.dyn.MethodType object for a given signature 516 // ask Java to compute a java.lang.invoke.MethodType object for a given signature
517 static Handle find_method_handle_type(Symbol* signature, 517 static Handle find_method_handle_type(Symbol* signature,
518 KlassHandle accessing_klass, 518 KlassHandle accessing_klass,
519 bool for_invokeGeneric, 519 bool for_invokeGeneric,
520 bool& return_bcp_flag, 520 bool& return_bcp_flag,
521 TRAPS); 521 TRAPS);
522 // ask Java to compute a java.dyn.MethodHandle object for a given CP entry 522 // ask Java to compute a java.lang.invoke.MethodHandle object for a given CP entry
523 static Handle link_method_handle_constant(KlassHandle caller, 523 static Handle link_method_handle_constant(KlassHandle caller,
524 int ref_kind, //e.g., JVM_REF_invokeVirtual 524 int ref_kind, //e.g., JVM_REF_invokeVirtual
525 KlassHandle callee, 525 KlassHandle callee,
526 Symbol* name, 526 Symbol* name,
527 Symbol* signature, 527 Symbol* signature,