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

Side by Side Diff: src/ppc/macro-assembler-ppc.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/mips64/macro-assembler-mips64.cc ('k') | src/ppc/macro-assembler-ppc.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_PPC_MACRO_ASSEMBLER_PPC_H_ 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_
6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_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 884 matching lines...) Expand 10 before | Expand all | Expand 10 after
895 // Loads the type into the second argument register. 895 // Loads the type into the second argument register.
896 // Returns a condition that will be enabled if the object was a string. 896 // Returns a condition that will be enabled if the object was a string.
897 Condition IsObjectStringType(Register obj, Register type) { 897 Condition IsObjectStringType(Register obj, Register type) {
898 LoadP(type, FieldMemOperand(obj, HeapObject::kMapOffset)); 898 LoadP(type, FieldMemOperand(obj, HeapObject::kMapOffset));
899 lbz(type, FieldMemOperand(type, Map::kInstanceTypeOffset)); 899 lbz(type, FieldMemOperand(type, Map::kInstanceTypeOffset));
900 andi(r0, type, Operand(kIsNotStringMask)); 900 andi(r0, type, Operand(kIsNotStringMask));
901 DCHECK_EQ(0u, kStringTag); 901 DCHECK_EQ(0u, kStringTag);
902 return eq; 902 return eq;
903 } 903 }
904 904
905
906 // Picks out an array index from the hash field.
907 // Register use:
908 // hash - holds the index's hash. Clobbered.
909 // index - holds the overwritten index on exit.
910 void IndexFromHash(Register hash, Register index);
911
912 // Get the number of least significant bits from a register 905 // Get the number of least significant bits from a register
913 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits); 906 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits);
914 void GetLeastBitsFromInt32(Register dst, Register src, int mun_least_bits); 907 void GetLeastBitsFromInt32(Register dst, Register src, int mun_least_bits);
915 908
916 // Load the value of a smi object into a double register. 909 // Load the value of a smi object into a double register.
917 void SmiToDouble(DoubleRegister value, Register smi); 910 void SmiToDouble(DoubleRegister value, Register smi);
918 911
919 // Check if a double can be exactly represented as a signed 32-bit integer. 912 // Check if a double can be exactly represented as a signed 32-bit integer.
920 // CR_EQ in cr7 is set if true. 913 // CR_EQ in cr7 is set if true.
921 void TestDoubleIsInt32(DoubleRegister double_input, Register scratch1, 914 void TestDoubleIsInt32(DoubleRegister double_input, Register scratch1,
(...skipping 743 matching lines...) Expand 10 before | Expand all | Expand 10 after
1665 inline MemOperand NativeContextMemOperand() { 1658 inline MemOperand NativeContextMemOperand() {
1666 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); 1659 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX);
1667 } 1660 }
1668 1661
1669 #define ACCESS_MASM(masm) masm-> 1662 #define ACCESS_MASM(masm) masm->
1670 1663
1671 } // namespace internal 1664 } // namespace internal
1672 } // namespace v8 1665 } // namespace v8
1673 1666
1674 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ 1667 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_
OLDNEW
« no previous file with comments | « src/mips64/macro-assembler-mips64.cc ('k') | src/ppc/macro-assembler-ppc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698