| Index: vm/symbols.h
|
| ===================================================================
|
| --- vm/symbols.h (revision 10306)
|
| +++ vm/symbols.h (working copy)
|
| @@ -71,7 +71,7 @@
|
|
|
| // Access methods for symbols stored in the vm isolate.
|
| #define DEFINE_SYMBOL_ACCESSOR(symbol, literal) \
|
| - static RawString* symbol() { return Symbols::New(literal); }
|
| + static RawString* symbol() { return predefined_[k##symbol]; }
|
| PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_ACCESSOR)
|
| #undef DEFINE_SYMBOL_ACCESSOR
|
|
|
| @@ -123,11 +123,19 @@
|
| intptr_t begin_index,
|
| intptr_t len,
|
| intptr_t hash);
|
| + static intptr_t LookupVMSymbol(RawObject* obj);
|
| + static RawObject* GetVMSymbol(intptr_t object_id);
|
| + static bool IsVMSymbolId(intptr_t object_id) {
|
| + return (object_id >= Object::kMaxId &&
|
| + object_id < (Object::kMaxId + kMaxPredefined));
|
| + }
|
|
|
| // List of symbols that are stored in the vm isolate for easy access.
|
| static RawString* predefined_[kMaxPredefined];
|
|
|
| friend class SnapshotReader;
|
| + friend class SnapshotWriter;
|
| + friend class ApiMessageReader;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Symbols);
|
| };
|
|
|