equal
deleted
inserted
replaced
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 } |