| OLD | NEW |
| 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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 #if defined(TARGET_ARCH_ARM) | 90 #if defined(TARGET_ARCH_ARM) |
| 91 // These offsets are embedded in precompiled instructions. We need simarm | 91 // These offsets are embedded in precompiled instructions. We need simarm |
| 92 // (compiler) and arm (runtime) to agree. | 92 // (compiler) and arm (runtime) to agree. |
| 93 CHECK_OFFSET(Heap::TopOffset(Heap::kNew), 8); | 93 CHECK_OFFSET(Heap::TopOffset(Heap::kNew), 8); |
| 94 CHECK_OFFSET(Thread::stack_limit_offset(), 4); | 94 CHECK_OFFSET(Thread::stack_limit_offset(), 4); |
| 95 CHECK_OFFSET(Thread::object_null_offset(), 40); | 95 CHECK_OFFSET(Thread::object_null_offset(), 40); |
| 96 CHECK_OFFSET(SingleTargetCache::upper_limit_offset(), 14); | 96 CHECK_OFFSET(SingleTargetCache::upper_limit_offset(), 14); |
| 97 CHECK_OFFSET(Isolate::object_store_offset(), 28); | 97 CHECK_OFFSET(Isolate::object_store_offset(), 28); |
| 98 NOT_IN_PRODUCT(CHECK_OFFSET(sizeof(ClassHeapStats), 120)); | 98 NOT_IN_PRODUCT(CHECK_OFFSET(sizeof(ClassHeapStats), 120)); |
| 99 #endif | 99 #endif |
| 100 #if defined(TARGET_ARCH_MIPS) | |
| 101 // These offsets are embedded in precompiled instructions. We need simmips | |
| 102 // (compiler) and mips (runtime) to agree. | |
| 103 CHECK_OFFSET(Heap::TopOffset(Heap::kNew), 8); | |
| 104 CHECK_OFFSET(Thread::stack_limit_offset(), 4); | |
| 105 CHECK_OFFSET(Thread::object_null_offset(), 40); | |
| 106 CHECK_OFFSET(SingleTargetCache::upper_limit_offset(), 14); | |
| 107 CHECK_OFFSET(Isolate::object_store_offset(), 28); | |
| 108 NOT_IN_PRODUCT(CHECK_OFFSET(sizeof(ClassHeapStats), 120)); | |
| 109 #endif | |
| 110 #if defined(TARGET_ARCH_ARM64) | 100 #if defined(TARGET_ARCH_ARM64) |
| 111 // These offsets are embedded in precompiled instructions. We need simarm64 | 101 // These offsets are embedded in precompiled instructions. We need simarm64 |
| 112 // (compiler) and arm64 (runtime) to agree. | 102 // (compiler) and arm64 (runtime) to agree. |
| 113 CHECK_OFFSET(Heap::TopOffset(Heap::kNew), 8); | 103 CHECK_OFFSET(Heap::TopOffset(Heap::kNew), 8); |
| 114 CHECK_OFFSET(Thread::stack_limit_offset(), 8); | 104 CHECK_OFFSET(Thread::stack_limit_offset(), 8); |
| 115 CHECK_OFFSET(Thread::object_null_offset(), 80); | 105 CHECK_OFFSET(Thread::object_null_offset(), 80); |
| 116 CHECK_OFFSET(SingleTargetCache::upper_limit_offset(), 26); | 106 CHECK_OFFSET(SingleTargetCache::upper_limit_offset(), 26); |
| 117 CHECK_OFFSET(Isolate::object_store_offset(), 56); | 107 CHECK_OFFSET(Isolate::object_store_offset(), 56); |
| 118 NOT_IN_PRODUCT(CHECK_OFFSET(sizeof(ClassHeapStats), 208)); | 108 NOT_IN_PRODUCT(CHECK_OFFSET(sizeof(ClassHeapStats), 208)); |
| 119 #endif | 109 #endif |
| (...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 681 #if defined(TARGET_ARCH_ARM) | 671 #if defined(TARGET_ARCH_ARM) |
| 682 #if defined(TARGET_OS_MACOS) || defined(TARGET_OS_MACOS_IOS) | 672 #if defined(TARGET_OS_MACOS) || defined(TARGET_OS_MACOS_IOS) |
| 683 buffer.AddString(" arm-ios"); | 673 buffer.AddString(" arm-ios"); |
| 684 #else | 674 #else |
| 685 buffer.AddString(" arm-eabi"); | 675 buffer.AddString(" arm-eabi"); |
| 686 #endif | 676 #endif |
| 687 buffer.AddString(TargetCPUFeatures::hardfp_supported() ? " hardfp" | 677 buffer.AddString(TargetCPUFeatures::hardfp_supported() ? " hardfp" |
| 688 : " softfp"); | 678 : " softfp"); |
| 689 #elif defined(TARGET_ARCH_ARM64) | 679 #elif defined(TARGET_ARCH_ARM64) |
| 690 buffer.AddString(" arm64"); | 680 buffer.AddString(" arm64"); |
| 691 #elif defined(TARGET_ARCH_MIPS) | |
| 692 buffer.AddString(" mips"); | |
| 693 #elif defined(TARGET_ARCH_IA32) | 681 #elif defined(TARGET_ARCH_IA32) |
| 694 buffer.AddString(" ia32"); | 682 buffer.AddString(" ia32"); |
| 695 #elif defined(TARGET_ARCH_X64) | 683 #elif defined(TARGET_ARCH_X64) |
| 696 #if defined(_WIN64) | 684 #if defined(_WIN64) |
| 697 buffer.AddString(" x64-win"); | 685 buffer.AddString(" x64-win"); |
| 698 #else | 686 #else |
| 699 buffer.AddString(" x64-sysv"); | 687 buffer.AddString(" x64-sysv"); |
| 700 #endif | 688 #endif |
| 701 #elif defined(TARGET_ARCH_DBC) | 689 #elif defined(TARGET_ARCH_DBC) |
| 702 buffer.AddString(" dbc"); | 690 buffer.AddString(" dbc"); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 766 return predefined_handles_->handles_.IsValidScopedHandle(address); | 754 return predefined_handles_->handles_.IsValidScopedHandle(address); |
| 767 } | 755 } |
| 768 | 756 |
| 769 | 757 |
| 770 bool Dart::IsReadOnlyApiHandle(Dart_Handle handle) { | 758 bool Dart::IsReadOnlyApiHandle(Dart_Handle handle) { |
| 771 ASSERT(predefined_handles_ != NULL); | 759 ASSERT(predefined_handles_ != NULL); |
| 772 return predefined_handles_->api_handles_.IsValidHandle(handle); | 760 return predefined_handles_->api_handles_.IsValidHandle(handle); |
| 773 } | 761 } |
| 774 | 762 |
| 775 } // namespace dart | 763 } // namespace dart |
| OLD | NEW |