OLD | NEW |
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_OBJECT_H_ | 5 #ifndef VM_OBJECT_H_ |
6 #define VM_OBJECT_H_ | 6 #define VM_OBJECT_H_ |
7 | 7 |
8 #include "include/dart_api.h" | 8 #include "include/dart_api.h" |
9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
10 #include "platform/utils.h" | 10 #include "platform/utils.h" |
(...skipping 1758 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1769 value = kMaxInstructionCount; | 1769 value = kMaxInstructionCount; |
1770 } | 1770 } |
1771 raw_ptr()->optimized_call_site_count_ = static_cast<uint16_t>(value); | 1771 raw_ptr()->optimized_call_site_count_ = static_cast<uint16_t>(value); |
1772 } | 1772 } |
1773 | 1773 |
1774 bool IsOptimizable() const; | 1774 bool IsOptimizable() const; |
1775 bool IsNativeAutoSetupScope() const; | 1775 bool IsNativeAutoSetupScope() const; |
1776 void SetIsOptimizable(bool value) const; | 1776 void SetIsOptimizable(bool value) const; |
1777 void SetIsNativeAutoSetupScope(bool value) const; | 1777 void SetIsNativeAutoSetupScope(bool value) const; |
1778 | 1778 |
1779 bool has_finally() const { | |
1780 return HasFinallyBit::decode(raw_ptr()->kind_tag_); | |
1781 } | |
1782 void set_has_finally(bool value) const; | |
1783 | |
1784 bool is_native() const { return NativeBit::decode(raw_ptr()->kind_tag_); } | 1779 bool is_native() const { return NativeBit::decode(raw_ptr()->kind_tag_); } |
1785 void set_is_native(bool value) const; | 1780 void set_is_native(bool value) const; |
1786 | 1781 |
1787 bool is_abstract() const { return AbstractBit::decode(raw_ptr()->kind_tag_); } | 1782 bool is_abstract() const { return AbstractBit::decode(raw_ptr()->kind_tag_); } |
1788 void set_is_abstract(bool value) const; | 1783 void set_is_abstract(bool value) const; |
1789 | 1784 |
1790 bool IsInlineable() const; | 1785 bool IsInlineable() const; |
1791 void set_is_inlinable(bool value) const; | 1786 void set_is_inlinable(bool value) const; |
1792 | 1787 |
1793 bool is_visible() const { | 1788 bool is_visible() const { |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1970 kKindTagBit = 0, | 1965 kKindTagBit = 0, |
1971 kKindTagSize = 4, | 1966 kKindTagSize = 4, |
1972 kStaticBit = 4, | 1967 kStaticBit = 4, |
1973 kConstBit = 5, | 1968 kConstBit = 5, |
1974 kAbstractBit = 6, | 1969 kAbstractBit = 6, |
1975 kVisibleBit = 7, | 1970 kVisibleBit = 7, |
1976 kOptimizableBit = 8, | 1971 kOptimizableBit = 8, |
1977 kInlinableBit = 9, | 1972 kInlinableBit = 9, |
1978 kIntrinsicBit = 10, | 1973 kIntrinsicBit = 10, |
1979 kRecognizedBit = 11, | 1974 kRecognizedBit = 11, |
1980 kHasFinallyBit = 12, | 1975 kNativeBit = 12, |
1981 kNativeBit = 13, | 1976 kRedirectingBit = 13, |
1982 kRedirectingBit = 14, | 1977 kExternalBit = 14, |
1983 kExternalBit = 15, | |
1984 }; | 1978 }; |
1985 class KindBits : | 1979 class KindBits : |
1986 public BitField<RawFunction::Kind, kKindTagBit, kKindTagSize> {}; // NOLINT | 1980 public BitField<RawFunction::Kind, kKindTagBit, kKindTagSize> {}; // NOLINT |
1987 class StaticBit : public BitField<bool, kStaticBit, 1> {}; | 1981 class StaticBit : public BitField<bool, kStaticBit, 1> {}; |
1988 class ConstBit : public BitField<bool, kConstBit, 1> {}; | 1982 class ConstBit : public BitField<bool, kConstBit, 1> {}; |
1989 class AbstractBit : public BitField<bool, kAbstractBit, 1> {}; | 1983 class AbstractBit : public BitField<bool, kAbstractBit, 1> {}; |
1990 class VisibleBit : public BitField<bool, kVisibleBit, 1> {}; | 1984 class VisibleBit : public BitField<bool, kVisibleBit, 1> {}; |
1991 class OptimizableBit : public BitField<bool, kOptimizableBit, 1> {}; | 1985 class OptimizableBit : public BitField<bool, kOptimizableBit, 1> {}; |
1992 class InlinableBit : public BitField<bool, kInlinableBit, 1> {}; | 1986 class InlinableBit : public BitField<bool, kInlinableBit, 1> {}; |
1993 class IntrinsicBit : public BitField<bool, kIntrinsicBit, 1> {}; | 1987 class IntrinsicBit : public BitField<bool, kIntrinsicBit, 1> {}; |
1994 class RecognizedBit : public BitField<bool, kRecognizedBit, 1> {}; | 1988 class RecognizedBit : public BitField<bool, kRecognizedBit, 1> {}; |
1995 class HasFinallyBit : public BitField<bool, kHasFinallyBit, 1> {}; | |
1996 class NativeBit : public BitField<bool, kNativeBit, 1> {}; | 1989 class NativeBit : public BitField<bool, kNativeBit, 1> {}; |
1997 class ExternalBit : public BitField<bool, kExternalBit, 1> {}; | 1990 class ExternalBit : public BitField<bool, kExternalBit, 1> {}; |
1998 class RedirectingBit : public BitField<bool, kRedirectingBit, 1> {}; | 1991 class RedirectingBit : public BitField<bool, kRedirectingBit, 1> {}; |
1999 | 1992 |
2000 void set_name(const String& value) const; | 1993 void set_name(const String& value) const; |
2001 void set_kind(RawFunction::Kind value) const; | 1994 void set_kind(RawFunction::Kind value) const; |
2002 void set_is_static(bool value) const; | 1995 void set_is_static(bool value) const; |
2003 void set_is_const(bool value) const; | 1996 void set_is_const(bool value) const; |
2004 void set_is_external(bool value) const; | 1997 void set_is_external(bool value) const; |
2005 void set_parent_function(const Function& value) const; | 1998 void set_parent_function(const Function& value) const; |
(...skipping 4629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6635 | 6628 |
6636 | 6629 |
6637 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 6630 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
6638 intptr_t index) { | 6631 intptr_t index) { |
6639 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 6632 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
6640 } | 6633 } |
6641 | 6634 |
6642 } // namespace dart | 6635 } // namespace dart |
6643 | 6636 |
6644 #endif // VM_OBJECT_H_ | 6637 #endif // VM_OBJECT_H_ |
OLD | NEW |