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

Side by Side Diff: runtime/vm/dart.cc

Issue 2669543003: Use the app snapshot when testing with -cdartk. (Closed)
Patch Set: . Created 3 years, 10 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 #include "vm/dart.h" 5 #include "vm/dart.h"
6 6
7 #include "vm/become.h" 7 #include "vm/become.h"
8 #include "vm/clustered_snapshot.h" 8 #include "vm/clustered_snapshot.h"
9 #include "vm/code_observers.h" 9 #include "vm/code_observers.h"
10 #include "vm/cpu.h" 10 #include "vm/cpu.h"
(...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 I->set_current_tag(default_tag); 630 I->set_current_tag(default_tag);
631 631
632 if (FLAG_keep_code) { 632 if (FLAG_keep_code) {
633 I->set_deoptimized_code_array( 633 I->set_deoptimized_code_array(
634 GrowableObjectArray::Handle(GrowableObjectArray::New())); 634 GrowableObjectArray::Handle(GrowableObjectArray::New()));
635 } 635 }
636 return Error::null(); 636 return Error::null();
637 } 637 }
638 638
639 639
640 const char* Dart::FeaturesString(Snapshot::Kind kind) {
641 TextBuffer buffer(64);
642
643 // Different fields are included for DEBUG/RELEASE/PRODUCT.
644 #if defined(DEBUG)
645 buffer.AddString("debug");
646 #elif defined(PRODUCT)
647 buffer.AddString("product");
648 #else
649 buffer.AddString("release");
650 #endif
651
652 if (Snapshot::IncludesCode(kind)) {
653 // Checked mode affects deopt ids.
654 buffer.AddString(FLAG_enable_asserts ? " asserts" : " no-asserts");
655 buffer.AddString(FLAG_enable_type_checks ? " type-checks"
656 : " no-type-checks");
657
658 // Generated code must match the host architecture and ABI.
659 #if defined(TARGET_ARCH_ARM)
660 #if defined(TARGET_ABI_IOS)
661 buffer.AddString(" arm-ios");
662 #elif defined(TARGET_ABI_EABI)
663 buffer.AddString(" arm-eabi");
664 #else
665 #error Unknown ABI
666 #endif
667 buffer.AddString(TargetCPUFeatures::hardfp_supported() ? " hardfp"
668 : " softfp");
669 #elif defined(TARGET_ARCH_ARM64)
670 buffer.AddString(" arm64");
671 #elif defined(TARGET_ARCH_MIPS)
672 buffer.AddString(" mips");
673 #elif defined(TARGET_ARCH_IA32)
674 buffer.AddString(" ia32");
675 #elif defined(TARGET_ARCH_X64)
676 #if defined(_WIN64)
677 buffer.AddString(" x64-win");
678 #else
679 buffer.AddString(" x64-sysv");
680 #endif
681 #elif defined(TARGET_ARCH_DBC)
682 buffer.AddString(" dbc");
683 #elif defined(TARGET_ARCH_DBC64)
684 buffer.AddString(" dbc64");
685 #endif
686 }
687
688 return buffer.Steal();
689 }
690
691
692 void Dart::RunShutdownCallback() { 640 void Dart::RunShutdownCallback() {
693 Isolate* isolate = Isolate::Current(); 641 Isolate* isolate = Isolate::Current();
694 void* callback_data = isolate->init_callback_data(); 642 void* callback_data = isolate->init_callback_data();
695 Dart_IsolateShutdownCallback callback = Isolate::ShutdownCallback(); 643 Dart_IsolateShutdownCallback callback = Isolate::ShutdownCallback();
696 if (callback != NULL) { 644 if (callback != NULL) {
697 (callback)(callback_data); 645 (callback)(callback_data);
698 } 646 }
699 } 647 }
700 648
701 649
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
742 return predefined_handles_->handles_.IsValidScopedHandle(address); 690 return predefined_handles_->handles_.IsValidScopedHandle(address);
743 } 691 }
744 692
745 693
746 bool Dart::IsReadOnlyApiHandle(Dart_Handle handle) { 694 bool Dart::IsReadOnlyApiHandle(Dart_Handle handle) {
747 ASSERT(predefined_handles_ != NULL); 695 ASSERT(predefined_handles_ != NULL);
748 return predefined_handles_->api_handles_.IsValidHandle(handle); 696 return predefined_handles_->api_handles_.IsValidHandle(handle);
749 } 697 }
750 698
751 } // namespace dart 699 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698