| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 1576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1587 // Push and pop the registers that can hold pointers, as defined by the | 1587 // Push and pop the registers that can hold pointers, as defined by the |
| 1588 // RegList constant kSafepointSavedRegisters. | 1588 // RegList constant kSafepointSavedRegisters. |
| 1589 void PushSafepointRegisters(); | 1589 void PushSafepointRegisters(); |
| 1590 void PopSafepointRegisters(); | 1590 void PopSafepointRegisters(); |
| 1591 | 1591 |
| 1592 // Store value in register src in the safepoint stack slot for register dst. | 1592 // Store value in register src in the safepoint stack slot for register dst. |
| 1593 void StoreToSafepointRegisterSlot(Register src, Register dst) { | 1593 void StoreToSafepointRegisterSlot(Register src, Register dst) { |
| 1594 Poke(src, SafepointRegisterStackIndex(dst.code()) * kPointerSize); | 1594 Poke(src, SafepointRegisterStackIndex(dst.code()) * kPointerSize); |
| 1595 } | 1595 } |
| 1596 | 1596 |
| 1597 // Load the value of the src register from its safepoint stack slot |
| 1598 // into register dst. |
| 1599 void LoadFromSafepointRegisterSlot(Register dst, Register src) { |
| 1600 Peek(src, SafepointRegisterStackIndex(dst.code()) * kPointerSize); |
| 1601 } |
| 1602 |
| 1597 void CheckPageFlagSet(const Register& object, | 1603 void CheckPageFlagSet(const Register& object, |
| 1598 const Register& scratch, | 1604 const Register& scratch, |
| 1599 int mask, | 1605 int mask, |
| 1600 Label* if_any_set); | 1606 Label* if_any_set); |
| 1601 | 1607 |
| 1602 void CheckPageFlagClear(const Register& object, | 1608 void CheckPageFlagClear(const Register& object, |
| 1603 const Register& scratch, | 1609 const Register& scratch, |
| 1604 int mask, | 1610 int mask, |
| 1605 Label* if_all_clear); | 1611 Label* if_all_clear); |
| 1606 | 1612 |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1708 Label* has_color, | 1714 Label* has_color, |
| 1709 int first_bit, | 1715 int first_bit, |
| 1710 int second_bit); | 1716 int second_bit); |
| 1711 | 1717 |
| 1712 void JumpIfBlack(Register object, | 1718 void JumpIfBlack(Register object, |
| 1713 Register scratch0, | 1719 Register scratch0, |
| 1714 Register scratch1, | 1720 Register scratch1, |
| 1715 Label* on_black); | 1721 Label* on_black); |
| 1716 | 1722 |
| 1717 | 1723 |
| 1724 // Get the location of a relocated constant (its address in the constant pool) |
| 1725 // from its load site. |
| 1726 void GetRelocatedValueLocation(Register ldr_location, |
| 1727 Register result); |
| 1728 |
| 1729 |
| 1718 // --------------------------------------------------------------------------- | 1730 // --------------------------------------------------------------------------- |
| 1719 // Debugging. | 1731 // Debugging. |
| 1720 | 1732 |
| 1721 // Calls Abort(msg) if the condition cond is not satisfied. | 1733 // Calls Abort(msg) if the condition cond is not satisfied. |
| 1722 // Use --debug_code to enable. | 1734 // Use --debug_code to enable. |
| 1723 void Assert(Condition cond, const char* msg); | 1735 void Assert(Condition cond, const char* msg); |
| 1724 void AssertRegisterIsClear(Register reg, const char* msg); | 1736 void AssertRegisterIsClear(Register reg, const char* msg); |
| 1725 void AssertRegisterIsRoot(Register reg, Heap::RootListIndex index); | 1737 void AssertRegisterIsRoot(Register reg, Heap::RootListIndex index); |
| 1726 void AssertFastElements(Register elements); | 1738 void AssertFastElements(Register elements); |
| 1727 | 1739 |
| (...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2132 #error "Unsupported option" | 2144 #error "Unsupported option" |
| 2133 #define CODE_COVERAGE_STRINGIFY(x) #x | 2145 #define CODE_COVERAGE_STRINGIFY(x) #x |
| 2134 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 2146 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
| 2135 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2147 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 2136 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2148 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 2137 #else | 2149 #else |
| 2138 #define ACCESS_MASM(masm) masm-> | 2150 #define ACCESS_MASM(masm) masm-> |
| 2139 #endif | 2151 #endif |
| 2140 | 2152 |
| 2141 #endif // V8_A64_MACRO_ASSEMBLER_A64_H_ | 2153 #endif // V8_A64_MACRO_ASSEMBLER_A64_H_ |
| OLD | NEW |