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 |