comparison src/share/vm/classfile/javaClasses.cpp @ 2416:38fea01eb669

6817525: turn on method handle functionality by default for JSR 292 Summary: After appropriate testing, we need to turn on EnableMethodHandles and EnableInvokeDynamic by default. Reviewed-by: never, kvn, jrose, phh
author twisti
date Thu, 31 Mar 2011 02:31:57 -0700
parents b099aaf51bf8
children 352622fd140a
comparison
equal deleted inserted replaced
2415:09f96c3ff1ad 2416:38fea01eb669
2320 2320
2321 int java_lang_invoke_AdapterMethodHandle::_conversion_offset; 2321 int java_lang_invoke_AdapterMethodHandle::_conversion_offset;
2322 2322
2323 void java_lang_invoke_MethodHandle::compute_offsets() { 2323 void java_lang_invoke_MethodHandle::compute_offsets() {
2324 klassOop k = SystemDictionary::MethodHandle_klass(); 2324 klassOop k = SystemDictionary::MethodHandle_klass();
2325 if (k != NULL && EnableMethodHandles) { 2325 if (k != NULL && EnableInvokeDynamic) {
2326 bool allow_super = false; 2326 bool allow_super = false;
2327 if (AllowTransitionalJSR292) allow_super = true; // temporary, to access java.dyn.MethodHandleImpl 2327 if (AllowTransitionalJSR292) allow_super = true; // temporary, to access java.dyn.MethodHandleImpl
2328 compute_offset(_type_offset, k, vmSymbols::type_name(), vmSymbols::java_lang_invoke_MethodType_signature(), allow_super); 2328 compute_offset(_type_offset, k, vmSymbols::type_name(), vmSymbols::java_lang_invoke_MethodType_signature(), allow_super);
2329 compute_offset(_vmtarget_offset, k, vmSymbols::vmtarget_name(), vmSymbols::object_signature(), allow_super); 2329 compute_offset(_vmtarget_offset, k, vmSymbols::vmtarget_name(), vmSymbols::object_signature(), allow_super);
2330 compute_offset(_vmentry_offset, k, vmSymbols::vmentry_name(), vmSymbols::machine_word_signature(), allow_super); 2330 compute_offset(_vmentry_offset, k, vmSymbols::vmentry_name(), vmSymbols::machine_word_signature(), allow_super);
2335 } 2335 }
2336 } 2336 }
2337 2337
2338 void java_lang_invoke_MemberName::compute_offsets() { 2338 void java_lang_invoke_MemberName::compute_offsets() {
2339 klassOop k = SystemDictionary::MemberName_klass(); 2339 klassOop k = SystemDictionary::MemberName_klass();
2340 if (k != NULL && EnableMethodHandles) { 2340 if (k != NULL && EnableInvokeDynamic) {
2341 compute_offset(_clazz_offset, k, vmSymbols::clazz_name(), vmSymbols::class_signature()); 2341 compute_offset(_clazz_offset, k, vmSymbols::clazz_name(), vmSymbols::class_signature());
2342 compute_offset(_name_offset, k, vmSymbols::name_name(), vmSymbols::string_signature()); 2342 compute_offset(_name_offset, k, vmSymbols::name_name(), vmSymbols::string_signature());
2343 compute_offset(_type_offset, k, vmSymbols::type_name(), vmSymbols::object_signature()); 2343 compute_offset(_type_offset, k, vmSymbols::type_name(), vmSymbols::object_signature());
2344 compute_offset(_flags_offset, k, vmSymbols::flags_name(), vmSymbols::int_signature()); 2344 compute_offset(_flags_offset, k, vmSymbols::flags_name(), vmSymbols::int_signature());
2345 compute_offset(_vmtarget_offset, k, vmSymbols::vmtarget_name(), vmSymbols::object_signature()); 2345 compute_offset(_vmtarget_offset, k, vmSymbols::vmtarget_name(), vmSymbols::object_signature());
2347 } 2347 }
2348 } 2348 }
2349 2349
2350 void java_lang_invoke_DirectMethodHandle::compute_offsets() { 2350 void java_lang_invoke_DirectMethodHandle::compute_offsets() {
2351 klassOop k = SystemDictionary::DirectMethodHandle_klass(); 2351 klassOop k = SystemDictionary::DirectMethodHandle_klass();
2352 if (k != NULL && EnableMethodHandles) { 2352 if (k != NULL && EnableInvokeDynamic) {
2353 compute_offset(_vmindex_offset, k, vmSymbols::vmindex_name(), vmSymbols::int_signature(), true); 2353 compute_offset(_vmindex_offset, k, vmSymbols::vmindex_name(), vmSymbols::int_signature(), true);
2354 } 2354 }
2355 } 2355 }
2356 2356
2357 void java_lang_invoke_BoundMethodHandle::compute_offsets() { 2357 void java_lang_invoke_BoundMethodHandle::compute_offsets() {
2358 klassOop k = SystemDictionary::BoundMethodHandle_klass(); 2358 klassOop k = SystemDictionary::BoundMethodHandle_klass();
2359 if (k != NULL && EnableMethodHandles) { 2359 if (k != NULL && EnableInvokeDynamic) {
2360 compute_offset(_vmargslot_offset, k, vmSymbols::vmargslot_name(), vmSymbols::int_signature(), true); 2360 compute_offset(_vmargslot_offset, k, vmSymbols::vmargslot_name(), vmSymbols::int_signature(), true);
2361 compute_offset(_argument_offset, k, vmSymbols::argument_name(), vmSymbols::object_signature(), true); 2361 compute_offset(_argument_offset, k, vmSymbols::argument_name(), vmSymbols::object_signature(), true);
2362 } 2362 }
2363 } 2363 }
2364 2364
2365 void java_lang_invoke_AdapterMethodHandle::compute_offsets() { 2365 void java_lang_invoke_AdapterMethodHandle::compute_offsets() {
2366 klassOop k = SystemDictionary::AdapterMethodHandle_klass(); 2366 klassOop k = SystemDictionary::AdapterMethodHandle_klass();
2367 if (k != NULL && EnableMethodHandles) { 2367 if (k != NULL && EnableInvokeDynamic) {
2368 compute_offset(_conversion_offset, k, vmSymbols::conversion_name(), vmSymbols::int_signature(), true); 2368 compute_offset(_conversion_offset, k, vmSymbols::conversion_name(), vmSymbols::int_signature(), true);
2369 } 2369 }
2370 } 2370 }
2371 2371
2372 oop java_lang_invoke_MethodHandle::type(oop mh) { 2372 oop java_lang_invoke_MethodHandle::type(oop mh) {
2980 void JavaClasses::compute_offsets() { 2980 void JavaClasses::compute_offsets() {
2981 2981
2982 java_lang_Class::compute_offsets(); 2982 java_lang_Class::compute_offsets();
2983 java_lang_Thread::compute_offsets(); 2983 java_lang_Thread::compute_offsets();
2984 java_lang_ThreadGroup::compute_offsets(); 2984 java_lang_ThreadGroup::compute_offsets();
2985 if (EnableMethodHandles) { 2985 if (EnableInvokeDynamic) {
2986 java_lang_invoke_MethodHandle::compute_offsets(); 2986 java_lang_invoke_MethodHandle::compute_offsets();
2987 java_lang_invoke_MemberName::compute_offsets(); 2987 java_lang_invoke_MemberName::compute_offsets();
2988 java_lang_invoke_DirectMethodHandle::compute_offsets(); 2988 java_lang_invoke_DirectMethodHandle::compute_offsets();
2989 java_lang_invoke_BoundMethodHandle::compute_offsets(); 2989 java_lang_invoke_BoundMethodHandle::compute_offsets();
2990 java_lang_invoke_AdapterMethodHandle::compute_offsets(); 2990 java_lang_invoke_AdapterMethodHandle::compute_offsets();
2991 java_lang_invoke_MethodType::compute_offsets(); 2991 java_lang_invoke_MethodType::compute_offsets();
2992 java_lang_invoke_MethodTypeForm::compute_offsets(); 2992 java_lang_invoke_MethodTypeForm::compute_offsets();
2993 }
2994 if (EnableInvokeDynamic) {
2995 java_lang_invoke_CallSite::compute_offsets(); 2993 java_lang_invoke_CallSite::compute_offsets();
2996 } 2994 }
2997 java_security_AccessControlContext::compute_offsets(); 2995 java_security_AccessControlContext::compute_offsets();
2998 // Initialize reflection classes. The layouts of these classes 2996 // Initialize reflection classes. The layouts of these classes
2999 // changed with the new reflection implementation in JDK 1.4, and 2997 // changed with the new reflection implementation in JDK 1.4, and