Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Side by Side Diff: runtime/vm/symbols.h

Issue 1056203002: Eliminate some duplicate symbols in the predefined symbols list (the keyword list already has these… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_SYMBOLS_H_ 5 #ifndef VM_SYMBOLS_H_
6 #define VM_SYMBOLS_H_ 6 #define VM_SYMBOLS_H_
7 7
8 #include "vm/object.h" 8 #include "vm/object.h"
9 #include "vm/snapshot_ids.h" 9 #include "vm/snapshot_ids.h"
10 10
11 namespace dart { 11 namespace dart {
12 12
13 // Forward declarations. 13 // Forward declarations.
14 class Isolate; 14 class Isolate;
15 class ObjectPointerVisitor; 15 class ObjectPointerVisitor;
16 16
17 // One-character symbols are added implicitly. 17 // One-character symbols are added implicitly.
18 #define PREDEFINED_SYMBOLS_LIST(V) \ 18 #define PREDEFINED_SYMBOLS_LIST(V) \
19 V(Empty, "") \
20 V(EqualOperator, "==") \ 19 V(EqualOperator, "==") \
21 V(GreaterEqualOperator, ">=") \ 20 V(GreaterEqualOperator, ">=") \
22 V(LessEqualOperator, "<=") \ 21 V(LessEqualOperator, "<=") \
23 V(LeftShiftOperator, "<<") \ 22 V(LeftShiftOperator, "<<") \
24 V(RightShiftOperator, ">>") \ 23 V(RightShiftOperator, ">>") \
25 V(TruncDivOperator, "~/") \ 24 V(TruncDivOperator, "~/") \
26 V(UnaryMinus, "unary-") \ 25 V(UnaryMinus, "unary-") \
27 V(Identical, "identical") \ 26 V(Identical, "identical") \
28 V(Length, "length") \ 27 V(Length, "length") \
29 V(_setLength, "_setLength") \ 28 V(_setLength, "_setLength") \
30 V(IndexToken, "[]") \ 29 V(IndexToken, "[]") \
31 V(AssignIndexToken, "[]=") \ 30 V(AssignIndexToken, "[]=") \
32 V(TopLevel, "::") \ 31 V(TopLevel, "::") \
33 V(DefaultLabel, ":L") \ 32 V(DefaultLabel, ":L") \
34 V(This, "this") \
35 V(Other, "other") \ 33 V(Other, "other") \
36 V(Super, "super") \
37 V(Call, "call") \ 34 V(Call, "call") \
38 V(Current, "current") \ 35 V(Current, "current") \
39 V(MoveNext, "moveNext") \ 36 V(MoveNext, "moveNext") \
40 V(IsYieldEach, "isYieldEach") \ 37 V(IsYieldEach, "isYieldEach") \
41 V(Value, "value") \ 38 V(Value, "value") \
42 V(_EnumHelper, "_EnumHelper") \ 39 V(_EnumHelper, "_EnumHelper") \
43 V(_SyncIterable, "_SyncIterable") \ 40 V(_SyncIterable, "_SyncIterable") \
44 V(_SyncIterableConstructor, "_SyncIterable.") \ 41 V(_SyncIterableConstructor, "_SyncIterable.") \
45 V(_SyncIterator, "_SyncIterator") \ 42 V(_SyncIterator, "_SyncIterator") \
46 V(IteratorParameter, ":iterator") \ 43 V(IteratorParameter, ":iterator") \
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 V(CurrentContextVar, ":current_context_var") \ 82 V(CurrentContextVar, ":current_context_var") \
86 V(SavedTryContextVar, ":saved_try_context_var") \ 83 V(SavedTryContextVar, ":saved_try_context_var") \
87 V(ExceptionParameter, ":exception") \ 84 V(ExceptionParameter, ":exception") \
88 V(StackTraceParameter, ":stack_trace") \ 85 V(StackTraceParameter, ":stack_trace") \
89 V(ExceptionVar, ":exception_var") \ 86 V(ExceptionVar, ":exception_var") \
90 V(StackTraceVar, ":stack_trace_var") \ 87 V(StackTraceVar, ":stack_trace_var") \
91 V(SavedExceptionVar, ":saved_exception_var") \ 88 V(SavedExceptionVar, ":saved_exception_var") \
92 V(SavedStackTraceVar, ":saved_stack_trace_var") \ 89 V(SavedStackTraceVar, ":saved_stack_trace_var") \
93 V(ListLiteralElement, "list literal element") \ 90 V(ListLiteralElement, "list literal element") \
94 V(ForInIter, ":for-in-iter") \ 91 V(ForInIter, ":for-in-iter") \
95 V(Library, "library") \
96 V(LoadLibrary, "loadLibrary") \ 92 V(LoadLibrary, "loadLibrary") \
97 V(_LibraryPrefix, "_LibraryPrefix") \ 93 V(_LibraryPrefix, "_LibraryPrefix") \
98 V(On, "on") \ 94 V(On, "on") \
99 V(Of, "of") \ 95 V(Of, "of") \
100 V(Deferred, "deferred") \ 96 V(Deferred, "deferred") \
101 V(Show, "show") \ 97 V(Show, "show") \
102 V(Hide, "hide") \ 98 V(Hide, "hide") \
103 V(Async, "async") \ 99 V(Async, "async") \
104 V(Sync, "sync") \ 100 V(Sync, "sync") \
105 V(YieldKw, "yield") \ 101 V(YieldKw, "yield") \
(...skipping 16 matching lines...) Expand all
122 V(CompleterComplete, "complete") \ 118 V(CompleterComplete, "complete") \
123 V(CompleterCompleteError, "completeError") \ 119 V(CompleterCompleteError, "completeError") \
124 V(CompleterConstructor, "Completer.") \ 120 V(CompleterConstructor, "Completer.") \
125 V(CompleterFuture, "future") \ 121 V(CompleterFuture, "future") \
126 V(StreamIterator, "StreamIterator") \ 122 V(StreamIterator, "StreamIterator") \
127 V(StreamIteratorConstructor, "StreamIterator.") \ 123 V(StreamIteratorConstructor, "StreamIterator.") \
128 V(Native, "native") \ 124 V(Native, "native") \
129 V(Class, "Class") \ 125 V(Class, "Class") \
130 V(Null, "Null") \ 126 V(Null, "Null") \
131 V(Dynamic, "dynamic") \ 127 V(Dynamic, "dynamic") \
132 V(Void, "void") \
133 V(UnresolvedClass, "UnresolvedClass") \ 128 V(UnresolvedClass, "UnresolvedClass") \
134 V(Type, "_Type") \ 129 V(Type, "_Type") \
135 V(TypeRef, "_TypeRef") \ 130 V(TypeRef, "_TypeRef") \
136 V(TypeParameter, "_TypeParameter") \ 131 V(TypeParameter, "_TypeParameter") \
137 V(BoundedType, "_BoundedType") \ 132 V(BoundedType, "_BoundedType") \
138 V(MixinAppType, "_MixinAppType") \ 133 V(MixinAppType, "_MixinAppType") \
139 V(TypeArguments, "TypeArguments") \ 134 V(TypeArguments, "TypeArguments") \
140 V(Patch, "patch") \ 135 V(Patch, "patch") \
141 V(PatchClass, "PatchClass") \ 136 V(PatchClass, "PatchClass") \
142 V(Function, "Function") \ 137 V(Function, "Function") \
(...skipping 26 matching lines...) Expand all
169 V(LanguageError, "LanguageError") \ 164 V(LanguageError, "LanguageError") \
170 V(UnhandledException, "UnhandledException") \ 165 V(UnhandledException, "UnhandledException") \
171 V(UnwindError, "UnwindError") \ 166 V(UnwindError, "UnwindError") \
172 V(IntegerImplementation, "_IntegerImplementation") \ 167 V(IntegerImplementation, "_IntegerImplementation") \
173 V(Number, "num") \ 168 V(Number, "num") \
174 V(_Smi, "_Smi") \ 169 V(_Smi, "_Smi") \
175 V(_Mint, "_Mint") \ 170 V(_Mint, "_Mint") \
176 V(_Bigint, "_Bigint") \ 171 V(_Bigint, "_Bigint") \
177 V(_Double, "_Double") \ 172 V(_Double, "_Double") \
178 V(Bool, "bool") \ 173 V(Bool, "bool") \
179 V(True, "true") \
180 V(False, "false") \
181 V(_List, "_List") \ 174 V(_List, "_List") \
182 V(_ListFactory, "_List.") \ 175 V(_ListFactory, "_List.") \
183 V(_GrowableList, "_GrowableList") \ 176 V(_GrowableList, "_GrowableList") \
184 V(_GrowableListFactory, "_GrowableList.") \ 177 V(_GrowableListFactory, "_GrowableList.") \
185 V(_GrowableListWithData, "_GrowableList.withData") \ 178 V(_GrowableListWithData, "_GrowableList.withData") \
186 V(_ImmutableList, "_ImmutableList") \ 179 V(_ImmutableList, "_ImmutableList") \
187 V(_LinkedHashMap, "_InternalLinkedHashMap") \ 180 V(_LinkedHashMap, "_InternalLinkedHashMap") \
188 V(_String, "String") \ 181 V(_String, "String") \
189 V(OneByteString, "_OneByteString") \ 182 V(OneByteString, "_OneByteString") \
190 V(TwoByteString, "_TwoByteString") \ 183 V(TwoByteString, "_TwoByteString") \
(...skipping 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 static const String& Percent() { 498 static const String& Percent() {
506 return *(symbol_handles_[kNullCharId + '%']); 499 return *(symbol_handles_[kNullCharId + '%']);
507 } 500 }
508 static const String& Caret() { 501 static const String& Caret() {
509 return *(symbol_handles_[kNullCharId + '^']); 502 return *(symbol_handles_[kNullCharId + '^']);
510 } 503 }
511 static const String& Tilde() { 504 static const String& Tilde() {
512 return *(symbol_handles_[kNullCharId + '~']); 505 return *(symbol_handles_[kNullCharId + '~']);
513 } 506 }
514 507
508 static const String& Empty() { return *(symbol_handles_[kKwTableStart]); }
509 static const String& False() { return *(symbol_handles_[kFALSEId]); }
510 static const String& Library() { return *(symbol_handles_[kLIBRARYId]); }
511 static const String& Super() { return *(symbol_handles_[kSUPERId]); }
512 static const String& This() { return *(symbol_handles_[kTHISId]); }
513 static const String& True() { return *(symbol_handles_[kTRUEId]); }
514 static const String& Void() { return *(symbol_handles_[kVOIDId]); }
515
515 // Access methods for symbol handles stored in the vm isolate. 516 // Access methods for symbol handles stored in the vm isolate.
516 #define DEFINE_SYMBOL_HANDLE_ACCESSOR(symbol, literal) \ 517 #define DEFINE_SYMBOL_HANDLE_ACCESSOR(symbol, literal) \
517 static const String& symbol() { return *(symbol_handles_[k##symbol##Id]); } 518 static const String& symbol() { return *(symbol_handles_[k##symbol##Id]); }
518 PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_HANDLE_ACCESSOR) 519 PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_HANDLE_ACCESSOR)
519 #undef DEFINE_SYMBOL_HANDLE_ACCESSOR 520 #undef DEFINE_SYMBOL_HANDLE_ACCESSOR
520 521
521 // Get symbol for scanner keyword. 522 // Get symbol for scanner keyword.
522 static const String& Keyword(Token::Kind keyword); 523 static const String& Keyword(Token::Kind keyword);
523 524
524 // Initialize frequently used symbols in the vm isolate. 525 // Initialize frequently used symbols in the vm isolate.
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 friend class SnapshotReader; 601 friend class SnapshotReader;
601 friend class SnapshotWriter; 602 friend class SnapshotWriter;
602 friend class ApiMessageReader; 603 friend class ApiMessageReader;
603 604
604 DISALLOW_COPY_AND_ASSIGN(Symbols); 605 DISALLOW_COPY_AND_ASSIGN(Symbols);
605 }; 606 };
606 607
607 } // namespace dart 608 } // namespace dart
608 609
609 #endif // VM_SYMBOLS_H_ 610 #endif // VM_SYMBOLS_H_
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698