| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 610 case Translation::FRAME: | 610 case Translation::FRAME: |
| 611 case Translation::DUPLICATE: | 611 case Translation::DUPLICATE: |
| 612 UNREACHABLE(); | 612 UNREACHABLE(); |
| 613 return; | 613 return; |
| 614 | 614 |
| 615 case Translation::REGISTER: { | 615 case Translation::REGISTER: { |
| 616 int input_reg = iterator->Next(); | 616 int input_reg = iterator->Next(); |
| 617 intptr_t input_value = input_->GetRegister(input_reg); | 617 intptr_t input_value = input_->GetRegister(input_reg); |
| 618 if (FLAG_trace_deopt) { | 618 if (FLAG_trace_deopt) { |
| 619 PrintF( | 619 PrintF( |
| 620 " 0x%08" V8PRIxPTR ": [top + %d] <- 0x%08" V8PRIxPTR " ; %s\n", | 620 " 0x%08" V8PRIxPTR ": [top + %d] <- 0x%08" V8PRIxPTR " ; %s ", |
| 621 output_[frame_index]->GetTop() + output_offset, | 621 output_[frame_index]->GetTop() + output_offset, |
| 622 output_offset, | 622 output_offset, |
| 623 input_value, | 623 input_value, |
| 624 converter.NameOfCPURegister(input_reg)); | 624 converter.NameOfCPURegister(input_reg)); |
| 625 reinterpret_cast<Object*>(input_value)->ShortPrint(); |
| 626 PrintF("\n"); |
| 625 } | 627 } |
| 626 output_[frame_index]->SetFrameSlot(output_offset, input_value); | 628 output_[frame_index]->SetFrameSlot(output_offset, input_value); |
| 627 return; | 629 return; |
| 628 } | 630 } |
| 629 | 631 |
| 630 case Translation::INT32_REGISTER: { | 632 case Translation::INT32_REGISTER: { |
| 631 int input_reg = iterator->Next(); | 633 int input_reg = iterator->Next(); |
| 632 intptr_t value = input_->GetRegister(input_reg); | 634 intptr_t value = input_->GetRegister(input_reg); |
| 633 bool is_smi = Smi::IsValid(value); | 635 bool is_smi = Smi::IsValid(value); |
| 634 if (FLAG_trace_deopt) { | 636 if (FLAG_trace_deopt) { |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 672 } | 674 } |
| 673 | 675 |
| 674 case Translation::STACK_SLOT: { | 676 case Translation::STACK_SLOT: { |
| 675 int input_slot_index = iterator->Next(); | 677 int input_slot_index = iterator->Next(); |
| 676 unsigned input_offset = | 678 unsigned input_offset = |
| 677 input_->GetOffsetFromSlotIndex(this, input_slot_index); | 679 input_->GetOffsetFromSlotIndex(this, input_slot_index); |
| 678 intptr_t input_value = input_->GetFrameSlot(input_offset); | 680 intptr_t input_value = input_->GetFrameSlot(input_offset); |
| 679 if (FLAG_trace_deopt) { | 681 if (FLAG_trace_deopt) { |
| 680 PrintF(" 0x%08" V8PRIxPTR ": ", | 682 PrintF(" 0x%08" V8PRIxPTR ": ", |
| 681 output_[frame_index]->GetTop() + output_offset); | 683 output_[frame_index]->GetTop() + output_offset); |
| 682 PrintF("[top + %d] <- 0x%08" V8PRIxPTR " ; [esp + %d]\n", | 684 PrintF("[top + %d] <- 0x%08" V8PRIxPTR " ; [esp + %d] ", |
| 683 output_offset, | 685 output_offset, |
| 684 input_value, | 686 input_value, |
| 685 input_offset); | 687 input_offset); |
| 688 reinterpret_cast<Object*>(input_value)->ShortPrint(); |
| 689 PrintF("\n"); |
| 686 } | 690 } |
| 687 output_[frame_index]->SetFrameSlot(output_offset, input_value); | 691 output_[frame_index]->SetFrameSlot(output_offset, input_value); |
| 688 return; | 692 return; |
| 689 } | 693 } |
| 690 | 694 |
| 691 case Translation::INT32_STACK_SLOT: { | 695 case Translation::INT32_STACK_SLOT: { |
| 692 int input_slot_index = iterator->Next(); | 696 int input_slot_index = iterator->Next(); |
| 693 unsigned input_offset = | 697 unsigned input_offset = |
| 694 input_->GetOffsetFromSlotIndex(this, input_slot_index); | 698 input_->GetOffsetFromSlotIndex(this, input_slot_index); |
| 695 intptr_t value = input_->GetFrameSlot(input_offset); | 699 intptr_t value = input_->GetFrameSlot(input_offset); |
| (...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1468 | 1472 |
| 1469 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { | 1473 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { |
| 1470 v->VisitPointer(BitCast<Object**>(&function_)); | 1474 v->VisitPointer(BitCast<Object**>(&function_)); |
| 1471 v->VisitPointers(parameters_, parameters_ + parameters_count_); | 1475 v->VisitPointers(parameters_, parameters_ + parameters_count_); |
| 1472 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); | 1476 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); |
| 1473 } | 1477 } |
| 1474 | 1478 |
| 1475 #endif // ENABLE_DEBUGGER_SUPPORT | 1479 #endif // ENABLE_DEBUGGER_SUPPORT |
| 1476 | 1480 |
| 1477 } } // namespace v8::internal | 1481 } } // namespace v8::internal |
| OLD | NEW |