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 | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are 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 1474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1485 static const int kMaxNumPending32Constants = kMaxDistToIntPool / kInstrSize; | 1485 static const int kMaxNumPending32Constants = kMaxDistToIntPool / kInstrSize; |
1486 static const int kMaxNumPending64Constants = kMaxDistToFPPool / kInstrSize; | 1486 static const int kMaxNumPending64Constants = kMaxDistToFPPool / kInstrSize; |
1487 | 1487 |
1488 // Postpone the generation of the constant pool for the specified number of | 1488 // Postpone the generation of the constant pool for the specified number of |
1489 // instructions. | 1489 // instructions. |
1490 void BlockConstPoolFor(int instructions); | 1490 void BlockConstPoolFor(int instructions); |
1491 | 1491 |
1492 // Check if is time to emit a constant pool. | 1492 // Check if is time to emit a constant pool. |
1493 void CheckConstPool(bool force_emit, bool require_jump); | 1493 void CheckConstPool(bool force_emit, bool require_jump); |
1494 | 1494 |
| 1495 void MaybeCheckConstPool() { |
| 1496 if (pc_offset() >= next_buffer_check_) { |
| 1497 CheckConstPool(false, true); |
| 1498 } |
| 1499 } |
| 1500 |
1495 int EmitEmbeddedConstantPool() { | 1501 int EmitEmbeddedConstantPool() { |
1496 DCHECK(FLAG_enable_embedded_constant_pool); | 1502 DCHECK(FLAG_enable_embedded_constant_pool); |
1497 return constant_pool_builder_.Emit(this); | 1503 return constant_pool_builder_.Emit(this); |
1498 } | 1504 } |
1499 | 1505 |
1500 bool ConstantPoolAccessIsInOverflow() const { | 1506 bool ConstantPoolAccessIsInOverflow() const { |
1501 return constant_pool_builder_.NextAccess(ConstantPoolEntry::INTPTR) == | 1507 return constant_pool_builder_.NextAccess(ConstantPoolEntry::INTPTR) == |
1502 ConstantPoolEntry::OVERFLOWED; | 1508 ConstantPoolEntry::OVERFLOWED; |
1503 } | 1509 } |
1504 | 1510 |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1663 public: | 1669 public: |
1664 explicit EnsureSpace(Assembler* assembler) { | 1670 explicit EnsureSpace(Assembler* assembler) { |
1665 assembler->CheckBuffer(); | 1671 assembler->CheckBuffer(); |
1666 } | 1672 } |
1667 }; | 1673 }; |
1668 | 1674 |
1669 | 1675 |
1670 } } // namespace v8::internal | 1676 } } // namespace v8::internal |
1671 | 1677 |
1672 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1678 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |