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 |