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 1311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1322 // It is not the only Code object that points to this function. | 1322 // It is not the only Code object that points to this function. |
1323 RawCode* CurrentCode() const { return raw_ptr()->code_; } | 1323 RawCode* CurrentCode() const { return raw_ptr()->code_; } |
1324 | 1324 |
1325 RawCode* unoptimized_code() const { return raw_ptr()->unoptimized_code_; } | 1325 RawCode* unoptimized_code() const { return raw_ptr()->unoptimized_code_; } |
1326 void set_unoptimized_code(const Code& value) const; | 1326 void set_unoptimized_code(const Code& value) const; |
1327 static intptr_t code_offset() { return OFFSET_OF(RawFunction, code_); } | 1327 static intptr_t code_offset() { return OFFSET_OF(RawFunction, code_); } |
1328 inline bool HasCode() const; | 1328 inline bool HasCode() const; |
1329 | 1329 |
1330 RawArray* deopt_history() const { return raw_ptr()->deopt_history_; } | 1330 RawArray* deopt_history() const { return raw_ptr()->deopt_history_; } |
1331 void set_deopt_history(const Array& value) const; | 1331 void set_deopt_history(const Array& value) const; |
| 1332 // If not yet present, allocate deoptimization history array. |
| 1333 void EnsureDeoptHistory() const; |
1332 | 1334 |
1333 // Returns true if there is at least one debugger breakpoint | 1335 // Returns true if there is at least one debugger breakpoint |
1334 // set in this function. | 1336 // set in this function. |
1335 bool HasBreakpoint() const; | 1337 bool HasBreakpoint() const; |
1336 | 1338 |
1337 RawContextScope* context_scope() const; | 1339 RawContextScope* context_scope() const; |
1338 void set_context_scope(const ContextScope& value) const; | 1340 void set_context_scope(const ContextScope& value) const; |
1339 | 1341 |
1340 // Enclosing function of this local function. | 1342 // Enclosing function of this local function. |
1341 RawFunction* parent_function() const; | 1343 RawFunction* parent_function() const; |
(...skipping 4478 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5820 | 5822 |
5821 | 5823 |
5822 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 5824 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
5823 intptr_t index) { | 5825 intptr_t index) { |
5824 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 5826 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
5825 } | 5827 } |
5826 | 5828 |
5827 } // namespace dart | 5829 } // namespace dart |
5828 | 5830 |
5829 #endif // VM_OBJECT_H_ | 5831 #endif // VM_OBJECT_H_ |
OLD | NEW |