1549 // Initialization 1550 static void initialize(TRAPS); 1551 // Accessing 1552 #define VM_SYMBOL_DECLARE(name, ignore) \ 1553 static Symbol* name() { \ 1554 return _symbols[VM_SYMBOL_ENUM_NAME(name)]; \ 1555 } 1556 VM_SYMBOLS_DO(VM_SYMBOL_DECLARE, VM_SYMBOL_DECLARE) 1557 #undef VM_SYMBOL_DECLARE 1558 1559 // Sharing support 1560 static void symbols_do(SymbolClosure* f); 1561 static void metaspace_pointers_do(MetaspaceClosure *it); 1562 static void serialize(SerializeClosure* soc); 1563 1564 static Symbol* type_signature(BasicType t) { 1565 assert((uint)t < T_VOID+1, "range check"); 1566 assert(_type_signatures[t] != NULL, "domain check"); 1567 return _type_signatures[t]; 1568 } 1569 // inverse of type_signature; returns T_OBJECT if s is not recognized 1570 static BasicType signature_type(const Symbol* s); 1571 1572 static Symbol* symbol_at(SID id) { 1573 assert(id >= FIRST_SID && id < SID_LIMIT, "oob"); 1574 assert(_symbols[id] != NULL, "init"); 1575 return _symbols[id]; 1576 } 1577 1578 // Returns symbol's SID if one is assigned, else NO_SID. 1579 static SID find_sid(const Symbol* symbol); 1580 static SID find_sid(const char* symbol_name); 1581 1582 #ifndef PRODUCT 1583 // No need for this in the product: 1584 static const char* name_for(SID sid); 1585 #endif //PRODUCT 1586 }; 1587 1588 // VM Intrinsic ID's uniquely identify some very special methods 1589 class vmIntrinsics: AllStatic { 1590 friend class vmSymbols; | 1549 // Initialization 1550 static void initialize(TRAPS); 1551 // Accessing 1552 #define VM_SYMBOL_DECLARE(name, ignore) \ 1553 static Symbol* name() { \ 1554 return _symbols[VM_SYMBOL_ENUM_NAME(name)]; \ 1555 } 1556 VM_SYMBOLS_DO(VM_SYMBOL_DECLARE, VM_SYMBOL_DECLARE) 1557 #undef VM_SYMBOL_DECLARE 1558 1559 // Sharing support 1560 static void symbols_do(SymbolClosure* f); 1561 static void metaspace_pointers_do(MetaspaceClosure *it); 1562 static void serialize(SerializeClosure* soc); 1563 1564 static Symbol* type_signature(BasicType t) { 1565 assert((uint)t < T_VOID+1, "range check"); 1566 assert(_type_signatures[t] != NULL, "domain check"); 1567 return _type_signatures[t]; 1568 } 1569 1570 static Symbol* symbol_at(SID id) { 1571 assert(id >= FIRST_SID && id < SID_LIMIT, "oob"); 1572 assert(_symbols[id] != NULL, "init"); 1573 return _symbols[id]; 1574 } 1575 1576 // Returns symbol's SID if one is assigned, else NO_SID. 1577 static SID find_sid(const Symbol* symbol); 1578 static SID find_sid(const char* symbol_name); 1579 1580 #ifndef PRODUCT 1581 // No need for this in the product: 1582 static const char* name_for(SID sid); 1583 #endif //PRODUCT 1584 }; 1585 1586 // VM Intrinsic ID's uniquely identify some very special methods 1587 class vmIntrinsics: AllStatic { 1588 friend class vmSymbols; |