< prev index next >

src/share/vm/classfile/stringTable.hpp

Print this page




  94     int removed = 0;
  95     unlink_or_oops_do(cl, NULL, &processed, &removed);
  96   }
  97   static void unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f, int* processed, int* removed);
  98   static void unlink(BoolObjectClosure* cl, int* processed, int* removed) {
  99     unlink_or_oops_do(cl, NULL, processed, removed);
 100   }
 101   // Serially invoke "f->do_oop" on the locations of all oops in the table.
 102   static void oops_do(OopClosure* f);
 103 
 104   // Possibly parallel versions of the above
 105   static void possibly_parallel_unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f, int* processed, int* removed);
 106   static void possibly_parallel_unlink(BoolObjectClosure* cl, int* processed, int* removed) {
 107     possibly_parallel_unlink_or_oops_do(cl, NULL, processed, removed);
 108   }
 109   static void possibly_parallel_oops_do(OopClosure* f);
 110 
 111   // Hashing algorithm, used as the hash value used by the
 112   //     StringTable for bucket selection and comparison (stored in the
 113   //     HashtableEntry structures).  This is used in the String.intern() method.
 114   static unsigned int hash_string(const jchar* s, int len);
 115 
 116   // Internal test.
 117   static void test_alt_hash() PRODUCT_RETURN;
 118 
 119   // Probing
 120   static oop lookup(Symbol* symbol);
 121   static oop lookup(jchar* chars, int length);
 122 
 123   // Interning
 124   static oop intern(Symbol* symbol, TRAPS);
 125   static oop intern(oop string, TRAPS);
 126   static oop intern(const char *utf8_string, TRAPS);
 127 
 128   // Debugging
 129   static void verify();
 130   static void dump(outputStream* st, bool verbose=false);
 131 
 132   enum VerifyMesgModes {
 133     _verify_quietly    = 0,
 134     _verify_with_mesgs = 1




  94     int removed = 0;
  95     unlink_or_oops_do(cl, NULL, &processed, &removed);
  96   }
  97   static void unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f, int* processed, int* removed);
  98   static void unlink(BoolObjectClosure* cl, int* processed, int* removed) {
  99     unlink_or_oops_do(cl, NULL, processed, removed);
 100   }
 101   // Serially invoke "f->do_oop" on the locations of all oops in the table.
 102   static void oops_do(OopClosure* f);
 103 
 104   // Possibly parallel versions of the above
 105   static void possibly_parallel_unlink_or_oops_do(BoolObjectClosure* cl, OopClosure* f, int* processed, int* removed);
 106   static void possibly_parallel_unlink(BoolObjectClosure* cl, int* processed, int* removed) {
 107     possibly_parallel_unlink_or_oops_do(cl, NULL, processed, removed);
 108   }
 109   static void possibly_parallel_oops_do(OopClosure* f);
 110 
 111   // Hashing algorithm, used as the hash value used by the
 112   //     StringTable for bucket selection and comparison (stored in the
 113   //     HashtableEntry structures).  This is used in the String.intern() method.
 114   template<typename T> static unsigned int hash_string(const T* s, int len);
 115 
 116   // Internal test.
 117   static void test_alt_hash() PRODUCT_RETURN;
 118 
 119   // Probing
 120   static oop lookup(Symbol* symbol);
 121   static oop lookup(jchar* chars, int length);
 122 
 123   // Interning
 124   static oop intern(Symbol* symbol, TRAPS);
 125   static oop intern(oop string, TRAPS);
 126   static oop intern(const char *utf8_string, TRAPS);
 127 
 128   // Debugging
 129   static void verify();
 130   static void dump(outputStream* st, bool verbose=false);
 131 
 132   enum VerifyMesgModes {
 133     _verify_quietly    = 0,
 134     _verify_with_mesgs = 1


< prev index next >