| OLD | NEW |
| 1 | 1 |
| 2 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 2 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 3 // All Rights Reserved. | 3 // All Rights Reserved. |
| 4 // | 4 // |
| 5 // Redistribution and use in source and binary forms, with or without | 5 // Redistribution and use in source and binary forms, with or without |
| 6 // modification, are permitted provided that the following conditions are | 6 // modification, are permitted provided that the following conditions are |
| 7 // met: | 7 // met: |
| 8 // | 8 // |
| 9 // - Redistributions of source code must retain the above copyright notice, | 9 // - Redistributions of source code must retain the above copyright notice, |
| 10 // this list of conditions and the following disclaimer. | 10 // this list of conditions and the following disclaimer. |
| (...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 if (mode == RelocInfo::EMBEDDED_OBJECT) { | 354 if (mode == RelocInfo::EMBEDDED_OBJECT) { |
| 355 visitor->VisitEmbeddedPointer(this); | 355 visitor->VisitEmbeddedPointer(this); |
| 356 } else if (RelocInfo::IsCodeTarget(mode)) { | 356 } else if (RelocInfo::IsCodeTarget(mode)) { |
| 357 visitor->VisitCodeTarget(this); | 357 visitor->VisitCodeTarget(this); |
| 358 } else if (mode == RelocInfo::CELL) { | 358 } else if (mode == RelocInfo::CELL) { |
| 359 visitor->VisitCell(this); | 359 visitor->VisitCell(this); |
| 360 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 360 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |
| 361 visitor->VisitExternalReference(this); | 361 visitor->VisitExternalReference(this); |
| 362 } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 362 } else if (RelocInfo::IsCodeAgeSequence(mode)) { |
| 363 visitor->VisitCodeAgeSequence(this); | 363 visitor->VisitCodeAgeSequence(this); |
| 364 #ifdef ENABLE_DEBUGGER_SUPPORT | |
| 365 } else if (((RelocInfo::IsJSReturn(mode) && | 364 } else if (((RelocInfo::IsJSReturn(mode) && |
| 366 IsPatchedReturnSequence()) || | 365 IsPatchedReturnSequence()) || |
| 367 (RelocInfo::IsDebugBreakSlot(mode) && | 366 (RelocInfo::IsDebugBreakSlot(mode) && |
| 368 IsPatchedDebugBreakSlotSequence())) && | 367 IsPatchedDebugBreakSlotSequence())) && |
| 369 isolate->debug()->has_break_points()) { | 368 isolate->debug()->has_break_points()) { |
| 370 visitor->VisitDebugTarget(this); | 369 visitor->VisitDebugTarget(this); |
| 371 #endif | |
| 372 } else if (RelocInfo::IsRuntimeEntry(mode)) { | 370 } else if (RelocInfo::IsRuntimeEntry(mode)) { |
| 373 visitor->VisitRuntimeEntry(this); | 371 visitor->VisitRuntimeEntry(this); |
| 374 } | 372 } |
| 375 } | 373 } |
| 376 | 374 |
| 377 | 375 |
| 378 template<typename StaticVisitor> | 376 template<typename StaticVisitor> |
| 379 void RelocInfo::Visit(Heap* heap) { | 377 void RelocInfo::Visit(Heap* heap) { |
| 380 RelocInfo::Mode mode = rmode(); | 378 RelocInfo::Mode mode = rmode(); |
| 381 if (mode == RelocInfo::EMBEDDED_OBJECT) { | 379 if (mode == RelocInfo::EMBEDDED_OBJECT) { |
| 382 StaticVisitor::VisitEmbeddedPointer(heap, this); | 380 StaticVisitor::VisitEmbeddedPointer(heap, this); |
| 383 } else if (RelocInfo::IsCodeTarget(mode)) { | 381 } else if (RelocInfo::IsCodeTarget(mode)) { |
| 384 StaticVisitor::VisitCodeTarget(heap, this); | 382 StaticVisitor::VisitCodeTarget(heap, this); |
| 385 } else if (mode == RelocInfo::CELL) { | 383 } else if (mode == RelocInfo::CELL) { |
| 386 StaticVisitor::VisitCell(heap, this); | 384 StaticVisitor::VisitCell(heap, this); |
| 387 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { | 385 } else if (mode == RelocInfo::EXTERNAL_REFERENCE) { |
| 388 StaticVisitor::VisitExternalReference(this); | 386 StaticVisitor::VisitExternalReference(this); |
| 389 } else if (RelocInfo::IsCodeAgeSequence(mode)) { | 387 } else if (RelocInfo::IsCodeAgeSequence(mode)) { |
| 390 StaticVisitor::VisitCodeAgeSequence(heap, this); | 388 StaticVisitor::VisitCodeAgeSequence(heap, this); |
| 391 #ifdef ENABLE_DEBUGGER_SUPPORT | |
| 392 } else if (heap->isolate()->debug()->has_break_points() && | 389 } else if (heap->isolate()->debug()->has_break_points() && |
| 393 ((RelocInfo::IsJSReturn(mode) && | 390 ((RelocInfo::IsJSReturn(mode) && |
| 394 IsPatchedReturnSequence()) || | 391 IsPatchedReturnSequence()) || |
| 395 (RelocInfo::IsDebugBreakSlot(mode) && | 392 (RelocInfo::IsDebugBreakSlot(mode) && |
| 396 IsPatchedDebugBreakSlotSequence()))) { | 393 IsPatchedDebugBreakSlotSequence()))) { |
| 397 StaticVisitor::VisitDebugTarget(heap, this); | 394 StaticVisitor::VisitDebugTarget(heap, this); |
| 398 #endif | |
| 399 } else if (RelocInfo::IsRuntimeEntry(mode)) { | 395 } else if (RelocInfo::IsRuntimeEntry(mode)) { |
| 400 StaticVisitor::VisitRuntimeEntry(this); | 396 StaticVisitor::VisitRuntimeEntry(this); |
| 401 } | 397 } |
| 402 } | 398 } |
| 403 | 399 |
| 404 | 400 |
| 405 // ----------------------------------------------------------------------------- | 401 // ----------------------------------------------------------------------------- |
| 406 // Assembler. | 402 // Assembler. |
| 407 | 403 |
| 408 | 404 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 426 } | 422 } |
| 427 *reinterpret_cast<Instr*>(pc_) = x; | 423 *reinterpret_cast<Instr*>(pc_) = x; |
| 428 pc_ += kInstrSize; | 424 pc_ += kInstrSize; |
| 429 CheckTrampolinePoolQuick(); | 425 CheckTrampolinePoolQuick(); |
| 430 } | 426 } |
| 431 | 427 |
| 432 | 428 |
| 433 } } // namespace v8::internal | 429 } } // namespace v8::internal |
| 434 | 430 |
| 435 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 431 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
| OLD | NEW |