| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| 7 | 7 |
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
| 9 #include "src/globals.h" | 9 #include "src/globals.h" |
| 10 #include "src/mips64/assembler-mips64.h" | 10 #include "src/mips64/assembler-mips64.h" |
| (...skipping 1794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1805 // the exact number of bytes specified must be emitted. It is not legal to emit | 1805 // the exact number of bytes specified must be emitted. It is not legal to emit |
| 1806 // relocation information. If any of these constraints are violated it causes | 1806 // relocation information. If any of these constraints are violated it causes |
| 1807 // an assertion to fail. | 1807 // an assertion to fail. |
| 1808 class CodePatcher { | 1808 class CodePatcher { |
| 1809 public: | 1809 public: |
| 1810 enum FlushICache { | 1810 enum FlushICache { |
| 1811 FLUSH, | 1811 FLUSH, |
| 1812 DONT_FLUSH | 1812 DONT_FLUSH |
| 1813 }; | 1813 }; |
| 1814 | 1814 |
| 1815 CodePatcher(byte* address, | 1815 CodePatcher(Isolate* isolate, byte* address, int instructions, |
| 1816 int instructions, | |
| 1817 FlushICache flush_cache = FLUSH); | 1816 FlushICache flush_cache = FLUSH); |
| 1818 ~CodePatcher(); | 1817 ~CodePatcher(); |
| 1819 | 1818 |
| 1820 // Macro assembler to emit code. | 1819 // Macro assembler to emit code. |
| 1821 MacroAssembler* masm() { return &masm_; } | 1820 MacroAssembler* masm() { return &masm_; } |
| 1822 | 1821 |
| 1823 // Emit an instruction directly. | 1822 // Emit an instruction directly. |
| 1824 void Emit(Instr instr); | 1823 void Emit(Instr instr); |
| 1825 | 1824 |
| 1826 // Emit an address directly. | 1825 // Emit an address directly. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1845 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1844 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 1846 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1845 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 1847 #else | 1846 #else |
| 1848 #define ACCESS_MASM(masm) masm-> | 1847 #define ACCESS_MASM(masm) masm-> |
| 1849 #endif | 1848 #endif |
| 1850 | 1849 |
| 1851 } // namespace internal | 1850 } // namespace internal |
| 1852 } // namespace v8 | 1851 } // namespace v8 |
| 1853 | 1852 |
| 1854 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1853 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| OLD | NEW |