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

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

Issue 735543003: Range feedback for binary integer operations. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comments Created 6 years 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 | « runtime/vm/stub_code_x64.cc ('k') | runtime/vm/token.h » ('j') | 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, "") \ 19 V(Empty, "") \
20 V(EqualOperator, "==") \ 20 V(EqualOperator, "==") \
21 V(GreaterEqualOperator, ">=") \ 21 V(GreaterEqualOperator, ">=") \
22 V(LessEqualOperator, "<=") \ 22 V(LessEqualOperator, "<=") \
23 V(LeftShiftOperator, "<<") \
24 V(RightShiftOperator, ">>") \
25 V(TruncDivOperator, "~/") \
23 V(UnaryMinus, "unary-") \ 26 V(UnaryMinus, "unary-") \
24 V(Identical, "identical") \ 27 V(Identical, "identical") \
25 V(Length, "length") \ 28 V(Length, "length") \
26 V(IndexToken, "[]") \ 29 V(IndexToken, "[]") \
27 V(AssignIndexToken, "[]=") \ 30 V(AssignIndexToken, "[]=") \
28 V(TopLevel, "::") \ 31 V(TopLevel, "::") \
29 V(DefaultLabel, ":L") \ 32 V(DefaultLabel, ":L") \
30 V(This, "this") \ 33 V(This, "this") \
31 V(Other, "other") \ 34 V(Other, "other") \
32 V(Super, "super") \ 35 V(Super, "super") \
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 } 466 }
464 static const String& Slash() { 467 static const String& Slash() {
465 return *(symbol_handles_[kNullCharId + '/']); 468 return *(symbol_handles_[kNullCharId + '/']);
466 } 469 }
467 static const String& At() { 470 static const String& At() {
468 return *(symbol_handles_[kNullCharId + '@']); 471 return *(symbol_handles_[kNullCharId + '@']);
469 } 472 }
470 static const String& Semicolon() { 473 static const String& Semicolon() {
471 return *(symbol_handles_[kNullCharId + ';']); 474 return *(symbol_handles_[kNullCharId + ';']);
472 } 475 }
476 static const String& Star() {
477 return *(symbol_handles_[kNullCharId + '*']);
478 }
479 static const String& Percent() {
480 return *(symbol_handles_[kNullCharId + '%']);
481 }
482 static const String& Caret() {
483 return *(symbol_handles_[kNullCharId + '^']);
484 }
485 static const String& Tilde() {
486 return *(symbol_handles_[kNullCharId + '~']);
487 }
473 488
474 // Access methods for symbol handles stored in the vm isolate. 489 // Access methods for symbol handles stored in the vm isolate.
475 #define DEFINE_SYMBOL_HANDLE_ACCESSOR(symbol, literal) \ 490 #define DEFINE_SYMBOL_HANDLE_ACCESSOR(symbol, literal) \
476 static const String& symbol() { return *(symbol_handles_[k##symbol##Id]); } 491 static const String& symbol() { return *(symbol_handles_[k##symbol##Id]); }
477 PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_HANDLE_ACCESSOR) 492 PREDEFINED_SYMBOLS_LIST(DEFINE_SYMBOL_HANDLE_ACCESSOR)
478 #undef DEFINE_SYMBOL_HANDLE_ACCESSOR 493 #undef DEFINE_SYMBOL_HANDLE_ACCESSOR
479 494
480 // Get symbol for scanner keyword. 495 // Get symbol for scanner keyword.
481 static const String& Keyword(Token::Kind keyword); 496 static const String& Keyword(Token::Kind keyword);
482 497
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 friend class SnapshotReader; 574 friend class SnapshotReader;
560 friend class SnapshotWriter; 575 friend class SnapshotWriter;
561 friend class ApiMessageReader; 576 friend class ApiMessageReader;
562 577
563 DISALLOW_COPY_AND_ASSIGN(Symbols); 578 DISALLOW_COPY_AND_ASSIGN(Symbols);
564 }; 579 };
565 580
566 } // namespace dart 581 } // namespace dart
567 582
568 #endif // VM_SYMBOLS_H_ 583 #endif // VM_SYMBOLS_H_
OLDNEW
« no previous file with comments | « runtime/vm/stub_code_x64.cc ('k') | runtime/vm/token.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698