hotspot/src/share/vm/c1/c1_GraphBuilder.hpp
changeset 6453 970dc585ab63
parent 5707 6c66849ed24e
child 6745 a34ef8968a84
equal deleted inserted replaced
6452:cc624b341ab2 6453:970dc585ab63
     1 /*
     1 /*
     2  * Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   340   bool append_unsafe_prefetch(ciMethod* callee, bool is_store, bool is_static);
   340   bool append_unsafe_prefetch(ciMethod* callee, bool is_store, bool is_static);
   341   void append_unsafe_CAS(ciMethod* callee);
   341   void append_unsafe_CAS(ciMethod* callee);
   342 
   342 
   343   NOT_PRODUCT(void print_inline_result(ciMethod* callee, bool res);)
   343   NOT_PRODUCT(void print_inline_result(ciMethod* callee, bool res);)
   344 
   344 
   345   // methodDataOop profiling helpers
       
   346   void profile_call(Value recv, ciKlass* predicted_holder);
   345   void profile_call(Value recv, ciKlass* predicted_holder);
   347   void profile_invocation(ciMethod* method);
   346   void profile_invocation(ciMethod* inlinee, ValueStack* state, int bci);
   348   void profile_bci(int bci);
   347 
   349 
   348   // Shortcuts to profiling control.
   350   // Helpers for generation of profile information
   349   bool is_profiling()          { return _compilation->is_profiling();          }
   351   bool profile_branches() {
   350   bool count_invocations()     { return _compilation->count_invocations();     }
   352     return _compilation->env()->comp_level() == CompLevel_fast_compile &&
   351   bool count_backedges()       { return _compilation->count_backedges();       }
   353       Tier1UpdateMethodData && Tier1ProfileBranches;
   352   bool profile_branches()      { return _compilation->profile_branches();      }
   354   }
   353   bool profile_calls()         { return _compilation->profile_calls();         }
   355   bool profile_calls() {
   354   bool profile_inlined_calls() { return _compilation->profile_inlined_calls(); }
   356     return _compilation->env()->comp_level() == CompLevel_fast_compile &&
   355   bool profile_checkcasts()    { return _compilation->profile_checkcasts();    }
   357       Tier1UpdateMethodData && Tier1ProfileCalls;
       
   358   }
       
   359   bool profile_inlined_calls() {
       
   360     return profile_calls() && Tier1ProfileInlinedCalls;
       
   361   }
       
   362   bool profile_checkcasts() {
       
   363     return _compilation->env()->comp_level() == CompLevel_fast_compile &&
       
   364       Tier1UpdateMethodData && Tier1ProfileCheckcasts;
       
   365   }
       
   366 
   356 
   367  public:
   357  public:
   368   NOT_PRODUCT(void print_stats();)
   358   NOT_PRODUCT(void print_stats();)
   369 
   359 
   370   // initialization
   360   // initialization