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 |