< prev index next >

src/hotspot/share/compiler/oopMap.hpp

Print this page

182   void set_callee_saved( VMReg local, VMReg caller_machine_register );
183   void set_derived_oop ( VMReg local, VMReg derived_from_local_register );
184 
185   int heap_size() const;
186   void copy_data_to(address addr) const;
187   OopMap* deep_copy();
188 
189   bool legal_vm_reg_name(VMReg local) {
190      return OopMapValue::legal_vm_reg_name(local);
191   }
192 
193   // Printing
194   void print_on(outputStream* st) const;
195   void print() const;
196   bool equals(const OopMap* other) const;
197 };
198 
199 
200 class OopMapSet : public ResourceObj {
201   friend class VMStructs;

202  private:
203   GrowableArray<OopMap*> _list;
204 
205   void add(OopMap* value) { _list.append(value); }
206 




207  public:
208   OopMapSet();
209 
210   // returns the number of OopMaps in this OopMapSet
211   int size() const            { return _list.length(); }
212   // returns the OopMap at a given index
213   OopMap* at(int index) const { return _list.at(index); }
214 
215   // Collect OopMaps.
216   void add_gc_map(int pc, OopMap* map);
217 
218   // Methods oops_do() and all_do() filter out NULL oops and
219   // oop == CompressedOops::base() before passing oops
220   // to closures.
221 
222   // Iterates through frame for a compiled method
223   static void oops_do            (const frame* fr,
224                                   const RegisterMap* reg_map, OopClosure* f);
225   static void update_register_map(const frame* fr, RegisterMap *reg_map);
226 

182   void set_callee_saved( VMReg local, VMReg caller_machine_register );
183   void set_derived_oop ( VMReg local, VMReg derived_from_local_register );
184 
185   int heap_size() const;
186   void copy_data_to(address addr) const;
187   OopMap* deep_copy();
188 
189   bool legal_vm_reg_name(VMReg local) {
190      return OopMapValue::legal_vm_reg_name(local);
191   }
192 
193   // Printing
194   void print_on(outputStream* st) const;
195   void print() const;
196   bool equals(const OopMap* other) const;
197 };
198 
199 
200 class OopMapSet : public ResourceObj {
201   friend class VMStructs;
202   friend class OopClosureWalker;
203  private:
204   GrowableArray<OopMap*> _list;
205 
206   void add(OopMap* value) { _list.append(value); }
207 
208   static void stack_oop_do(oop *p, OopClosure* oop_fn,
209                       GrowableArray<oop> *stack_oops,
210                       intptr_t *stack_base, intptr_t *stack_top);
211 
212  public:
213   OopMapSet();
214 
215   // returns the number of OopMaps in this OopMapSet
216   int size() const            { return _list.length(); }
217   // returns the OopMap at a given index
218   OopMap* at(int index) const { return _list.at(index); }
219 
220   // Collect OopMaps.
221   void add_gc_map(int pc, OopMap* map);
222 
223   // Methods oops_do() and all_do() filter out NULL oops and
224   // oop == CompressedOops::base() before passing oops
225   // to closures.
226 
227   // Iterates through frame for a compiled method
228   static void oops_do            (const frame* fr,
229                                   const RegisterMap* reg_map, OopClosure* f);
230   static void update_register_map(const frame* fr, RegisterMap *reg_map);
231 
< prev index next >