Chromium Code Reviews| Index: runtime/vm/symbols.h |
| =================================================================== |
| --- runtime/vm/symbols.h (revision 14980) |
| +++ runtime/vm/symbols.h (working copy) |
| @@ -146,16 +146,19 @@ |
| // without having to maintain copies in each isolate. |
| class Symbols : public AllStatic { |
| public: |
| + enum { kMaxOneByteCharCode = 0xFF }; |
|
Ivan Posva
2012/11/17 01:30:58
kMaxOneCharCodeSymbol or similar. It is not relate
Florian Schneider
2012/11/19 16:04:02
Done.
|
| + |
| // List of strings that are pre created in the vm isolate. |
| - enum { |
| + enum SymbolId { |
| kIllegal = 0, |
| #define DEFINE_SYMBOL_INDEX(symbol, literal) \ |
| k##symbol, |
| PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_INDEX) |
| #undef DEFINE_SYMBOL_INDEX |
| - |
| - kMaxId, |
| + kMaxPredefinedId, |
| + kNullCharId = kMaxPredefinedId, |
| + kMaxId = kNullCharId + kMaxOneByteCharCode + 1, |
| }; |
| // Access methods for symbols stored in the vm isolate. |
| @@ -183,11 +186,13 @@ |
| intptr_t length); |
| // Returns char* of predefined symbol. |
| - static const char* Name(intptr_t symbol); |
| + static const char* Name(SymbolId symbol); |
| + static RawString* FromCharCode(uint32_t char_code); |
| + |
| private: |
| enum { |
| - kInitialVMIsolateSymtabSize = ((Symbols::kMaxId + 15) & -16), |
| + kInitialVMIsolateSymtabSize = ((kMaxId + 15) & -16), |
| kInitialSymtabSize = 256 |
| }; |
| @@ -218,11 +223,11 @@ |
| static RawObject* GetVMSymbol(intptr_t object_id); |
| static bool IsVMSymbolId(intptr_t object_id) { |
| return (object_id >= kMaxPredefinedObjectIds && |
| - object_id < (kMaxPredefinedObjectIds + Symbols::kMaxId)); |
| + object_id < (kMaxPredefinedObjectIds + kMaxId)); |
| } |
| // List of symbols that are stored in the vm isolate for easy access. |
| - static RawString* predefined_[Symbols::kMaxId]; |
| + static RawString* predefined_[kMaxId]; |
| friend class SnapshotReader; |
| friend class SnapshotWriter; |