< prev index next >

src/share/vm/classfile/placeholders.hpp

Print this page
rev 9081 : imported patch more.patch


 203   void               set_loadInstanceThreadQ(SeenThread* SeenThread) { _loadInstanceThreadQ = SeenThread; }
 204 
 205   SeenThread*        defineThreadQ()        const { return _defineThreadQ; }
 206   void               set_defineThreadQ(SeenThread* SeenThread) { _defineThreadQ = SeenThread; }
 207 
 208   PlaceholderEntry* next() const {
 209     return (PlaceholderEntry*)HashtableEntry<Symbol*, mtClass>::next();
 210   }
 211 
 212   PlaceholderEntry** next_addr() {
 213     return (PlaceholderEntry**)HashtableEntry<Symbol*, mtClass>::next_addr();
 214   }
 215 
 216   // Test for equality
 217   // Entries are unique for class/classloader name pair
 218   bool equals(Symbol* class_name, ClassLoaderData* loader) const {
 219     return (klassname() == class_name && loader_data() == loader);
 220   }
 221 
 222   SeenThread* actionToQueue(PlaceholderTable::classloadAction action) {
 223     SeenThread* queuehead;
 224     switch (action) {
 225       case PlaceholderTable::LOAD_INSTANCE:
 226          queuehead = _loadInstanceThreadQ;
 227          break;
 228       case PlaceholderTable::LOAD_SUPER:
 229          queuehead = _superThreadQ;
 230          break;
 231       case PlaceholderTable::DEFINE_CLASS:
 232          queuehead = _defineThreadQ;
 233          break;
 234       default: Unimplemented();
 235     }
 236     return queuehead;
 237   }
 238 
 239   void set_threadQ(SeenThread* seenthread, PlaceholderTable::classloadAction action) {
 240     switch (action) {
 241       case PlaceholderTable::LOAD_INSTANCE:
 242          _loadInstanceThreadQ = seenthread;
 243          break;




 203   void               set_loadInstanceThreadQ(SeenThread* SeenThread) { _loadInstanceThreadQ = SeenThread; }
 204 
 205   SeenThread*        defineThreadQ()        const { return _defineThreadQ; }
 206   void               set_defineThreadQ(SeenThread* SeenThread) { _defineThreadQ = SeenThread; }
 207 
 208   PlaceholderEntry* next() const {
 209     return (PlaceholderEntry*)HashtableEntry<Symbol*, mtClass>::next();
 210   }
 211 
 212   PlaceholderEntry** next_addr() {
 213     return (PlaceholderEntry**)HashtableEntry<Symbol*, mtClass>::next_addr();
 214   }
 215 
 216   // Test for equality
 217   // Entries are unique for class/classloader name pair
 218   bool equals(Symbol* class_name, ClassLoaderData* loader) const {
 219     return (klassname() == class_name && loader_data() == loader);
 220   }
 221 
 222   SeenThread* actionToQueue(PlaceholderTable::classloadAction action) {
 223     SeenThread* queuehead = NULL;
 224     switch (action) {
 225       case PlaceholderTable::LOAD_INSTANCE:
 226          queuehead = _loadInstanceThreadQ;
 227          break;
 228       case PlaceholderTable::LOAD_SUPER:
 229          queuehead = _superThreadQ;
 230          break;
 231       case PlaceholderTable::DEFINE_CLASS:
 232          queuehead = _defineThreadQ;
 233          break;
 234       default: Unimplemented();
 235     }
 236     return queuehead;
 237   }
 238 
 239   void set_threadQ(SeenThread* seenthread, PlaceholderTable::classloadAction action) {
 240     switch (action) {
 241       case PlaceholderTable::LOAD_INSTANCE:
 242          _loadInstanceThreadQ = seenthread;
 243          break;


< prev index next >