Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Side by Side Diff: src/s390/macro-assembler-s390.h

Issue 2427673004: [intrinsics] Nuke %HasCachedArrayIndex and %GetCachedArrayIndex. (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/runtime/runtime-array.cc ('k') | src/s390/macro-assembler-s390.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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_
OLDNEW
« no previous file with comments | « src/runtime/runtime-array.cc ('k') | src/s390/macro-assembler-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698