src/share/vm/classfile/systemDictionary.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/classfile/systemDictionary.hpp Thu Mar 3 02:25:13 2011
--- new/src/share/vm/classfile/systemDictionary.hpp Thu Mar 3 02:25:13 2011
*** 142,163 ****
--- 142,163 ----
template(reflect_DelegatingClassLoader_klass, sun_reflect_DelegatingClassLoader, Opt) \
template(reflect_ConstantPool_klass, sun_reflect_ConstantPool, Opt_Only_JDK15) \
template(reflect_UnsafeStaticFieldAccessorImpl_klass, sun_reflect_UnsafeStaticFieldAccessorImpl, Opt_Only_JDK15) \
\
/* support for dynamic typing; it's OK if these are NULL in earlier JDKs */ \
! template(MethodHandle_klass, java_dyn_MethodHandle, Opt) \
! template(MemberName_klass, sun_dyn_MemberName, Opt) \
! template(MethodHandleImpl_klass, sun_dyn_MethodHandleImpl, Opt) \
! template(MethodHandleNatives_klass, sun_dyn_MethodHandleNatives, Opt) \
! template(AdapterMethodHandle_klass, sun_dyn_AdapterMethodHandle, Opt) \
! template(BoundMethodHandle_klass, sun_dyn_BoundMethodHandle, Opt) \
! template(DirectMethodHandle_klass, sun_dyn_DirectMethodHandle, Opt) \
! template(MethodType_klass, java_dyn_MethodType, Opt) \
! template(MethodTypeForm_klass, java_dyn_MethodTypeForm, Opt) \
! template(WrongMethodTypeException_klass, java_dyn_WrongMethodTypeException, Opt) \
! template(Linkage_klass, java_dyn_Linkage, Opt) \
! template(CallSite_klass, java_dyn_CallSite, Opt) \
! template(MethodHandle_klass, java_dyn_MethodHandle, Pre_JSR292) \
! template(MemberName_klass, java_dyn_MemberName, Pre_JSR292) \
! template(MethodHandleImpl_klass, java_dyn_MethodHandleImpl, Pre_JSR292) /* AllowTransitionalJSR292 ONLY */ \
! template(MethodHandleNatives_klass, java_dyn_MethodHandleNatives, Pre_JSR292) \
! template(AdapterMethodHandle_klass, java_dyn_AdapterMethodHandle, Pre_JSR292) \
! template(BoundMethodHandle_klass, java_dyn_BoundMethodHandle, Pre_JSR292) \
! template(DirectMethodHandle_klass, java_dyn_DirectMethodHandle, Pre_JSR292) \
! template(MethodType_klass, java_dyn_MethodType, Pre_JSR292) \
! template(MethodTypeForm_klass, java_dyn_MethodTypeForm, Pre_JSR292) \
! template(WrongMethodTypeException_klass, java_dyn_WrongMethodTypeException, Pre_JSR292) \
! template(Linkage_klass, java_dyn_Linkage, Pre_JSR292) \
! template(CallSite_klass, java_dyn_CallSite, Pre_JSR292) \
/* Note: MethodHandle must be first, and CallSite last in group */ \
\
template(StringBuffer_klass, java_lang_StringBuffer, Pre) \
template(StringBuilder_klass, java_lang_StringBuilder, Pre) \
\
*** 205,214 ****
--- 205,215 ----
FIRST_WKID = NO_WKID + 1
};
enum InitOption {
Pre, // preloaded; error if not present
+ Pre_JSR292, // preloaded if EnableMethodHandles
// Order is significant. Options before this point require resolve_or_fail.
// Options after this point will use resolve_or_null instead.
Opt, // preload tried; NULL if not present
*** 399,408 ****
--- 400,410 ----
assert(k != NULL, "preloaded klass not initialized");
return k;
}
static klassOop check_klass_Pre(klassOop k) { return check_klass(k); }
+ static klassOop check_klass_Pre_JSR292(klassOop k) { return EnableInvokeDynamic ? check_klass(k) : k; }
static klassOop check_klass_Opt(klassOop k) { return k; }
static klassOop check_klass_Opt_Kernel(klassOop k) { return k; } //== Opt
static klassOop check_klass_Opt_Only_JDK15(klassOop k) {
assert(JDK_Version::is_gte_jdk15x_version(), "JDK 1.5 only");
return k;
*** 418,427 ****
--- 420,431 ----
static void initialize_wk_klasses_through(WKID end_id, WKID &start_id, TRAPS) {
int limit = (int)end_id + 1;
initialize_wk_klasses_until((WKID) limit, start_id, THREAD);
}
+ static Symbol* find_backup_symbol(Symbol* symbol, const char* from_prefix, const char* to_prefix);
+
public:
#define WK_KLASS_DECLARE(name, ignore_symbol, option) \
static klassOop name() { return check_klass_##option(_well_known_klasses[WK_KLASS_ENUM_NAME(name)]); }
WK_KLASSES_DO(WK_KLASS_DECLARE);
#undef WK_KLASS_DECLARE
*** 439,448 ****
--- 443,455 ----
// The corresponding method to load the class must be called before calling them.
static klassOop abstract_ownable_synchronizer_klass() { return check_klass(_abstract_ownable_synchronizer_klass); }
static void load_abstract_ownable_synchronizer_klass(TRAPS);
+ static Symbol* find_backup_class_name(Symbol* class_name_symbol);
+ static Symbol* find_backup_signature(Symbol* signature_symbol);
+
private:
// Tells whether ClassLoader.loadClassInternal is present
static bool has_loadClassInternal() { return _has_loadClassInternal; }
public:
src/share/vm/classfile/systemDictionary.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File