| 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/mips/assembler-mips.h" | 10 #include "src/mips/assembler-mips.h" |
| (...skipping 1644 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1655 | 1655 |
| 1656 // Activation support. | 1656 // Activation support. |
| 1657 void EnterFrame(StackFrame::Type type); | 1657 void EnterFrame(StackFrame::Type type); |
| 1658 void EnterFrame(StackFrame::Type type, bool load_constant_pool_pointer_reg); | 1658 void EnterFrame(StackFrame::Type type, bool load_constant_pool_pointer_reg); |
| 1659 void LeaveFrame(StackFrame::Type type); | 1659 void LeaveFrame(StackFrame::Type type); |
| 1660 | 1660 |
| 1661 // Expects object in a0 and returns map with validated enum cache | 1661 // Expects object in a0 and returns map with validated enum cache |
| 1662 // in a0. Assumes that any other register can be used as a scratch. | 1662 // in a0. Assumes that any other register can be used as a scratch. |
| 1663 void CheckEnumCache(Label* call_runtime); | 1663 void CheckEnumCache(Label* call_runtime); |
| 1664 | 1664 |
| 1665 // AllocationMemento support. Arrays may have an associated | 1665 // AllocationMemento support. Arrays may have an associated AllocationMemento |
| 1666 // AllocationMemento object that can be checked for in order to pretransition | 1666 // object that can be checked for in order to pretransition to another type. |
| 1667 // to another type. | 1667 // On entry, receiver_reg should point to the array object. scratch_reg gets |
| 1668 // On entry, receiver_reg should point to the array object. | 1668 // clobbered. If no info is present jump to no_memento_found, otherwise fall |
| 1669 // scratch_reg gets clobbered. | 1669 // through. |
| 1670 // If allocation info is present, jump to allocation_memento_present. | 1670 void TestJSArrayForAllocationMemento(Register receiver_reg, |
| 1671 void TestJSArrayForAllocationMemento( | 1671 Register scratch_reg, |
| 1672 Register receiver_reg, | 1672 Label* no_memento_found); |
| 1673 Register scratch_reg, | |
| 1674 Label* no_memento_found, | |
| 1675 Condition cond = al, | |
| 1676 Label* allocation_memento_present = NULL); | |
| 1677 | 1673 |
| 1678 void JumpIfJSArrayHasAllocationMemento(Register receiver_reg, | 1674 void JumpIfJSArrayHasAllocationMemento(Register receiver_reg, |
| 1679 Register scratch_reg, | 1675 Register scratch_reg, |
| 1680 Label* memento_found) { | 1676 Label* memento_found) { |
| 1681 Label no_memento_found; | 1677 Label no_memento_found; |
| 1682 TestJSArrayForAllocationMemento(receiver_reg, scratch_reg, | 1678 TestJSArrayForAllocationMemento(receiver_reg, scratch_reg, |
| 1683 &no_memento_found, eq, memento_found); | 1679 &no_memento_found); |
| 1680 Branch(memento_found); |
| 1684 bind(&no_memento_found); | 1681 bind(&no_memento_found); |
| 1685 } | 1682 } |
| 1686 | 1683 |
| 1687 // Jumps to found label if a prototype map has dictionary elements. | 1684 // Jumps to found label if a prototype map has dictionary elements. |
| 1688 void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0, | 1685 void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0, |
| 1689 Register scratch1, Label* found); | 1686 Register scratch1, Label* found); |
| 1690 | 1687 |
| 1691 bool IsDoubleZeroRegSet() { return has_double_zero_reg_set_; } | 1688 bool IsDoubleZeroRegSet() { return has_double_zero_reg_set_; } |
| 1692 | 1689 |
| 1693 private: | 1690 private: |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1842 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1839 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 1843 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1840 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 1844 #else | 1841 #else |
| 1845 #define ACCESS_MASM(masm) masm-> | 1842 #define ACCESS_MASM(masm) masm-> |
| 1846 #endif | 1843 #endif |
| 1847 | 1844 |
| 1848 } // namespace internal | 1845 } // namespace internal |
| 1849 } // namespace v8 | 1846 } // namespace v8 |
| 1850 | 1847 |
| 1851 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1848 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| OLD | NEW |