OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_S390_MACRO_ASSEMBLER_S390_H_ | 5 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_ |
6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ | 6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 1770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1781 void CheckEnumCache(Label* call_runtime); | 1781 void CheckEnumCache(Label* call_runtime); |
1782 | 1782 |
1783 // AllocationMemento support. Arrays may have an associated | 1783 // AllocationMemento support. Arrays may have an associated |
1784 // AllocationMemento object that can be checked for in order to pretransition | 1784 // AllocationMemento object that can be checked for in order to pretransition |
1785 // to another type. | 1785 // to another type. |
1786 // On entry, receiver_reg should point to the array object. | 1786 // On entry, receiver_reg should point to the array object. |
1787 // scratch_reg gets clobbered. | 1787 // scratch_reg gets clobbered. |
1788 // If allocation info is present, condition flags are set to eq. | 1788 // If allocation info is present, condition flags are set to eq. |
1789 void TestJSArrayForAllocationMemento(Register receiver_reg, | 1789 void TestJSArrayForAllocationMemento(Register receiver_reg, |
1790 Register scratch_reg, | 1790 Register scratch_reg, |
| 1791 Register scratch2_reg, |
1791 Label* no_memento_found); | 1792 Label* no_memento_found); |
1792 | 1793 |
1793 void JumpIfJSArrayHasAllocationMemento(Register receiver_reg, | 1794 void JumpIfJSArrayHasAllocationMemento(Register receiver_reg, |
1794 Register scratch_reg, | 1795 Register scratch_reg, |
| 1796 Register scratch2_reg, |
1795 Label* memento_found) { | 1797 Label* memento_found) { |
1796 Label no_memento_found; | 1798 Label no_memento_found; |
1797 TestJSArrayForAllocationMemento(receiver_reg, scratch_reg, | 1799 TestJSArrayForAllocationMemento(receiver_reg, scratch_reg, scratch2_reg, |
1798 &no_memento_found); | 1800 &no_memento_found); |
1799 beq(memento_found); | 1801 beq(memento_found); |
1800 bind(&no_memento_found); | 1802 bind(&no_memento_found); |
1801 } | 1803 } |
1802 | 1804 |
1803 // Jumps to found label if a prototype map has dictionary elements. | 1805 // Jumps to found label if a prototype map has dictionary elements. |
1804 void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0, | 1806 void JumpIfDictionaryInPrototypeChain(Register object, Register scratch0, |
1805 Register scratch1, Label* found); | 1807 Register scratch1, Label* found); |
1806 | 1808 |
1807 private: | 1809 private: |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1893 #define ACCESS_MASM(masm) \ | 1895 #define ACCESS_MASM(masm) \ |
1894 masm->stop(__FILE_LINE__); \ | 1896 masm->stop(__FILE_LINE__); \ |
1895 masm-> | 1897 masm-> |
1896 #else | 1898 #else |
1897 #define ACCESS_MASM(masm) masm-> | 1899 #define ACCESS_MASM(masm) masm-> |
1898 #endif | 1900 #endif |
1899 } // namespace internal | 1901 } // namespace internal |
1900 } // namespace v8 | 1902 } // namespace v8 |
1901 | 1903 |
1902 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ | 1904 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ |
OLD | NEW |