| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_DEOPT_INSTRUCTIONS_H_ | 5 #ifndef VM_DEOPT_INSTRUCTIONS_H_ |
| 6 #define VM_DEOPT_INSTRUCTIONS_H_ | 6 #define VM_DEOPT_INSTRUCTIONS_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/code_generator.h" | 10 #include "vm/code_generator.h" |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 172 void AddPcMarker(const Function& function, intptr_t to_index); | 172 void AddPcMarker(const Function& function, intptr_t to_index); |
| 173 void AddCallerFp(intptr_t to_index); | 173 void AddCallerFp(intptr_t to_index); |
| 174 void AddCallerPc(intptr_t to_index); | 174 void AddCallerPc(intptr_t to_index); |
| 175 | 175 |
| 176 RawDeoptInfo* CreateDeoptInfo(); | 176 RawDeoptInfo* CreateDeoptInfo(); |
| 177 | 177 |
| 178 private: | 178 private: |
| 179 class TrieNode; | 179 class TrieNode; |
| 180 | 180 |
| 181 intptr_t FindOrAddObjectInTable(const Object& obj) const; | 181 intptr_t FindOrAddObjectInTable(const Object& obj) const; |
| 182 intptr_t CalculateStackIndex(const Location& from_loc) const; |
| 182 | 183 |
| 183 GrowableArray<DeoptInstr*> instructions_; | 184 GrowableArray<DeoptInstr*> instructions_; |
| 184 const GrowableObjectArray& object_table_; | 185 const GrowableObjectArray& object_table_; |
| 185 const intptr_t num_args_; | 186 const intptr_t num_args_; |
| 186 | 187 |
| 187 // Used to compress entries by sharing suffixes. | 188 // Used to compress entries by sharing suffixes. |
| 188 TrieNode* trie_root_; | 189 TrieNode* trie_root_; |
| 189 intptr_t current_info_number_; | 190 intptr_t current_info_number_; |
| 190 | 191 |
| 191 DISALLOW_COPY_AND_ASSIGN(DeoptInfoBuilder); | 192 DISALLOW_COPY_AND_ASSIGN(DeoptInfoBuilder); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 219 DeoptInfo* info, | 220 DeoptInfo* info, |
| 220 Smi* reason); | 221 Smi* reason); |
| 221 | 222 |
| 222 private: | 223 private: |
| 223 static const intptr_t kEntrySize = 3; | 224 static const intptr_t kEntrySize = 3; |
| 224 }; | 225 }; |
| 225 | 226 |
| 226 } // namespace dart | 227 } // namespace dart |
| 227 | 228 |
| 228 #endif // VM_DEOPT_INSTRUCTIONS_H_ | 229 #endif // VM_DEOPT_INSTRUCTIONS_H_ |
| OLD | NEW |