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 // VirtualCallData
  35 //
  36 // A VirtualCallData is used to access profiling information about a
  37 // call.  For now, it has nothing more than a ReceiverTypeData.
  38 public class VirtualCallData extends ReceiverTypeData {
  39   public VirtualCallData(DataLayout layout) {
  40     super(layout);
  41     //assert(layout.tag() == DataLayout.virtualCallDataTag, "wrong type");
  42   }
  43 
  44   static int staticCellCount() {
  45     // At this point we could add more profile state, e.g., for arguments.
  46     // But for now it's the same size as the base record type.
  47     return ReceiverTypeData.staticCellCount();
  48   }
  49 
  50   public int cellCount() {
  51     return staticCellCount();
  52   }
  53 
  54   // Direct accessors
  55   static int virtualCallDataSize() {
  56     return cellOffset(staticCellCount());
  57   }
  58 
  59   public void printDataOn(PrintStream st) {
  60     printShared(st, "VirtualCallData");
  61     printReceiverDataOn(st);
  62   }
  63 }