Chromium Code Reviews| 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 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 442 if (pc_offset() >= next_buffer_check_ - extra_instructions * kInstrSize) { | 442 if (pc_offset() >= next_buffer_check_ - extra_instructions * kInstrSize) { |
| 443 CheckTrampolinePool(); | 443 CheckTrampolinePool(); |
| 444 } | 444 } |
| 445 } | 445 } |
| 446 | 446 |
| 447 | 447 |
| 448 void Assembler::emit(Instr x) { | 448 void Assembler::emit(Instr x) { |
| 449 if (!is_buffer_growth_blocked()) { | 449 if (!is_buffer_growth_blocked()) { |
| 450 CheckBuffer(); | 450 CheckBuffer(); |
| 451 } | 451 } |
| 452 if (IsPrevInstrCompactBranch()) { | |
| 453 BlockTrampolinePoolFor(1); // For saving forbidden slot. | |
|
paul.l...
2015/10/15 01:51:24
Doesn't this BlockTrampolinePoolFor(1) come too la
balazs.kilvady
2015/10/30 21:11:14
Done.
| |
| 454 if (Instruction::At(reinterpret_cast<byte*>(&x)) | |
| 455 ->IsForbiddenInBranchDelay()) { | |
|
paul.l...
2015/10/15 01:51:24
I think the use of 'Delay' in this name is mis-lea
balazs.kilvady
2015/10/30 21:11:14
Done.
| |
| 456 // Nop instruction to preceed a CTI in forbidden slot: | |
| 457 Instr nop = SPECIAL | SLL; | |
| 458 *reinterpret_cast<Instr*>(pc_) = nop; | |
| 459 pc_ += kInstrSize; | |
| 460 } | |
| 461 ClearCompactBranchState(); | |
| 462 } | |
| 452 *reinterpret_cast<Instr*>(pc_) = x; | 463 *reinterpret_cast<Instr*>(pc_) = x; |
| 453 pc_ += kInstrSize; | 464 pc_ += kInstrSize; |
| 454 CheckTrampolinePoolQuick(); | 465 CheckTrampolinePoolQuick(); |
| 455 } | 466 } |
| 456 | 467 |
| 457 | 468 |
| 458 } // namespace internal | 469 } // namespace internal |
| 459 } // namespace v8 | 470 } // namespace v8 |
| 460 | 471 |
| 461 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ | 472 #endif // V8_MIPS_ASSEMBLER_MIPS_INL_H_ |
| OLD | NEW |