| 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 1804 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1815 | 1815 |
| 1816 // Activation support. | 1816 // Activation support. |
| 1817 void EnterFrame(StackFrame::Type type); | 1817 void EnterFrame(StackFrame::Type type); |
| 1818 void EnterFrame(StackFrame::Type type, bool load_constant_pool_pointer_reg); | 1818 void EnterFrame(StackFrame::Type type, bool load_constant_pool_pointer_reg); |
| 1819 void LeaveFrame(StackFrame::Type type); | 1819 void LeaveFrame(StackFrame::Type type); |
| 1820 | 1820 |
| 1821 // Expects object in a0 and returns map with validated enum cache | 1821 // Expects object in a0 and returns map with validated enum cache |
| 1822 // in a0. Assumes that any other register can be used as a scratch. | 1822 // in a0. Assumes that any other register can be used as a scratch. |
| 1823 void CheckEnumCache(Label* call_runtime); | 1823 void CheckEnumCache(Label* call_runtime); |
| 1824 | 1824 |
| 1825 // AllocationMemento support. Arrays may have an associated | 1825 // AllocationMemento support. Arrays may have an associated AllocationMemento |
| 1826 // AllocationMemento object that can be checked for in order to pretransition | 1826 // object that can be checked for in order to pretransition to another type. |
| 1827 // to another type. | 1827 // On entry, receiver_reg should point to the array object. scratch_reg gets |
| 1828 // On entry, receiver_reg should point to the array object. | 1828 // clobbered. If no info is present jump to no_memento_found, otherwise fall |
| 1829 // scratch_reg gets clobbered. | 1829 // through. |
| 1830 // If allocation info is present, jump to allocation_memento_present. | 1830 void TestJSArrayForAllocationMemento(Register receiver_reg, |
| 1831 void TestJSArrayForAllocationMemento( | 1831 Register scratch_reg, |
| 1832 Register receiver_reg, | 1832 Label* no_memento_found); |
| 1833 Register scratch_reg, | |
| 1834 Label* no_memento_found, | |
| 1835 Condition cond = al, | |
| 1836 Label* allocation_memento_present = NULL); | |
| 1837 | 1833 |
| 1838 void JumpIfJSArrayHasAllocationMemento(Register receiver_reg, | 1834 void JumpIfJSArrayHasAllocationMemento(Register receiver_reg, |
| 1839 Register scratch_reg, | 1835 Register scratch_reg, |
| 1840 Label* memento_found) { | 1836 Label* memento_found) { |
| 1841 Label no_memento_found; | 1837 Label no_memento_found; |
| 1842 TestJSArrayForAllocationMemento(receiver_reg, scratch_reg, | 1838 TestJSArrayForAllocationMemento(receiver_reg, scratch_reg, |
| 1843 &no_memento_found, eq, memento_found); | 1839 &no_memento_found); |
| 1840 Branch(memento_found); |
| 1844 bind(&no_memento_found); | 1841 bind(&no_memento_found); |
| 1845 } | 1842 } |
| 1846 | 1843 |
| 1847 // Jumps to found label if a prototype map has dictionary elements. | 1844 // Jumps to found label if a prototype map has dictionary elements. |
| 1848 void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0, | 1845 void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0, |
| 1849 Register scratch1, Label* found); | 1846 Register scratch1, Label* found); |
| 1850 | 1847 |
| 1851 bool IsDoubleZeroRegSet() { return has_double_zero_reg_set_; } | 1848 bool IsDoubleZeroRegSet() { return has_double_zero_reg_set_; } |
| 1852 | 1849 |
| 1853 private: | 1850 private: |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2012 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 2009 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 2013 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 2010 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 2014 #else | 2011 #else |
| 2015 #define ACCESS_MASM(masm) masm-> | 2012 #define ACCESS_MASM(masm) masm-> |
| 2016 #endif | 2013 #endif |
| 2017 | 2014 |
| 2018 } // namespace internal | 2015 } // namespace internal |
| 2019 } // namespace v8 | 2016 } // namespace v8 |
| 2020 | 2017 |
| 2021 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 2018 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| OLD | NEW |