| 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 2565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2576 | 2576 |
| 2577 // Each (*node_ids)[n] has a an extracted ic data array (*arrays)[n]. | 2577 // Each (*node_ids)[n] has a an extracted ic data array (*arrays)[n]. |
| 2578 // Returns the maximum id found. | 2578 // Returns the maximum id found. |
| 2579 intptr_t ExtractIcDataArraysAtCalls( | 2579 intptr_t ExtractIcDataArraysAtCalls( |
| 2580 GrowableArray<intptr_t>* node_ids, | 2580 GrowableArray<intptr_t>* node_ids, |
| 2581 const GrowableObjectArray& ic_data_objs) const; | 2581 const GrowableObjectArray& ic_data_objs) const; |
| 2582 | 2582 |
| 2583 // Returns an array indexed by deopt id, containing the extracted ICData. | 2583 // Returns an array indexed by deopt id, containing the extracted ICData. |
| 2584 RawArray* ExtractTypeFeedbackArray() const; | 2584 RawArray* ExtractTypeFeedbackArray() const; |
| 2585 | 2585 |
| 2586 // Returns deopt-ids of all static calls that were never resolved, i.e., |
| 2587 // never executed. |
| 2588 void ExtractUncalledStaticCallDeoptIds( |
| 2589 GrowableArray<intptr_t>* deopt_ids) const; |
| 2590 |
| 2586 private: | 2591 private: |
| 2587 // An object finder visitor interface. | 2592 // An object finder visitor interface. |
| 2588 class FindRawCodeVisitor : public FindObjectVisitor { | 2593 class FindRawCodeVisitor : public FindObjectVisitor { |
| 2589 public: | 2594 public: |
| 2590 explicit FindRawCodeVisitor(uword pc) | 2595 explicit FindRawCodeVisitor(uword pc) |
| 2591 : FindObjectVisitor(Isolate::Current()), pc_(pc) { } | 2596 : FindObjectVisitor(Isolate::Current()), pc_(pc) { } |
| 2592 virtual ~FindRawCodeVisitor() { } | 2597 virtual ~FindRawCodeVisitor() { } |
| 2593 | 2598 |
| 2594 // Check if object matches find condition. | 2599 // Check if object matches find condition. |
| 2595 virtual bool FindObject(RawObject* obj); | 2600 virtual bool FindObject(RawObject* obj); |
| (...skipping 3260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5856 if (this->CharAt(i) != str.CharAt(begin_index + i)) { | 5861 if (this->CharAt(i) != str.CharAt(begin_index + i)) { |
| 5857 return false; | 5862 return false; |
| 5858 } | 5863 } |
| 5859 } | 5864 } |
| 5860 return true; | 5865 return true; |
| 5861 } | 5866 } |
| 5862 | 5867 |
| 5863 } // namespace dart | 5868 } // namespace dart |
| 5864 | 5869 |
| 5865 #endif // VM_OBJECT_H_ | 5870 #endif // VM_OBJECT_H_ |
| OLD | NEW |