155 "adapter_fold/1/ref", |
155 "adapter_fold/1/ref", |
156 "adapter_fold/2/ref", |
156 "adapter_fold/2/ref", |
157 "adapter_fold/3/ref", |
157 "adapter_fold/3/ref", |
158 "adapter_fold/4/ref", |
158 "adapter_fold/4/ref", |
159 "adapter_fold/5/ref", |
159 "adapter_fold/5/ref", |
|
160 |
|
161 "adapter_opt_profiling", |
160 |
162 |
161 NULL |
163 NULL |
162 }; |
164 }; |
163 |
165 |
164 // Adapters. |
166 // Adapters. |
2651 jint new_conversion = adapter_conversion(conv_op, src, dest, stack_move, vminfo); |
2653 jint new_conversion = adapter_conversion(conv_op, src, dest, stack_move, vminfo); |
2652 |
2654 |
2653 // Finalize the conversion field. (Note that it is final to Java code.) |
2655 // Finalize the conversion field. (Note that it is final to Java code.) |
2654 java_lang_invoke_AdapterMethodHandle::set_conversion(mh(), new_conversion); |
2656 java_lang_invoke_AdapterMethodHandle::set_conversion(mh(), new_conversion); |
2655 |
2657 |
|
2658 if (java_lang_invoke_CountingMethodHandle::is_instance(mh())) { |
|
2659 assert(ek_orig == _adapter_retype_only, "only one handled"); |
|
2660 ek_opt = _adapter_opt_profiling; |
|
2661 } |
|
2662 |
2656 // Done! |
2663 // Done! |
2657 java_lang_invoke_MethodHandle::set_vmentry(mh(), entry(ek_opt)); |
2664 java_lang_invoke_MethodHandle::set_vmentry(mh(), entry(ek_opt)); |
2658 |
2665 |
2659 // There should be enough memory barriers on exit from native methods |
2666 // There should be enough memory barriers on exit from native methods |
2660 // to ensure that the MH is fully initialized to all threads before |
2667 // to ensure that the MH is fully initialized to all threads before |
2903 case MethodHandles::GC_JVM_STACK_MOVE_UNIT: |
2910 case MethodHandles::GC_JVM_STACK_MOVE_UNIT: |
2904 // return number of words per slot, signed according to stack direction |
2911 // return number of words per slot, signed according to stack direction |
2905 return MethodHandles::stack_move_unit(); |
2912 return MethodHandles::stack_move_unit(); |
2906 case MethodHandles::GC_CONV_OP_IMPLEMENTED_MASK: |
2913 case MethodHandles::GC_CONV_OP_IMPLEMENTED_MASK: |
2907 return MethodHandles::adapter_conversion_ops_supported_mask(); |
2914 return MethodHandles::adapter_conversion_ops_supported_mask(); |
2908 case MethodHandles::GC_OP_ROT_ARGS_DOWN_LIMIT_BIAS: |
2915 case MethodHandles::GC_COUNT_GWT: |
2909 return MethodHandles::OP_ROT_ARGS_DOWN_LIMIT_BIAS; |
2916 #ifdef COMPILER2 |
|
2917 return true; |
|
2918 #else |
|
2919 return false; |
|
2920 #endif |
2910 } |
2921 } |
2911 return 0; |
2922 return 0; |
2912 } |
2923 } |
2913 JVM_END |
2924 JVM_END |
2914 |
2925 |