< prev index next >

src/hotspot/share/compiler/oopMap.hpp

Print this page
@@ -152,10 +152,11 @@
  class OopMap: public ResourceObj {
    friend class OopMapStream;
    friend class VMStructs;
    friend class OopMapSet;
    friend class OopMapSort;
+   friend class SCCReader;
   private:
    int  _pc_offset; // offset in the code that this OopMap corresponds to
    int  _omv_count; // number of OopMapValues in the stream
    int  _num_oops;  // number of oops
    int  _index;     // index in OopMapSet

@@ -178,10 +179,11 @@
  
    void set_xxx(VMReg reg, OopMapValue::oop_types x, VMReg optional);
  
   public:
    OopMap(int frame_size, int arg_count);
+   OopMap(int data_size);
  
    // pc-offset handling
    int offset() const     { return _pc_offset; }
    void set_offset(int o) { _pc_offset = o; }
    int count() const { return _omv_count; }

@@ -214,17 +216,19 @@
    bool equals(const OopMap* other) const;
  };
  
  class OopMapSet : public ResourceObj {
    friend class VMStructs;
+   friend class SCCReader;
   private:
    GrowableArray<OopMap*> _list;
  
    int add(OopMap* value) { return _list.append(value); }
  
   public:
    OopMapSet();
+   OopMapSet(int size);
  
    // returns the number of OopMaps in this OopMapSet
    int size() const            { return _list.length(); }
    // returns the OopMap at a given index
    OopMap* at(int index) const { return _list.at(index); }
< prev index next >