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 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
336 // but we must always update the pc. | 336 // but we must always update the pc. |
337 // | 337 // |
338 // We exit this loop by returning when we find a mode we want. | 338 // We exit this loop by returning when we find a mode we want. |
339 while (pos_ > end_) { | 339 while (pos_ > end_) { |
340 int tag = AdvanceGetTag(); | 340 int tag = AdvanceGetTag(); |
341 if (tag == kEmbeddedObjectTag) { | 341 if (tag == kEmbeddedObjectTag) { |
342 ReadTaggedPC(); | 342 ReadTaggedPC(); |
343 if (SetMode(RelocInfo::EMBEDDED_OBJECT)) return; | 343 if (SetMode(RelocInfo::EMBEDDED_OBJECT)) return; |
344 } else if (tag == kCodeTargetTag) { | 344 } else if (tag == kCodeTargetTag) { |
345 ReadTaggedPC(); | 345 ReadTaggedPC(); |
346 if (*(reinterpret_cast<int*>(rinfo_.pc())) == 0x61) { | |
347 tag = 0; | |
348 } | |
349 if (SetMode(RelocInfo::CODE_TARGET)) return; | 346 if (SetMode(RelocInfo::CODE_TARGET)) return; |
350 } else if (tag == kPositionTag) { | 347 } else if (tag == kPositionTag) { |
351 ReadTaggedPC(); | 348 ReadTaggedPC(); |
352 Advance(); | 349 Advance(); |
353 // Check if we want source positions. | 350 // Check if we want source positions. |
354 if (mode_mask_ & RelocInfo::kPositionMask) { | 351 if (mode_mask_ & RelocInfo::kPositionMask) { |
355 // Check if we want this type of source position. | 352 // Check if we want this type of source position. |
356 if (SetMode(DebugInfoModeFromTag(GetPositionTypeTag()))) { | 353 if (SetMode(DebugInfoModeFromTag(GetPositionTypeTag()))) { |
357 // Finally read the data before returning. | 354 // Finally read the data before returning. |
358 ReadTaggedData(); | 355 ReadTaggedData(); |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
713 return ExternalReference(Redirect(FUNCTION_ADDR(Debug::Break))); | 710 return ExternalReference(Redirect(FUNCTION_ADDR(Debug::Break))); |
714 } | 711 } |
715 | 712 |
716 | 713 |
717 ExternalReference ExternalReference::debug_step_in_fp_address() { | 714 ExternalReference ExternalReference::debug_step_in_fp_address() { |
718 return ExternalReference(Debug::step_in_fp_addr()); | 715 return ExternalReference(Debug::step_in_fp_addr()); |
719 } | 716 } |
720 #endif | 717 #endif |
721 | 718 |
722 } } // namespace v8::internal | 719 } } // namespace v8::internal |
OLD | NEW |