Mercurial > hg > truffle
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 |