| 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" |
| 11 #include "vm/json_stream.h" | 11 #include "vm/json_stream.h" |
| 12 #include "vm/bitmap.h" | 12 #include "vm/bitmap.h" |
| 13 #include "vm/dart.h" | 13 #include "vm/dart.h" |
| 14 #include "vm/globals.h" | 14 #include "vm/globals.h" |
| 15 #include "vm/handles.h" | 15 #include "vm/handles.h" |
| 16 #include "vm/heap.h" | 16 #include "vm/heap.h" |
| 17 #include "vm/isolate.h" | 17 #include "vm/isolate.h" |
| 18 #include "vm/os.h" | 18 #include "vm/os.h" |
| 19 #include "vm/raw_object.h" | 19 #include "vm/raw_object.h" |
| 20 #include "vm/scanner.h" | 20 #include "vm/scanner.h" |
| 21 | 21 |
| 22 namespace dart { | 22 namespace dart { |
| 23 | 23 |
| 24 // Forward declarations. | 24 // Forward declarations. |
| 25 #define DEFINE_FORWARD_DECLARATION(clazz) \ | 25 #define DEFINE_FORWARD_DECLARATION(clazz) \ |
| 26 class clazz; | 26 class clazz; |
| 27 CLASS_LIST(DEFINE_FORWARD_DECLARATION) | 27 CLASS_LIST(DEFINE_FORWARD_DECLARATION) |
| 28 #undef DEFINE_FORWARD_DECLARATION | 28 #undef DEFINE_FORWARD_DECLARATION |
| 29 class Api; | 29 class Api; |
| 30 class ArgumentsDescriptor; |
| 30 class Assembler; | 31 class Assembler; |
| 31 class Closure; | 32 class Closure; |
| 32 class Code; | 33 class Code; |
| 33 class DeoptInstr; | 34 class DeoptInstr; |
| 34 class FinalizablePersistentHandle; | 35 class FinalizablePersistentHandle; |
| 35 class LocalScope; | 36 class LocalScope; |
| 36 class ReusableHandleScope; | 37 class ReusableHandleScope; |
| 37 class Symbols; | 38 class Symbols; |
| 38 | 39 |
| 39 #if defined(DEBUG) | 40 #if defined(DEBUG) |
| (...skipping 1589 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1629 | 1630 |
| 1630 bool is_intrinsic() const { | 1631 bool is_intrinsic() const { |
| 1631 return IntrinsicBit::decode(raw_ptr()->kind_tag_); | 1632 return IntrinsicBit::decode(raw_ptr()->kind_tag_); |
| 1632 } | 1633 } |
| 1633 void set_is_intrinsic(bool value) const; | 1634 void set_is_intrinsic(bool value) const; |
| 1634 | 1635 |
| 1635 bool HasOptimizedCode() const; | 1636 bool HasOptimizedCode() const; |
| 1636 | 1637 |
| 1637 // Returns true if the argument counts are valid for calling this function. | 1638 // Returns true if the argument counts are valid for calling this function. |
| 1638 // Otherwise, it returns false and the reason (if error_message is not NULL). | 1639 // Otherwise, it returns false and the reason (if error_message is not NULL). |
| 1639 bool AreValidArgumentCounts(int num_arguments, | 1640 bool AreValidArgumentCounts(intptr_t num_arguments, |
| 1640 int num_named_arguments, | 1641 intptr_t num_named_arguments, |
| 1641 String* error_message) const; | 1642 String* error_message) const; |
| 1642 | 1643 |
| 1643 // Returns true if the total argument count and the names of optional | 1644 // Returns true if the total argument count and the names of optional |
| 1644 // arguments are valid for calling this function. | 1645 // arguments are valid for calling this function. |
| 1645 // Otherwise, it returns false and the reason (if error_message is not NULL). | 1646 // Otherwise, it returns false and the reason (if error_message is not NULL). |
| 1646 bool AreValidArguments(int num_arguments, | 1647 bool AreValidArguments(intptr_t num_arguments, |
| 1647 const Array& argument_names, | 1648 const Array& argument_names, |
| 1648 String* error_message) const; | 1649 String* error_message) const; |
| 1650 bool AreValidArguments(const ArgumentsDescriptor& args_desc, |
| 1651 String* error_message) const; |
| 1649 | 1652 |
| 1650 // Fully qualified name uniquely identifying the function under gdb and during | 1653 // Fully qualified name uniquely identifying the function under gdb and during |
| 1651 // ast printing. The special ':' character, if present, is replaced by '_'. | 1654 // ast printing. The special ':' character, if present, is replaced by '_'. |
| 1652 const char* ToFullyQualifiedCString() const; | 1655 const char* ToFullyQualifiedCString() const; |
| 1653 | 1656 |
| 1654 // Returns true if this function has parameters that are compatible with the | 1657 // Returns true if this function has parameters that are compatible with the |
| 1655 // parameters of the other function in order for this function to override the | 1658 // parameters of the other function in order for this function to override the |
| 1656 // other function. Parameter types are ignored. | 1659 // other function. Parameter types are ignored. |
| 1657 bool HasCompatibleParametersWith(const Function& other) const; | 1660 bool HasCompatibleParametersWith(const Function& other) const; |
| 1658 | 1661 |
| (...skipping 4343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6002 | 6005 |
| 6003 | 6006 |
| 6004 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 6007 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
| 6005 intptr_t index) { | 6008 intptr_t index) { |
| 6006 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 6009 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
| 6007 } | 6010 } |
| 6008 | 6011 |
| 6009 } // namespace dart | 6012 } // namespace dart |
| 6010 | 6013 |
| 6011 #endif // VM_OBJECT_H_ | 6014 #endif // VM_OBJECT_H_ |
| OLD | NEW |