| 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 595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 606 case Translation::FRAME: | 606 case Translation::FRAME: |
| 607 case Translation::DUPLICATE: | 607 case Translation::DUPLICATE: |
| 608 UNREACHABLE(); | 608 UNREACHABLE(); |
| 609 return; | 609 return; |
| 610 | 610 |
| 611 case Translation::REGISTER: { | 611 case Translation::REGISTER: { |
| 612 int input_reg = iterator->Next(); | 612 int input_reg = iterator->Next(); |
| 613 intptr_t input_value = input_->GetRegister(input_reg); | 613 intptr_t input_value = input_->GetRegister(input_reg); |
| 614 if (FLAG_trace_deopt) { | 614 if (FLAG_trace_deopt) { |
| 615 PrintF( | 615 PrintF( |
| 616 " 0x%08" V8PRIxPTR ": [top + %d] <- 0x%08" V8PRIxPTR " ; %s\n", | 616 " 0x%08" V8PRIxPTR ": [top + %d] <- 0x%08" V8PRIxPTR " ; %s ", |
| 617 output_[frame_index]->GetTop() + output_offset, | 617 output_[frame_index]->GetTop() + output_offset, |
| 618 output_offset, | 618 output_offset, |
| 619 input_value, | 619 input_value, |
| 620 converter.NameOfCPURegister(input_reg)); | 620 converter.NameOfCPURegister(input_reg)); |
| 621 reinterpret_cast<Object*>(input_value)->ShortPrint(); |
| 622 PrintF("\n"); |
| 621 } | 623 } |
| 622 output_[frame_index]->SetFrameSlot(output_offset, input_value); | 624 output_[frame_index]->SetFrameSlot(output_offset, input_value); |
| 623 return; | 625 return; |
| 624 } | 626 } |
| 625 | 627 |
| 626 case Translation::INT32_REGISTER: { | 628 case Translation::INT32_REGISTER: { |
| 627 int input_reg = iterator->Next(); | 629 int input_reg = iterator->Next(); |
| 628 intptr_t value = input_->GetRegister(input_reg); | 630 intptr_t value = input_->GetRegister(input_reg); |
| 629 bool is_smi = Smi::IsValid(value); | 631 bool is_smi = Smi::IsValid(value); |
| 630 if (FLAG_trace_deopt) { | 632 if (FLAG_trace_deopt) { |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 } | 670 } |
| 669 | 671 |
| 670 case Translation::STACK_SLOT: { | 672 case Translation::STACK_SLOT: { |
| 671 int input_slot_index = iterator->Next(); | 673 int input_slot_index = iterator->Next(); |
| 672 unsigned input_offset = | 674 unsigned input_offset = |
| 673 input_->GetOffsetFromSlotIndex(this, input_slot_index); | 675 input_->GetOffsetFromSlotIndex(this, input_slot_index); |
| 674 intptr_t input_value = input_->GetFrameSlot(input_offset); | 676 intptr_t input_value = input_->GetFrameSlot(input_offset); |
| 675 if (FLAG_trace_deopt) { | 677 if (FLAG_trace_deopt) { |
| 676 PrintF(" 0x%08" V8PRIxPTR ": ", | 678 PrintF(" 0x%08" V8PRIxPTR ": ", |
| 677 output_[frame_index]->GetTop() + output_offset); | 679 output_[frame_index]->GetTop() + output_offset); |
| 678 PrintF("[top + %d] <- 0x%08" V8PRIxPTR " ; [esp + %d]\n", | 680 PrintF("[top + %d] <- 0x%08" V8PRIxPTR " ; [esp + %d] ", |
| 679 output_offset, | 681 output_offset, |
| 680 input_value, | 682 input_value, |
| 681 input_offset); | 683 input_offset); |
| 684 reinterpret_cast<Object*>(input_value)->ShortPrint(); |
| 685 PrintF("\n"); |
| 682 } | 686 } |
| 683 output_[frame_index]->SetFrameSlot(output_offset, input_value); | 687 output_[frame_index]->SetFrameSlot(output_offset, input_value); |
| 684 return; | 688 return; |
| 685 } | 689 } |
| 686 | 690 |
| 687 case Translation::INT32_STACK_SLOT: { | 691 case Translation::INT32_STACK_SLOT: { |
| 688 int input_slot_index = iterator->Next(); | 692 int input_slot_index = iterator->Next(); |
| 689 unsigned input_offset = | 693 unsigned input_offset = |
| 690 input_->GetOffsetFromSlotIndex(this, input_slot_index); | 694 input_->GetOffsetFromSlotIndex(this, input_slot_index); |
| 691 intptr_t value = input_->GetFrameSlot(input_offset); | 695 intptr_t value = input_->GetFrameSlot(input_offset); |
| (...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1462 } | 1466 } |
| 1463 | 1467 |
| 1464 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { | 1468 void DeoptimizedFrameInfo::Iterate(ObjectVisitor* v) { |
| 1465 v->VisitPointer(BitCast<Object**>(&function_)); | 1469 v->VisitPointer(BitCast<Object**>(&function_)); |
| 1466 v->VisitPointers(parameters_, parameters_ + parameters_count_); | 1470 v->VisitPointers(parameters_, parameters_ + parameters_count_); |
| 1467 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); | 1471 v->VisitPointers(expression_stack_, expression_stack_ + expression_count_); |
| 1468 } | 1472 } |
| 1469 | 1473 |
| 1470 | 1474 |
| 1471 } } // namespace v8::internal | 1475 } } // namespace v8::internal |
| OLD | NEW |