| 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 1704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1715 bool is_recognized() const { | 1715 bool is_recognized() const { |
| 1716 return RecognizedBit::decode(raw_ptr()->kind_tag_); | 1716 return RecognizedBit::decode(raw_ptr()->kind_tag_); |
| 1717 } | 1717 } |
| 1718 void set_is_recognized(bool value) const; | 1718 void set_is_recognized(bool value) const; |
| 1719 | 1719 |
| 1720 bool is_redirecting() const { | 1720 bool is_redirecting() const { |
| 1721 return RedirectingBit::decode(raw_ptr()->kind_tag_); | 1721 return RedirectingBit::decode(raw_ptr()->kind_tag_); |
| 1722 } | 1722 } |
| 1723 void set_is_redirecting(bool value) const; | 1723 void set_is_redirecting(bool value) const; |
| 1724 | 1724 |
| 1725 bool allows_hoisting_check_class() const { |
| 1726 return AllowsHoistingCheckClassBit::decode(raw_ptr()->kind_tag_); |
| 1727 } |
| 1728 void set_allows_hoisting_check_class(bool value) const; |
| 1729 |
| 1725 bool HasOptimizedCode() const; | 1730 bool HasOptimizedCode() const; |
| 1726 | 1731 |
| 1727 // Returns true if the argument counts are valid for calling this function. | 1732 // Returns true if the argument counts are valid for calling this function. |
| 1728 // Otherwise, it returns false and the reason (if error_message is not NULL). | 1733 // Otherwise, it returns false and the reason (if error_message is not NULL). |
| 1729 bool AreValidArgumentCounts(intptr_t num_arguments, | 1734 bool AreValidArgumentCounts(intptr_t num_arguments, |
| 1730 intptr_t num_named_arguments, | 1735 intptr_t num_named_arguments, |
| 1731 String* error_message) const; | 1736 String* error_message) const; |
| 1732 | 1737 |
| 1733 // Returns true if the total argument count and the names of optional | 1738 // Returns true if the total argument count and the names of optional |
| 1734 // arguments are valid for calling this function. | 1739 // arguments are valid for calling this function. |
| (...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1885 kConstBit = 5, | 1890 kConstBit = 5, |
| 1886 kAbstractBit = 6, | 1891 kAbstractBit = 6, |
| 1887 kVisibleBit = 7, | 1892 kVisibleBit = 7, |
| 1888 kOptimizableBit = 8, | 1893 kOptimizableBit = 8, |
| 1889 kInlinableBit = 9, | 1894 kInlinableBit = 9, |
| 1890 kIntrinsicBit = 10, | 1895 kIntrinsicBit = 10, |
| 1891 kRecognizedBit = 11, | 1896 kRecognizedBit = 11, |
| 1892 kNativeBit = 12, | 1897 kNativeBit = 12, |
| 1893 kRedirectingBit = 13, | 1898 kRedirectingBit = 13, |
| 1894 kExternalBit = 14, | 1899 kExternalBit = 14, |
| 1900 kAllowsHoistingCheckClassBit = 15, |
| 1895 }; | 1901 }; |
| 1896 class KindBits : | 1902 class KindBits : |
| 1897 public BitField<RawFunction::Kind, kKindTagBit, kKindTagSize> {}; // NOLINT | 1903 public BitField<RawFunction::Kind, kKindTagBit, kKindTagSize> {}; // NOLINT |
| 1898 class StaticBit : public BitField<bool, kStaticBit, 1> {}; | 1904 class StaticBit : public BitField<bool, kStaticBit, 1> {}; |
| 1899 class ConstBit : public BitField<bool, kConstBit, 1> {}; | 1905 class ConstBit : public BitField<bool, kConstBit, 1> {}; |
| 1900 class AbstractBit : public BitField<bool, kAbstractBit, 1> {}; | 1906 class AbstractBit : public BitField<bool, kAbstractBit, 1> {}; |
| 1901 class VisibleBit : public BitField<bool, kVisibleBit, 1> {}; | 1907 class VisibleBit : public BitField<bool, kVisibleBit, 1> {}; |
| 1902 class OptimizableBit : public BitField<bool, kOptimizableBit, 1> {}; | 1908 class OptimizableBit : public BitField<bool, kOptimizableBit, 1> {}; |
| 1903 class InlinableBit : public BitField<bool, kInlinableBit, 1> {}; | 1909 class InlinableBit : public BitField<bool, kInlinableBit, 1> {}; |
| 1904 class IntrinsicBit : public BitField<bool, kIntrinsicBit, 1> {}; | 1910 class IntrinsicBit : public BitField<bool, kIntrinsicBit, 1> {}; |
| 1905 class RecognizedBit : public BitField<bool, kRecognizedBit, 1> {}; | 1911 class RecognizedBit : public BitField<bool, kRecognizedBit, 1> {}; |
| 1906 class NativeBit : public BitField<bool, kNativeBit, 1> {}; | 1912 class NativeBit : public BitField<bool, kNativeBit, 1> {}; |
| 1907 class ExternalBit : public BitField<bool, kExternalBit, 1> {}; | 1913 class ExternalBit : public BitField<bool, kExternalBit, 1> {}; |
| 1908 class RedirectingBit : public BitField<bool, kRedirectingBit, 1> {}; | 1914 class RedirectingBit : public BitField<bool, kRedirectingBit, 1> {}; |
| 1915 class AllowsHoistingCheckClassBit : |
| 1916 public BitField<bool, kAllowsHoistingCheckClassBit, 1> {}; // NOLINT |
| 1909 | 1917 |
| 1910 void set_name(const String& value) const; | 1918 void set_name(const String& value) const; |
| 1911 void set_kind(RawFunction::Kind value) const; | 1919 void set_kind(RawFunction::Kind value) const; |
| 1912 void set_is_static(bool value) const; | 1920 void set_is_static(bool value) const; |
| 1913 void set_is_const(bool value) const; | 1921 void set_is_const(bool value) const; |
| 1914 void set_is_external(bool value) const; | 1922 void set_is_external(bool value) const; |
| 1915 void set_parent_function(const Function& value) const; | 1923 void set_parent_function(const Function& value) const; |
| 1916 void set_owner(const Object& value) const; | 1924 void set_owner(const Object& value) const; |
| 1917 RawFunction* implicit_closure_function() const; | 1925 RawFunction* implicit_closure_function() const; |
| 1918 void set_implicit_closure_function(const Function& value) const; | 1926 void set_implicit_closure_function(const Function& value) const; |
| (...skipping 4673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6592 | 6600 |
| 6593 | 6601 |
| 6594 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 6602 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
| 6595 intptr_t index) { | 6603 intptr_t index) { |
| 6596 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 6604 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
| 6597 } | 6605 } |
| 6598 | 6606 |
| 6599 } // namespace dart | 6607 } // namespace dart |
| 6600 | 6608 |
| 6601 #endif // VM_OBJECT_H_ | 6609 #endif // VM_OBJECT_H_ |
| OLD | NEW |