| 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 1537 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1548 Assembler* assem_; | 1548 Assembler* assem_; |
| 1549 | 1549 |
| 1550 DISALLOW_COPY_AND_ASSIGN(BlockCodeTargetSharingScope); | 1550 DISALLOW_COPY_AND_ASSIGN(BlockCodeTargetSharingScope); |
| 1551 }; | 1551 }; |
| 1552 | 1552 |
| 1553 // Debugging | 1553 // Debugging |
| 1554 | 1554 |
| 1555 // Mark address of a debug break slot. | 1555 // Mark address of a debug break slot. |
| 1556 void RecordDebugBreakSlot(RelocInfo::Mode mode); | 1556 void RecordDebugBreakSlot(RelocInfo::Mode mode); |
| 1557 | 1557 |
| 1558 // Record the AST id of the CallIC being compiled, so that it can be placed | |
| 1559 // in the relocation information. | |
| 1560 void SetRecordedAstId(TypeFeedbackId ast_id) { | |
| 1561 DCHECK(recorded_ast_id_.IsNone()); | |
| 1562 recorded_ast_id_ = ast_id; | |
| 1563 } | |
| 1564 | |
| 1565 TypeFeedbackId RecordedAstId() { | |
| 1566 DCHECK(!recorded_ast_id_.IsNone()); | |
| 1567 return recorded_ast_id_; | |
| 1568 } | |
| 1569 | |
| 1570 void ClearRecordedAstId() { recorded_ast_id_ = TypeFeedbackId::None(); } | |
| 1571 | |
| 1572 // Record a comment relocation entry that can be used by a disassembler. | 1558 // Record a comment relocation entry that can be used by a disassembler. |
| 1573 // Use --code-comments to enable. | 1559 // Use --code-comments to enable. |
| 1574 void RecordComment(const char* msg); | 1560 void RecordComment(const char* msg); |
| 1575 | 1561 |
| 1576 // Record a deoptimization reason that can be used by a log or cpu profiler. | 1562 // Record a deoptimization reason that can be used by a log or cpu profiler. |
| 1577 // Use --trace-deopt to enable. | 1563 // Use --trace-deopt to enable. |
| 1578 void RecordDeoptReason(DeoptimizeReason reason, SourcePosition position, | 1564 void RecordDeoptReason(DeoptimizeReason reason, SourcePosition position, |
| 1579 int id); | 1565 int id); |
| 1580 | 1566 |
| 1581 // Record the emission of a constant pool. | 1567 // Record the emission of a constant pool. |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1696 } | 1682 } |
| 1697 | 1683 |
| 1698 void PatchConstantPoolAccessInstruction(int pc_offset, int offset, | 1684 void PatchConstantPoolAccessInstruction(int pc_offset, int offset, |
| 1699 ConstantPoolEntry::Access access, | 1685 ConstantPoolEntry::Access access, |
| 1700 ConstantPoolEntry::Type type) { | 1686 ConstantPoolEntry::Type type) { |
| 1701 // No embedded constant pool support. | 1687 // No embedded constant pool support. |
| 1702 UNREACHABLE(); | 1688 UNREACHABLE(); |
| 1703 } | 1689 } |
| 1704 | 1690 |
| 1705 protected: | 1691 protected: |
| 1706 // Relocation for a type-recording IC has the AST id added to it. This | |
| 1707 // member variable is a way to pass the information from the call site to | |
| 1708 // the relocation info. | |
| 1709 TypeFeedbackId recorded_ast_id_; | |
| 1710 | |
| 1711 int buffer_space() const { return reloc_info_writer.pos() - pc_; } | 1692 int buffer_space() const { return reloc_info_writer.pos() - pc_; } |
| 1712 | 1693 |
| 1713 // Decode branch instruction at pos and return branch target pos | 1694 // Decode branch instruction at pos and return branch target pos |
| 1714 int target_at(int pos); | 1695 int target_at(int pos); |
| 1715 | 1696 |
| 1716 // Patch branch instruction at pos to branch to given branch target pos | 1697 // Patch branch instruction at pos to branch to given branch target pos |
| 1717 void target_at_put(int pos, int target_pos); | 1698 void target_at_put(int pos, int target_pos); |
| 1718 | 1699 |
| 1719 // Prevent sharing of code target constant pool entries until | 1700 // Prevent sharing of code target constant pool entries until |
| 1720 // EndBlockCodeTargetSharing is called. Calls to this function can be nested | 1701 // EndBlockCodeTargetSharing is called. Calls to this function can be nested |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1903 | 1884 |
| 1904 void Emit(Address addr); | 1885 void Emit(Address addr); |
| 1905 void FlushICache(Isolate* isolate); | 1886 void FlushICache(Isolate* isolate); |
| 1906 }; | 1887 }; |
| 1907 | 1888 |
| 1908 | 1889 |
| 1909 } // namespace internal | 1890 } // namespace internal |
| 1910 } // namespace v8 | 1891 } // namespace v8 |
| 1911 | 1892 |
| 1912 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1893 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
| OLD | NEW |