src/share/vm/c1/c1_ValueMap.hpp

Print this page




 183   void do_InstanceOf     (InstanceOf*      x) { /* nothing to do */ }
 184   void do_BlockBegin     (BlockBegin*      x) { /* nothing to do */ }
 185   void do_Goto           (Goto*            x) { /* nothing to do */ }
 186   void do_If             (If*              x) { /* nothing to do */ }
 187   void do_IfInstanceOf   (IfInstanceOf*    x) { /* nothing to do */ }
 188   void do_TableSwitch    (TableSwitch*     x) { /* nothing to do */ }
 189   void do_LookupSwitch   (LookupSwitch*    x) { /* nothing to do */ }
 190   void do_Return         (Return*          x) { /* nothing to do */ }
 191   void do_Throw          (Throw*           x) { /* nothing to do */ }
 192   void do_Base           (Base*            x) { /* nothing to do */ }
 193   void do_OsrEntry       (OsrEntry*        x) { /* nothing to do */ }
 194   void do_ExceptionObject(ExceptionObject* x) { /* nothing to do */ }
 195   void do_RoundFP        (RoundFP*         x) { /* nothing to do */ }
 196   void do_UnsafeGetRaw   (UnsafeGetRaw*    x) { /* nothing to do */ }
 197   void do_UnsafeGetObject(UnsafeGetObject* x) { /* nothing to do */ }
 198   void do_UnsafePrefetchRead (UnsafePrefetchRead*  x) { /* nothing to do */ }
 199   void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x) { /* nothing to do */ }
 200   void do_ProfileCall    (ProfileCall*     x) { /* nothing to do */ }
 201   void do_ProfileInvoke  (ProfileInvoke*   x) { /* nothing to do */ };
 202   void do_RuntimeCall    (RuntimeCall*     x) { /* nothing to do */ };

 203 };
 204 
 205 
 206 class ValueNumberingEffects: public ValueNumberingVisitor {
 207  private:
 208   ValueMap*     _map;
 209 
 210  public:
 211   // implementation for abstract methods of ValueNumberingVisitor
 212   void          kill_memory()                    { _map->kill_memory(); }
 213   void          kill_field(ciField* field)       { _map->kill_field(field); }
 214   void          kill_array(ValueType* type)      { _map->kill_array(type); }
 215 
 216   ValueNumberingEffects(ValueMap* map): _map(map) {}
 217 };
 218 
 219 
 220 class GlobalValueNumbering: public ValueNumberingVisitor {
 221  private:
 222   ValueMap*     _current_map;     // value map of current block


 183   void do_InstanceOf     (InstanceOf*      x) { /* nothing to do */ }
 184   void do_BlockBegin     (BlockBegin*      x) { /* nothing to do */ }
 185   void do_Goto           (Goto*            x) { /* nothing to do */ }
 186   void do_If             (If*              x) { /* nothing to do */ }
 187   void do_IfInstanceOf   (IfInstanceOf*    x) { /* nothing to do */ }
 188   void do_TableSwitch    (TableSwitch*     x) { /* nothing to do */ }
 189   void do_LookupSwitch   (LookupSwitch*    x) { /* nothing to do */ }
 190   void do_Return         (Return*          x) { /* nothing to do */ }
 191   void do_Throw          (Throw*           x) { /* nothing to do */ }
 192   void do_Base           (Base*            x) { /* nothing to do */ }
 193   void do_OsrEntry       (OsrEntry*        x) { /* nothing to do */ }
 194   void do_ExceptionObject(ExceptionObject* x) { /* nothing to do */ }
 195   void do_RoundFP        (RoundFP*         x) { /* nothing to do */ }
 196   void do_UnsafeGetRaw   (UnsafeGetRaw*    x) { /* nothing to do */ }
 197   void do_UnsafeGetObject(UnsafeGetObject* x) { /* nothing to do */ }
 198   void do_UnsafePrefetchRead (UnsafePrefetchRead*  x) { /* nothing to do */ }
 199   void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x) { /* nothing to do */ }
 200   void do_ProfileCall    (ProfileCall*     x) { /* nothing to do */ }
 201   void do_ProfileInvoke  (ProfileInvoke*   x) { /* nothing to do */ };
 202   void do_RuntimeCall    (RuntimeCall*     x) { /* nothing to do */ };
 203   void do_MemBar         (MemBar*          x) { /* nothing to do */ };
 204 };
 205 
 206 
 207 class ValueNumberingEffects: public ValueNumberingVisitor {
 208  private:
 209   ValueMap*     _map;
 210 
 211  public:
 212   // implementation for abstract methods of ValueNumberingVisitor
 213   void          kill_memory()                    { _map->kill_memory(); }
 214   void          kill_field(ciField* field)       { _map->kill_field(field); }
 215   void          kill_array(ValueType* type)      { _map->kill_array(type); }
 216 
 217   ValueNumberingEffects(ValueMap* map): _map(map) {}
 218 };
 219 
 220 
 221 class GlobalValueNumbering: public ValueNumberingVisitor {
 222  private:
 223   ValueMap*     _current_map;     // value map of current block