hotspot/src/share/vm/oops/methodData.hpp
changeset 27643 fe8f95a2d9bc
parent 26586 992efa57514f
child 28365 ccf31849c7a4
--- a/hotspot/src/share/vm/oops/methodData.hpp	Mon Nov 10 19:04:38 2014 +0300
+++ b/hotspot/src/share/vm/oops/methodData.hpp	Tue Nov 11 11:05:41 2014 +0100
@@ -2096,7 +2096,8 @@
   short             _num_loops;
   short             _num_blocks;
   // Does this method contain anything worth profiling?
-  bool              _would_profile;
+  enum WouldProfile {unknown, no_profile, profile};
+  WouldProfile      _would_profile;
 
   // Size of _data array in bytes.  (Excludes header and extra_data fields.)
   int _data_size;
@@ -2270,8 +2271,8 @@
   }
 #endif
 
-  void set_would_profile(bool p)              { _would_profile = p;    }
-  bool would_profile() const                  { return _would_profile; }
+  void set_would_profile(bool p)              { _would_profile = p ? profile : no_profile; }
+  bool would_profile() const                  { return _would_profile != no_profile; }
 
   int num_loops() const                       { return _num_loops;  }
   void set_num_loops(int n)                   { _num_loops = n;     }