comparison src/share/vm/prims/methodHandles.hpp @ 3905:c26de9aef2ed

7071307: MethodHandle bimorphic inlining should consider the frequency Reviewed-by: twisti, roland, kvn, iveresov
author never
date Fri, 02 Sep 2011 20:58:21 -0700
parents ddd894528dbc
children 393f4b789fd0
comparison
equal deleted inserted replaced
3902:11a4af030e4b 3905:c26de9aef2ed
185 _adapter_opt_fold_4_ref, // process N=4 arguments, prepend a reference 185 _adapter_opt_fold_4_ref, // process N=4 arguments, prepend a reference
186 _adapter_opt_fold_5_ref, // process N=5 arguments, prepend a reference 186 _adapter_opt_fold_5_ref, // process N=5 arguments, prepend a reference
187 _adapter_opt_fold_FIRST = _adapter_opt_fold_ref, 187 _adapter_opt_fold_FIRST = _adapter_opt_fold_ref,
188 _adapter_opt_fold_LAST = _adapter_opt_fold_5_ref, 188 _adapter_opt_fold_LAST = _adapter_opt_fold_5_ref,
189 189
190 _adapter_opt_profiling,
191
190 _EK_LIMIT, 192 _EK_LIMIT,
191 _EK_FIRST = 0 193 _EK_FIRST = 0
192 }; 194 };
193 195
194 public: 196 public:
264 return _adapter_collect_args; 266 return _adapter_collect_args;
265 if (ek >= _adapter_opt_fold_FIRST && ek <= _adapter_opt_fold_LAST) 267 if (ek >= _adapter_opt_fold_FIRST && ek <= _adapter_opt_fold_LAST)
266 return _adapter_fold_args; 268 return _adapter_fold_args;
267 if (ek >= _adapter_opt_return_FIRST && ek <= _adapter_opt_return_LAST) 269 if (ek >= _adapter_opt_return_FIRST && ek <= _adapter_opt_return_LAST)
268 return _adapter_opt_return_any; 270 return _adapter_opt_return_any;
271 if (ek == _adapter_opt_profiling)
272 return _adapter_retype_only;
269 assert(false, "oob"); 273 assert(false, "oob");
270 return _EK_LIMIT; 274 return _EK_LIMIT;
271 } 275 }
272 276
273 static bool ek_supported(MethodHandles::EntryKind ek); 277 static bool ek_supported(MethodHandles::EntryKind ek);
580 // format of query to getConstant: 584 // format of query to getConstant:
581 GC_JVM_PUSH_LIMIT = 0, 585 GC_JVM_PUSH_LIMIT = 0,
582 GC_JVM_STACK_MOVE_UNIT = 1, 586 GC_JVM_STACK_MOVE_UNIT = 1,
583 GC_CONV_OP_IMPLEMENTED_MASK = 2, 587 GC_CONV_OP_IMPLEMENTED_MASK = 2,
584 GC_OP_ROT_ARGS_DOWN_LIMIT_BIAS = 3, 588 GC_OP_ROT_ARGS_DOWN_LIMIT_BIAS = 3,
589 GC_COUNT_GWT = 4,
585 590
586 // format of result from getTarget / encode_target: 591 // format of result from getTarget / encode_target:
587 ETF_HANDLE_OR_METHOD_NAME = 0, // all available data (immediate MH or method) 592 ETF_HANDLE_OR_METHOD_NAME = 0, // all available data (immediate MH or method)
588 ETF_DIRECT_HANDLE = 1, // ultimate method handle (will be a DMH, may be self) 593 ETF_DIRECT_HANDLE = 1, // ultimate method handle (will be a DMH, may be self)
589 ETF_METHOD_NAME = 2, // ultimate method as MemberName 594 ETF_METHOD_NAME = 2, // ultimate method as MemberName