| 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 1151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1162 // Returns a condition that will be enabled if the object was a string. | 1162 // Returns a condition that will be enabled if the object was a string. |
| 1163 Condition IsObjectStringType(Register obj, Register type) { | 1163 Condition IsObjectStringType(Register obj, Register type) { |
| 1164 LoadP(type, FieldMemOperand(obj, HeapObject::kMapOffset)); | 1164 LoadP(type, FieldMemOperand(obj, HeapObject::kMapOffset)); |
| 1165 LoadlB(type, FieldMemOperand(type, Map::kInstanceTypeOffset)); | 1165 LoadlB(type, FieldMemOperand(type, Map::kInstanceTypeOffset)); |
| 1166 mov(r0, Operand(kIsNotStringMask)); | 1166 mov(r0, Operand(kIsNotStringMask)); |
| 1167 AndP(r0, type); | 1167 AndP(r0, type); |
| 1168 DCHECK_EQ(0u, kStringTag); | 1168 DCHECK_EQ(0u, kStringTag); |
| 1169 return eq; | 1169 return eq; |
| 1170 } | 1170 } |
| 1171 | 1171 |
| 1172 // Picks out an array index from the hash field. | |
| 1173 // Register use: | |
| 1174 // hash - holds the index's hash. Clobbered. | |
| 1175 // index - holds the overwritten index on exit. | |
| 1176 void IndexFromHash(Register hash, Register index); | |
| 1177 | |
| 1178 // Get the number of least significant bits from a register | 1172 // Get the number of least significant bits from a register |
| 1179 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits); | 1173 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits); |
| 1180 void GetLeastBitsFromInt32(Register dst, Register src, int mun_least_bits); | 1174 void GetLeastBitsFromInt32(Register dst, Register src, int mun_least_bits); |
| 1181 | 1175 |
| 1182 // Load the value of a smi object into a FP double register. The register | 1176 // Load the value of a smi object into a FP double register. The register |
| 1183 // scratch1 can be the same register as smi in which case smi will hold the | 1177 // scratch1 can be the same register as smi in which case smi will hold the |
| 1184 // untagged value afterwards. | 1178 // untagged value afterwards. |
| 1185 void SmiToDouble(DoubleRegister value, Register smi); | 1179 void SmiToDouble(DoubleRegister value, Register smi); |
| 1186 | 1180 |
| 1187 // Check if a double can be exactly represented as a signed 32-bit integer. | 1181 // Check if a double can be exactly represented as a signed 32-bit integer. |
| (...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1885 inline MemOperand NativeContextMemOperand() { | 1879 inline MemOperand NativeContextMemOperand() { |
| 1886 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); | 1880 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); |
| 1887 } | 1881 } |
| 1888 | 1882 |
| 1889 #define ACCESS_MASM(masm) masm-> | 1883 #define ACCESS_MASM(masm) masm-> |
| 1890 | 1884 |
| 1891 } // namespace internal | 1885 } // namespace internal |
| 1892 } // namespace v8 | 1886 } // namespace v8 |
| 1893 | 1887 |
| 1894 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ | 1888 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ |
| OLD | NEW |