1 /*
   2  * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
   3  * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
   4  *
   5  *
   6  *
   7  *
   8  *
   9  *
  10  *
  11  *
  12  *
  13  *
  14  *
  15  *
  16  *
  17  *
  18  *
  19  *
  20  *
  21  *
  22  *
  23  */
  24 
  25 package sun.jvm.hotspot.oops;
  26 
  27 import java.io.*;
  28 import java.util.*;
  29 import sun.jvm.hotspot.debugger.*;
  30 import sun.jvm.hotspot.runtime.*;
  31 import sun.jvm.hotspot.types.*;
  32 import sun.jvm.hotspot.utilities.*;
  33 
  34 // CounterData
  35 //
  36 // A CounterData corresponds to a simple counter.
  37 public class CounterData extends BitData {
  38 
  39   static final int countOff = 0;
  40   static final int counterCellCount = 1;
  41 
  42   public CounterData(DataLayout layout) {
  43     super(layout);
  44   }
  45 
  46   static int staticCellCount() {
  47     return counterCellCount;
  48   }
  49 
  50   public int cellCount() {
  51     return staticCellCount();
  52   }
  53 
  54   // Direct accessor
  55   int count() {
  56     return uintAt(countOff);
  57   }
  58 
  59   // Code generation support
  60   static int countOffset() {
  61     return cellOffset(countOff);
  62   }
  63   static int counterDataSize() {
  64     return cellOffset(counterCellCount);
  65   }
  66 
  67   public void printDataOn(PrintStream st) {
  68     printShared(st, "CounterData");
  69     st.println("count(" + count() + ")");
  70   }
  71 }