comparison src/share/vm/c1/c1_GraphBuilder.hpp @ 12875:d13d7aba8c12

8023657: New type profiling points: arguments to call Summary: x86 interpreter and c1 type profiling for arguments at calls Reviewed-by: kvn, twisti
author roland
date Wed, 09 Oct 2013 16:32:21 +0200
parents 46f6f063b272
children ce0cc25bc5e2
comparison
equal deleted inserted replaced
12874:46ef27bcacb3 12875:d13d7aba8c12
372 void append_unsafe_CAS(ciMethod* callee); 372 void append_unsafe_CAS(ciMethod* callee);
373 bool append_unsafe_get_and_set_obj(ciMethod* callee, bool is_add); 373 bool append_unsafe_get_and_set_obj(ciMethod* callee, bool is_add);
374 374
375 void print_inlining(ciMethod* callee, const char* msg = NULL, bool success = true); 375 void print_inlining(ciMethod* callee, const char* msg = NULL, bool success = true);
376 376
377 void profile_call(ciMethod* callee, Value recv, ciKlass* predicted_holder); 377 void profile_call(ciMethod* callee, Value recv, ciKlass* predicted_holder, Values* obj_args, bool inlined);
378 void profile_invocation(ciMethod* inlinee, ValueStack* state); 378 void profile_invocation(ciMethod* inlinee, ValueStack* state);
379 379
380 // Shortcuts to profiling control. 380 // Shortcuts to profiling control.
381 bool is_profiling() { return _compilation->is_profiling(); } 381 bool is_profiling() { return _compilation->is_profiling(); }
382 bool count_invocations() { return _compilation->count_invocations(); } 382 bool count_invocations() { return _compilation->count_invocations(); }
384 bool profile_branches() { return _compilation->profile_branches(); } 384 bool profile_branches() { return _compilation->profile_branches(); }
385 bool profile_calls() { return _compilation->profile_calls(); } 385 bool profile_calls() { return _compilation->profile_calls(); }
386 bool profile_inlined_calls() { return _compilation->profile_inlined_calls(); } 386 bool profile_inlined_calls() { return _compilation->profile_inlined_calls(); }
387 bool profile_checkcasts() { return _compilation->profile_checkcasts(); } 387 bool profile_checkcasts() { return _compilation->profile_checkcasts(); }
388 388
389 Values* args_list_for_profiling(int& start, bool may_have_receiver);
390 Values* collect_args_for_profiling(Values* args, bool may_have_receiver);
391
389 public: 392 public:
390 NOT_PRODUCT(void print_stats();) 393 NOT_PRODUCT(void print_stats();)
391 394
392 // initialization 395 // initialization
393 static void initialize(); 396 static void initialize();