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 1509 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1520 | 1520 |
1521 RawCode* closure_allocation_stub() const; | 1521 RawCode* closure_allocation_stub() const; |
1522 void set_closure_allocation_stub(const Code& value) const; | 1522 void set_closure_allocation_stub(const Code& value) const; |
1523 | 1523 |
1524 void set_extracted_method_closure(const Function& function) const; | 1524 void set_extracted_method_closure(const Function& function) const; |
1525 RawFunction* extracted_method_closure() const; | 1525 RawFunction* extracted_method_closure() const; |
1526 | 1526 |
1527 void set_saved_args_desc(const Array& array) const; | 1527 void set_saved_args_desc(const Array& array) const; |
1528 RawArray* saved_args_desc() const; | 1528 RawArray* saved_args_desc() const; |
1529 | 1529 |
| 1530 void set_saved_static_field(const Field& array) const; |
| 1531 RawField* saved_static_field() const; |
| 1532 |
1530 bool IsMethodExtractor() const { | 1533 bool IsMethodExtractor() const { |
1531 return kind() == RawFunction::kMethodExtractor; | 1534 return kind() == RawFunction::kMethodExtractor; |
1532 } | 1535 } |
1533 | 1536 |
1534 bool IsNoSuchMethodDispatcher() const { | 1537 bool IsNoSuchMethodDispatcher() const { |
1535 return kind() == RawFunction::kNoSuchMethodDispatcher; | 1538 return kind() == RawFunction::kNoSuchMethodDispatcher; |
1536 } | 1539 } |
1537 | 1540 |
1538 bool IsInvokeFieldDispatcher() const { | 1541 bool IsInvokeFieldDispatcher() const { |
1539 return kind() == RawFunction::kInvokeFieldDispatcher; | 1542 return kind() == RawFunction::kInvokeFieldDispatcher; |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1873 // Allocates a new Function object representing a closure function, as well as | 1876 // Allocates a new Function object representing a closure function, as well as |
1874 // a new associated Class object representing the signature class of the | 1877 // a new associated Class object representing the signature class of the |
1875 // function. | 1878 // function. |
1876 // The function and the class share the same given name. | 1879 // The function and the class share the same given name. |
1877 static RawFunction* NewClosureFunction(const String& name, | 1880 static RawFunction* NewClosureFunction(const String& name, |
1878 const Function& parent, | 1881 const Function& parent, |
1879 intptr_t token_pos); | 1882 intptr_t token_pos); |
1880 | 1883 |
1881 // Creates a new static initializer function which is invoked in the implicit | 1884 // Creates a new static initializer function which is invoked in the implicit |
1882 // static getter function. | 1885 // static getter function. |
1883 static RawFunction* NewStaticInitializer(const String& field_name, | 1886 static RawFunction* NewStaticInitializer(const Field& field); |
1884 const AbstractType& result_type, | |
1885 const Class& cls, | |
1886 intptr_t token_pos); | |
1887 | 1887 |
1888 // Allocate new function object, clone values from this function. The | 1888 // Allocate new function object, clone values from this function. The |
1889 // owner of the clone is new_owner. | 1889 // owner of the clone is new_owner. |
1890 RawFunction* Clone(const Class& new_owner) const; | 1890 RawFunction* Clone(const Class& new_owner) const; |
1891 | 1891 |
1892 // Slow function, use in asserts to track changes in important library | 1892 // Slow function, use in asserts to track changes in important library |
1893 // functions. | 1893 // functions. |
1894 int32_t SourceFingerprint() const; | 1894 int32_t SourceFingerprint() const; |
1895 | 1895 |
1896 // Return false and report an error if the fingerprint does not match. | 1896 // Return false and report an error if the fingerprint does not match. |
(...skipping 4424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6321 | 6321 |
6322 | 6322 |
6323 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 6323 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
6324 intptr_t index) { | 6324 intptr_t index) { |
6325 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 6325 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
6326 } | 6326 } |
6327 | 6327 |
6328 } // namespace dart | 6328 } // namespace dart |
6329 | 6329 |
6330 #endif // VM_OBJECT_H_ | 6330 #endif // VM_OBJECT_H_ |
OLD | NEW |