comparison src/share/vm/classfile/symbolTable.hpp @ 12275:63147986a428

8019835: Strings interned in different threads equal but does not == Summary: Add -XX:+VerifyStringTableAtExit option and code to verify StringTable invariants. Reviewed-by: rdurbin, sspitsyn, coleenp
author dcubed
date Wed, 18 Sep 2013 07:02:10 -0700
parents 01522ca68fc7
children c90e76575b03
comparison
equal deleted inserted replaced
12218:6f45933aef35 12275:63147986a428
309 309
310 // Debugging 310 // Debugging
311 static void verify(); 311 static void verify();
312 static void dump(outputStream* st); 312 static void dump(outputStream* st);
313 313
314 enum VerifyMesgModes {
315 _verify_quietly = 0,
316 _verify_with_mesgs = 1
317 };
318
319 enum VerifyRetTypes {
320 _verify_pass = 0,
321 _verify_fail_continue = 1,
322 _verify_fail_done = 2
323 };
324
325 static VerifyRetTypes compare_entries(int bkt1, int e_cnt1,
326 HashtableEntry<oop, mtSymbol>* e_ptr1,
327 int bkt2, int e_cnt2,
328 HashtableEntry<oop, mtSymbol>* e_ptr2);
329 static VerifyRetTypes verify_entry(int bkt, int e_cnt,
330 HashtableEntry<oop, mtSymbol>* e_ptr,
331 VerifyMesgModes mesg_mode);
332 static int verify_and_compare_entries();
333
314 // Sharing 334 // Sharing
315 static void copy_buckets(char** top, char*end) { 335 static void copy_buckets(char** top, char*end) {
316 the_table()->Hashtable<oop, mtSymbol>::copy_buckets(top, end); 336 the_table()->Hashtable<oop, mtSymbol>::copy_buckets(top, end);
317 } 337 }
318 static void copy_table(char** top, char*end) { 338 static void copy_table(char** top, char*end) {