< prev index next >

src/share/vm/classfile/dictionary.hpp

Print this page




 353   intptr_t symbol_mode() const      { return _symbol_mode; }
 354   void set_symbol_mode(intptr_t m)  { _symbol_mode = m; }
 355 
 356   Method*        method() const     { return _method; }
 357   void set_method(Method* p)        { _method = p; }
 358 
 359   oop      method_type() const      { return _method_type; }
 360   oop*     method_type_addr()       { return &_method_type; }
 361   void set_method_type(oop p)       { _method_type = p; }
 362 
 363   SymbolPropertyEntry* next() const {
 364     return (SymbolPropertyEntry*)HashtableEntry<Symbol*, mtSymbol>::next();
 365   }
 366 
 367   SymbolPropertyEntry** next_addr() {
 368     return (SymbolPropertyEntry**)HashtableEntry<Symbol*, mtSymbol>::next_addr();
 369   }
 370 
 371   void print_on(outputStream* st) const {
 372     symbol()->print_value_on(st);
 373     st->print("/mode="INTX_FORMAT, symbol_mode());
 374     st->print(" -> ");
 375     bool printed = false;
 376     if (method() != NULL) {
 377       method()->print_value_on(st);
 378       printed = true;
 379     }
 380     if (method_type() != NULL) {
 381       if (printed)  st->print(" and ");
 382       st->print(INTPTR_FORMAT, p2i((void *)method_type()));
 383       printed = true;
 384     }
 385     st->print_cr(printed ? "" : "(empty)");
 386   }
 387 };
 388 
 389 // A system-internal mapping of symbols to pointers, both managed
 390 // and unmanaged.  Used to record the auto-generation of each method
 391 // MethodHandle.invoke(S)T, for all signatures (S)T.
 392 class SymbolPropertyTable : public Hashtable<Symbol*, mtSymbol> {
 393   friend class VMStructs;




 353   intptr_t symbol_mode() const      { return _symbol_mode; }
 354   void set_symbol_mode(intptr_t m)  { _symbol_mode = m; }
 355 
 356   Method*        method() const     { return _method; }
 357   void set_method(Method* p)        { _method = p; }
 358 
 359   oop      method_type() const      { return _method_type; }
 360   oop*     method_type_addr()       { return &_method_type; }
 361   void set_method_type(oop p)       { _method_type = p; }
 362 
 363   SymbolPropertyEntry* next() const {
 364     return (SymbolPropertyEntry*)HashtableEntry<Symbol*, mtSymbol>::next();
 365   }
 366 
 367   SymbolPropertyEntry** next_addr() {
 368     return (SymbolPropertyEntry**)HashtableEntry<Symbol*, mtSymbol>::next_addr();
 369   }
 370 
 371   void print_on(outputStream* st) const {
 372     symbol()->print_value_on(st);
 373     st->print("/mode=" INTX_FORMAT, symbol_mode());
 374     st->print(" -> ");
 375     bool printed = false;
 376     if (method() != NULL) {
 377       method()->print_value_on(st);
 378       printed = true;
 379     }
 380     if (method_type() != NULL) {
 381       if (printed)  st->print(" and ");
 382       st->print(INTPTR_FORMAT, p2i((void *)method_type()));
 383       printed = true;
 384     }
 385     st->print_cr(printed ? "" : "(empty)");
 386   }
 387 };
 388 
 389 // A system-internal mapping of symbols to pointers, both managed
 390 // and unmanaged.  Used to record the auto-generation of each method
 391 // MethodHandle.invoke(S)T, for all signatures (S)T.
 392 class SymbolPropertyTable : public Hashtable<Symbol*, mtSymbol> {
 393   friend class VMStructs;


< prev index next >