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

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

Issue 2485993002: VM: Support bootstrapping core libraries from Kernel binaries instead of source. (Closed)
Patch Set: Done Created 4 years, 1 month 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 RUNTIME_VM_METHOD_RECOGNIZER_H_ 5 #ifndef RUNTIME_VM_METHOD_RECOGNIZER_H_
6 #define RUNTIME_VM_METHOD_RECOGNIZER_H_ 6 #define RUNTIME_VM_METHOD_RECOGNIZER_H_
7 7
8 #include "vm/allocation.h" 8 #include "vm/allocation.h"
9 9
10 namespace dart { 10 namespace dart {
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
508 #undef DEFINE_ENUM_LIST 508 #undef DEFINE_ENUM_LIST
509 kNumRecognizedMethods 509 kNumRecognizedMethods
510 }; 510 };
511 511
512 static Kind RecognizeKind(const Function& function); 512 static Kind RecognizeKind(const Function& function);
513 static bool AlwaysInline(const Function& function); 513 static bool AlwaysInline(const Function& function);
514 static bool PolymorphicTarget(const Function& function); 514 static bool PolymorphicTarget(const Function& function);
515 static intptr_t ResultCid(const Function& function); 515 static intptr_t ResultCid(const Function& function);
516 static intptr_t MethodKindToReceiverCid(Kind kind); 516 static intptr_t MethodKindToReceiverCid(Kind kind);
517 static const char* KindToCString(Kind kind); 517 static const char* KindToCString(Kind kind);
518 #if defined(DART_NO_SNAPSHOT)
519 static void InitializeState(); 518 static void InitializeState();
520 #endif // defined(DART_NO_SNAPSHOT).
521 }; 519 };
522 520
523 521
524 #if defined(DART_NO_SNAPSHOT)
525 #define CHECK_FINGERPRINT2(f, p0, p1, fp) \ 522 #define CHECK_FINGERPRINT2(f, p0, p1, fp) \
526 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp)) 523 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1, fp))
527 524
528 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \ 525 #define CHECK_FINGERPRINT3(f, p0, p1, p2, fp) \
529 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp)) 526 ASSERT(f.CheckSourceFingerprint(#p0 ", " #p1 ", " #p2, fp))
530 #endif // defined(DART_NO_SNAPSHOT).
531 527
532 528
533 // List of recognized list factories: 529 // List of recognized list factories:
534 // (factory-name-symbol, result-cid, fingerprint). 530 // (factory-name-symbol, result-cid, fingerprint).
535 #define RECOGNIZED_LIST_FACTORY_LIST(V) \ 531 #define RECOGNIZED_LIST_FACTORY_LIST(V) \
536 V(_ListFactory, kArrayCid, 0x63078b15) \ 532 V(_ListFactory, kArrayCid, 0x63078b15) \
537 V(_GrowableListWithData, kGrowableObjectArrayCid, 0x25a786de) \ 533 V(_GrowableListWithData, kGrowableObjectArrayCid, 0x25a786de) \
538 V(_GrowableListFactory, kGrowableObjectArrayCid, 0x4f4d4790) \ 534 V(_GrowableListFactory, kGrowableObjectArrayCid, 0x4f4d4790) \
539 V(_Int8ArrayFactory, kTypedDataInt8ArrayCid, 0x2e7749e3) \ 535 V(_Int8ArrayFactory, kTypedDataInt8ArrayCid, 0x2e7749e3) \
540 V(_Uint8ArrayFactory, kTypedDataUint8ArrayCid, 0x6ab75439) \ 536 V(_Uint8ArrayFactory, kTypedDataUint8ArrayCid, 0x6ab75439) \
(...skipping 12 matching lines...) Expand all
553 // Class that recognizes factories and returns corresponding result cid. 549 // Class that recognizes factories and returns corresponding result cid.
554 class FactoryRecognizer : public AllStatic { 550 class FactoryRecognizer : public AllStatic {
555 public: 551 public:
556 // Return kDynamicCid if factory is not recognized. 552 // Return kDynamicCid if factory is not recognized.
557 static intptr_t ResultCid(const Function& factory); 553 static intptr_t ResultCid(const Function& factory);
558 }; 554 };
559 555
560 } // namespace dart 556 } // namespace dart
561 557
562 #endif // RUNTIME_VM_METHOD_RECOGNIZER_H_ 558 #endif // RUNTIME_VM_METHOD_RECOGNIZER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698