src/hotspot/share/asm/codeBuffer.hpp
changeset 57834 e686b661fa05
parent 55329 03af124751f5
child 58679 9c3209ff7550
equal deleted inserted replaced
57833:3283cff319c8 57834:e686b661fa05
   247 class CodeString;
   247 class CodeString;
   248 class CodeStrings {
   248 class CodeStrings {
   249 private:
   249 private:
   250 #ifndef PRODUCT
   250 #ifndef PRODUCT
   251   CodeString* _strings;
   251   CodeString* _strings;
       
   252   CodeString* _strings_last;
   252 #ifdef ASSERT
   253 #ifdef ASSERT
   253   // Becomes true after copy-out, forbids further use.
   254   // Becomes true after copy-out, forbids further use.
   254   bool _defunct; // Zero bit pattern is "valid", see memset call in decode_env::decode_env
   255   bool _defunct; // Zero bit pattern is "valid", see memset call in decode_env::decode_env
   255 #endif
   256 #endif
   256   static const char* _prefix; // defaults to " ;; "
   257   static const char* _prefix; // defaults to " ;; "
   260   CodeString* find_last(intptr_t offset) const;
   261   CodeString* find_last(intptr_t offset) const;
   261 
   262 
   262   void set_null_and_invalidate() {
   263   void set_null_and_invalidate() {
   263 #ifndef PRODUCT
   264 #ifndef PRODUCT
   264     _strings = NULL;
   265     _strings = NULL;
       
   266     _strings_last = NULL;
   265 #ifdef ASSERT
   267 #ifdef ASSERT
   266     _defunct = true;
   268     _defunct = true;
   267 #endif
   269 #endif
   268 #endif
   270 #endif
   269   }
   271   }
   270 
   272 
   271 public:
   273 public:
   272   CodeStrings() {
   274   CodeStrings() {
   273 #ifndef PRODUCT
   275 #ifndef PRODUCT
   274     _strings = NULL;
   276     _strings = NULL;
       
   277     _strings_last = NULL;
   275 #ifdef ASSERT
   278 #ifdef ASSERT
   276     _defunct = false;
   279     _defunct = false;
   277 #endif
   280 #endif
   278 #endif
   281 #endif
   279   }
   282   }