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

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

Issue 10915022: Implement argument definition test in the vm. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 3 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
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 #define PREDEFINED_SYMBOLS_LIST(V) \ 17 #define PREDEFINED_SYMBOLS_LIST(V) \
18 V(Empty, "") \
18 V(Dot, ".") \ 19 V(Dot, ".") \
19 V(Equals, "=") \ 20 V(Equals, "=") \
20 V(IndexToken, "[]") \ 21 V(IndexToken, "[]") \
21 V(AssignIndexToken, "[]=") \ 22 V(AssignIndexToken, "[]=") \
22 V(TopLevel, "::") \ 23 V(TopLevel, "::") \
23 V(Empty, "") \ 24 V(DefaultLabel, ":L") \
24 V(This, "this") \ 25 V(This, "this") \
25 V(HasNext, "hasNext") \ 26 V(HasNext, "hasNext") \
26 V(Next, "next") \ 27 V(Next, "next") \
27 V(Value, "value") \ 28 V(Value, "value") \
28 V(ExprTemp, ":expr_temp") \ 29 V(ExprTemp, ":expr_temp") \
29 V(AnonymousClosure, "<anonymous closure>") \ 30 V(AnonymousClosure, "<anonymous closure>") \
30 V(PhaseParameter, ":phase") \ 31 V(PhaseParameter, ":phase") \
31 V(TypeArgumentsParameter, ":type_arguments") \ 32 V(TypeArgumentsParameter, ":type_arguments") \
32 V(AssertionError, "AssertionErrorImplementation") \ 33 V(AssertionError, "AssertionErrorImplementation") \
33 V(TypeError, "TypeErrorImplementation") \ 34 V(TypeError, "TypeErrorImplementation") \
34 V(FallThroughError, "FallThroughErrorImplementation") \ 35 V(FallThroughError, "FallThroughErrorImplementation") \
35 V(StaticResolutionException, "StaticResolutionException") \ 36 V(StaticResolutionException, "StaticResolutionException") \
36 V(ThrowNew, "_throwNew") \ 37 V(ThrowNew, "_throwNew") \
37 V(ListLiteralFactoryClass, "_ListLiteralFactory") \ 38 V(ListLiteralFactoryClass, "_ListLiteralFactory") \
38 V(ListLiteralFactory, "List.fromLiteral") \ 39 V(ListLiteralFactory, "List.fromLiteral") \
39 V(MapLiteralFactoryClass, "_MapLiteralFactory") \ 40 V(MapLiteralFactoryClass, "_MapLiteralFactory") \
40 V(MapLiteralFactory, "Map.fromLiteral") \ 41 V(MapLiteralFactory, "Map.fromLiteral") \
41 V(ImmutableMap, "ImmutableMap") \ 42 V(ImmutableMap, "ImmutableMap") \
42 V(ImmutableMapConstructor, "ImmutableMap._create") \ 43 V(ImmutableMapConstructor, "ImmutableMap._create") \
43 V(StringBase, "StringBase") \ 44 V(StringBase, "StringBase") \
44 V(Interpolate, "_interpolate") \ 45 V(Interpolate, "_interpolate") \
45 V(GetIterator, "iterator") \ 46 V(GetIterator, "iterator") \
46 V(NoSuchMethod, "noSuchMethod") \ 47 V(NoSuchMethod, "noSuchMethod") \
48 V(SavedArgDescVarPrefix, ":saved_args_desc_var") \
49 V(SavedEntryContextVar, ":saved_entry_context_var") \
47 V(SavedContextVar, ":saved_context_var") \ 50 V(SavedContextVar, ":saved_context_var") \
48 V(ExceptionVar, ":exception_var") \ 51 V(ExceptionVar, ":exception_var") \
49 V(StacktraceVar, ":stacktrace_var") \ 52 V(StacktraceVar, ":stacktrace_var") \
50 V(ListLiteralElement, "list literal element") \ 53 V(ListLiteralElement, "list literal element") \
51 V(ForInIter, ":for-in-iter") \ 54 V(ForInIter, ":for-in-iter") \
52 V(Library, "library") \ 55 V(Library, "library") \
53 V(Import, "import") \ 56 V(Import, "import") \
54 V(Source, "source") \ 57 V(Source, "source") \
55 V(Resource, "resource") \ 58 V(Resource, "resource") \
56 V(Class, "Class") \ 59 V(Class, "Class") \
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 163
161 // Helper functions to create a symbol given a string or set of characters. 164 // Helper functions to create a symbol given a string or set of characters.
162 static RawString* New(const char* str); 165 static RawString* New(const char* str);
163 template<typename T> 166 template<typename T>
164 static RawString* New(const T* characters, intptr_t len); 167 static RawString* New(const T* characters, intptr_t len);
165 static RawString* New(const String& str); 168 static RawString* New(const String& str);
166 static RawString* New(const String& str, 169 static RawString* New(const String& str,
167 intptr_t begin_index, 170 intptr_t begin_index,
168 intptr_t length); 171 intptr_t length);
169 172
173 // Returns char* of predefined symbol.
174 static const char* Name(intptr_t symbol);
170 175
171 private: 176 private:
172 enum { 177 enum {
173 kInitialVMIsolateSymtabSize = ((Symbols::kMaxId + 15) & -16), 178 kInitialVMIsolateSymtabSize = ((Symbols::kMaxId + 15) & -16),
174 kInitialSymtabSize = 256 179 kInitialSymtabSize = 256
175 }; 180 };
176 181
177 // Add the string into the VM isolate symbol table. 182 // Add the string into the VM isolate symbol table.
178 static void Add(const Array& symbol_table, const String& str); 183 static void Add(const Array& symbol_table, const String& str);
179 184
(...skipping 30 matching lines...) Expand all
210 friend class SnapshotReader; 215 friend class SnapshotReader;
211 friend class SnapshotWriter; 216 friend class SnapshotWriter;
212 friend class ApiMessageReader; 217 friend class ApiMessageReader;
213 218
214 DISALLOW_COPY_AND_ASSIGN(Symbols); 219 DISALLOW_COPY_AND_ASSIGN(Symbols);
215 }; 220 };
216 221
217 } // namespace dart 222 } // namespace dart
218 223
219 #endif // VM_SYMBOLS_H_ 224 #endif // VM_SYMBOLS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698