| 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 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 437 RawDeoptInfo* CreateDeoptInfo(const Array& deopt_table); | 437 RawDeoptInfo* CreateDeoptInfo(const Array& deopt_table); |
| 438 | 438 |
| 439 // Mark the actual start of the frame description after all materialization | 439 // Mark the actual start of the frame description after all materialization |
| 440 // instructions were emitted. Used for verification purposes. | 440 // instructions were emitted. Used for verification purposes. |
| 441 void MarkFrameStart() { | 441 void MarkFrameStart() { |
| 442 ASSERT(frame_start_ == -1); | 442 ASSERT(frame_start_ == -1); |
| 443 frame_start_ = instructions_.length(); | 443 frame_start_ = instructions_.length(); |
| 444 } | 444 } |
| 445 | 445 |
| 446 private: | 446 private: |
| 447 friend class CompilerDeoptInfo; // For current_info_number_. |
| 448 |
| 447 class TrieNode; | 449 class TrieNode; |
| 448 | 450 |
| 449 CpuRegisterSource ToCpuRegisterSource(const Location& loc); | 451 CpuRegisterSource ToCpuRegisterSource(const Location& loc); |
| 450 FpuRegisterSource ToFpuRegisterSource(const Location& loc, | 452 FpuRegisterSource ToFpuRegisterSource(const Location& loc, |
| 451 Location::Kind expected_stack_slot_kind); | 453 Location::Kind expected_stack_slot_kind); |
| 452 | 454 |
| 453 intptr_t FindOrAddObjectInTable(const Object& obj) const; | 455 intptr_t FindOrAddObjectInTable(const Object& obj) const; |
| 454 intptr_t FindMaterialization(MaterializeObjectInstr* mat) const; | 456 intptr_t FindMaterialization(MaterializeObjectInstr* mat) const; |
| 455 intptr_t CalculateStackIndex(const Location& source_loc) const; | 457 intptr_t CalculateStackIndex(const Location& source_loc) const; |
| 456 | 458 |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 class ReasonField : public BitField<ICData::DeoptReasonId, 0, 8> { }; | 517 class ReasonField : public BitField<ICData::DeoptReasonId, 0, 8> { }; |
| 516 class FlagsField : public BitField<uint32_t, 8, 8> { }; | 518 class FlagsField : public BitField<uint32_t, 8, 8> { }; |
| 517 | 519 |
| 518 private: | 520 private: |
| 519 static const intptr_t kEntrySize = 3; | 521 static const intptr_t kEntrySize = 3; |
| 520 }; | 522 }; |
| 521 | 523 |
| 522 } // namespace dart | 524 } // namespace dart |
| 523 | 525 |
| 524 #endif // VM_DEOPT_INSTRUCTIONS_H_ | 526 #endif // VM_DEOPT_INSTRUCTIONS_H_ |
| OLD | NEW |