OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
757 const char* RelocInfo::RelocModeName(RelocInfo::Mode rmode) { | 757 const char* RelocInfo::RelocModeName(RelocInfo::Mode rmode) { |
758 switch (rmode) { | 758 switch (rmode) { |
759 case RelocInfo::NONE32: | 759 case RelocInfo::NONE32: |
760 return "no reloc 32"; | 760 return "no reloc 32"; |
761 case RelocInfo::NONE64: | 761 case RelocInfo::NONE64: |
762 return "no reloc 64"; | 762 return "no reloc 64"; |
763 case RelocInfo::EMBEDDED_OBJECT: | 763 case RelocInfo::EMBEDDED_OBJECT: |
764 return "embedded object"; | 764 return "embedded object"; |
765 case RelocInfo::CONSTRUCT_CALL: | 765 case RelocInfo::CONSTRUCT_CALL: |
766 return "code target (js construct call)"; | 766 return "code target (js construct call)"; |
767 case RelocInfo::CODE_TARGET_CONTEXT: | |
768 return "code target (context)"; | |
769 case RelocInfo::DEBUG_BREAK: | 767 case RelocInfo::DEBUG_BREAK: |
770 #ifndef ENABLE_DEBUGGER_SUPPORT | 768 #ifndef ENABLE_DEBUGGER_SUPPORT |
771 UNREACHABLE(); | 769 UNREACHABLE(); |
772 #endif | 770 #endif |
773 return "debug break"; | 771 return "debug break"; |
774 case RelocInfo::CODE_TARGET: | 772 case RelocInfo::CODE_TARGET: |
775 return "code target"; | 773 return "code target"; |
776 case RelocInfo::CODE_TARGET_WITH_ID: | 774 case RelocInfo::CODE_TARGET_WITH_ID: |
777 return "code target with id"; | 775 return "code target with id"; |
778 case RelocInfo::CELL: | 776 case RelocInfo::CELL: |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
853 break; | 851 break; |
854 case CELL: | 852 case CELL: |
855 Object::VerifyPointer(target_cell()); | 853 Object::VerifyPointer(target_cell()); |
856 break; | 854 break; |
857 case DEBUG_BREAK: | 855 case DEBUG_BREAK: |
858 #ifndef ENABLE_DEBUGGER_SUPPORT | 856 #ifndef ENABLE_DEBUGGER_SUPPORT |
859 UNREACHABLE(); | 857 UNREACHABLE(); |
860 break; | 858 break; |
861 #endif | 859 #endif |
862 case CONSTRUCT_CALL: | 860 case CONSTRUCT_CALL: |
863 case CODE_TARGET_CONTEXT: | |
864 case CODE_TARGET_WITH_ID: | 861 case CODE_TARGET_WITH_ID: |
865 case CODE_TARGET: { | 862 case CODE_TARGET: { |
866 // convert inline target address to code object | 863 // convert inline target address to code object |
867 Address addr = target_address(); | 864 Address addr = target_address(); |
868 CHECK(addr != NULL); | 865 CHECK(addr != NULL); |
869 // Check that we can find the right code object. | 866 // Check that we can find the right code object. |
870 Code* code = Code::GetCodeFromTargetAddress(addr); | 867 Code* code = Code::GetCodeFromTargetAddress(addr); |
871 Object* found = code->GetIsolate()->FindCodeObject(addr); | 868 Object* found = code->GetIsolate()->FindCodeObject(addr); |
872 CHECK(found->IsCode()); | 869 CHECK(found->IsCode()); |
873 CHECK(code->address() == HeapObject::cast(found)->address()); | 870 CHECK(code->address() == HeapObject::cast(found)->address()); |
(...skipping 822 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1696 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); | 1693 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); |
1697 state_.written_position = state_.current_position; | 1694 state_.written_position = state_.current_position; |
1698 written = true; | 1695 written = true; |
1699 } | 1696 } |
1700 | 1697 |
1701 // Return whether something was written. | 1698 // Return whether something was written. |
1702 return written; | 1699 return written; |
1703 } | 1700 } |
1704 | 1701 |
1705 } } // namespace v8::internal | 1702 } } // namespace v8::internal |
OLD | NEW |