< prev index next >

src/share/vm/c1/c1_LinearScan.hpp

Print this page
rev 11647 : 8161258: Simplify including platform files.
Summary: Include patform files with macros cpu_header() etc. Do various cleanups of macro usages. Remove _64/_32 from adlc generated files and platform .hpp files. Merge stubRoutines_x86*.hpp. Remove empty mutex_<os>* files.
Reviewed-by: dholmes, coleenp, kbarrett


  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_C1_C1_LINEARSCAN_HPP
  26 #define SHARE_VM_C1_C1_LINEARSCAN_HPP
  27 
  28 #include "c1/c1_FpuStackSim.hpp"
  29 #include "c1/c1_FrameMap.hpp"
  30 #include "c1/c1_IR.hpp"
  31 #include "c1/c1_Instruction.hpp"
  32 #include "c1/c1_LIR.hpp"
  33 #include "c1/c1_LIRGenerator.hpp"

  34 
  35 class DebugInfoCache;
  36 class FpuStackAllocator;
  37 class IRScopeDebugInfo;
  38 class Interval;
  39 class IntervalWalker;
  40 class LIRGenerator;
  41 class LinearScan;
  42 class MoveResolver;
  43 class Range;
  44 
  45 typedef GrowableArray<Interval*> IntervalArray;
  46 typedef GrowableArray<Interval*> IntervalList;
  47 typedef GrowableArray<IntervalList*> IntervalsList;
  48 typedef GrowableArray<ScopeValue*> ScopeValueArray;
  49 typedef GrowableArray<LIR_OpList*> LIR_OpListStack;
  50 
  51 enum IntervalUseKind {
  52   // priority of use kinds must be ascending
  53   noUse = 0,


 942     number_of_timers
 943   };
 944 
 945  private:
 946   elapsedTimer _timers[number_of_timers];
 947   const char*  timer_name(int idx);
 948 
 949  public:
 950   LinearScanTimers();
 951 
 952   void begin_method();                     // called for each method when register allocation starts
 953   void end_method(LinearScan* allocator);  // called for each method when register allocation completed
 954   void print(double total_time);           // called before termination of VM to print global summary
 955 
 956   elapsedTimer* timer(int idx) { return &(_timers[idx]); }
 957 };
 958 
 959 
 960 #endif // ifndef PRODUCT
 961 
 962 
 963 // Pick up platform-dependent implementation details
 964 #ifdef TARGET_ARCH_x86
 965 # include "c1_LinearScan_x86.hpp"
 966 #endif
 967 #ifdef TARGET_ARCH_sparc
 968 # include "c1_LinearScan_sparc.hpp"
 969 #endif
 970 #ifdef TARGET_ARCH_arm
 971 # include "c1_LinearScan_arm.hpp"
 972 #endif
 973 #ifdef TARGET_ARCH_ppc
 974 # include "c1_LinearScan_ppc.hpp"
 975 #endif
 976 #ifdef TARGET_ARCH_aarch64
 977 # include "c1_LinearScan_aarch64.hpp"
 978 #endif
 979 
 980 
 981 #endif // SHARE_VM_C1_C1_LINEARSCAN_HPP


  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_C1_C1_LINEARSCAN_HPP
  26 #define SHARE_VM_C1_C1_LINEARSCAN_HPP
  27 
  28 #include "c1/c1_FpuStackSim.hpp"
  29 #include "c1/c1_FrameMap.hpp"
  30 #include "c1/c1_IR.hpp"
  31 #include "c1/c1_Instruction.hpp"
  32 #include "c1/c1_LIR.hpp"
  33 #include "c1/c1_LIRGenerator.hpp"
  34 #include "utilities/macros.hpp"
  35 
  36 class DebugInfoCache;
  37 class FpuStackAllocator;
  38 class IRScopeDebugInfo;
  39 class Interval;
  40 class IntervalWalker;
  41 class LIRGenerator;
  42 class LinearScan;
  43 class MoveResolver;
  44 class Range;
  45 
  46 typedef GrowableArray<Interval*> IntervalArray;
  47 typedef GrowableArray<Interval*> IntervalList;
  48 typedef GrowableArray<IntervalList*> IntervalsList;
  49 typedef GrowableArray<ScopeValue*> ScopeValueArray;
  50 typedef GrowableArray<LIR_OpList*> LIR_OpListStack;
  51 
  52 enum IntervalUseKind {
  53   // priority of use kinds must be ascending
  54   noUse = 0,


 943     number_of_timers
 944   };
 945 
 946  private:
 947   elapsedTimer _timers[number_of_timers];
 948   const char*  timer_name(int idx);
 949 
 950  public:
 951   LinearScanTimers();
 952 
 953   void begin_method();                     // called for each method when register allocation starts
 954   void end_method(LinearScan* allocator);  // called for each method when register allocation completed
 955   void print(double total_time);           // called before termination of VM to print global summary
 956 
 957   elapsedTimer* timer(int idx) { return &(_timers[idx]); }
 958 };
 959 
 960 
 961 #endif // ifndef PRODUCT
 962 

 963 // Pick up platform-dependent implementation details
 964 #include CPU_HEADER(c1_LinearScan)















 965 
 966 #endif // SHARE_VM_C1_C1_LINEARSCAN_HPP
< prev index next >