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

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

Issue 2424433002: [ic] Delete old KeyedLoadIC code (Closed)
Patch Set: fix failing test 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/arm/code-stubs-arm.cc ('k') | src/arm/macro-assembler-arm.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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_ARM_MACRO_ASSEMBLER_ARM_H_ 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_
6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_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 711 matching lines...) Expand 10 before | Expand all | Expand 10 after
722 722
723 // Generate code for checking access rights - used for security checks 723 // Generate code for checking access rights - used for security checks
724 // on access to global objects across environments. The holder register 724 // on access to global objects across environments. The holder register
725 // is left untouched, whereas both scratch registers are clobbered. 725 // is left untouched, whereas both scratch registers are clobbered.
726 void CheckAccessGlobalProxy(Register holder_reg, 726 void CheckAccessGlobalProxy(Register holder_reg,
727 Register scratch, 727 Register scratch,
728 Label* miss); 728 Label* miss);
729 729
730 void GetNumberHash(Register t0, Register scratch); 730 void GetNumberHash(Register t0, Register scratch);
731 731
732 void LoadFromNumberDictionary(Label* miss,
733 Register elements,
734 Register key,
735 Register result,
736 Register t0,
737 Register t1,
738 Register t2);
739
740
741 inline void MarkCode(NopMarkerTypes type) { 732 inline void MarkCode(NopMarkerTypes type) {
742 nop(type); 733 nop(type);
743 } 734 }
744 735
745 // Check if the given instruction is a 'type' marker. 736 // Check if the given instruction is a 'type' marker.
746 // i.e. check if is is a mov r<type>, r<type> (referenced as nop(type)) 737 // i.e. check if is is a mov r<type>, r<type> (referenced as nop(type))
747 // These instructions are generated to mark special location in the code, 738 // These instructions are generated to mark special location in the code,
748 // like some special IC code. 739 // like some special IC code.
749 static inline bool IsMarkedCode(Instr instr, int type) { 740 static inline bool IsMarkedCode(Instr instr, int type) {
750 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER)); 741 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER));
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
893 Register type_reg, 884 Register type_reg,
894 InstanceType type); 885 InstanceType type);
895 886
896 // Compare instance type in a map. map contains a valid map object whose 887 // Compare instance type in a map. map contains a valid map object whose
897 // object type should be compared with the given type. This both 888 // object type should be compared with the given type. This both
898 // sets the flags and leaves the object type in the type_reg register. 889 // sets the flags and leaves the object type in the type_reg register.
899 void CompareInstanceType(Register map, 890 void CompareInstanceType(Register map,
900 Register type_reg, 891 Register type_reg,
901 InstanceType type); 892 InstanceType type);
902 893
903
904 // Check if a map for a JSObject indicates that the object has fast elements.
905 // Jump to the specified label if it does not.
906 void CheckFastElements(Register map,
907 Register scratch,
908 Label* fail);
909
910 // Check if a map for a JSObject indicates that the object can have both smi 894 // Check if a map for a JSObject indicates that the object can have both smi
911 // and HeapObject elements. Jump to the specified label if it does not. 895 // and HeapObject elements. Jump to the specified label if it does not.
912 void CheckFastObjectElements(Register map, 896 void CheckFastObjectElements(Register map,
913 Register scratch, 897 Register scratch,
914 Label* fail); 898 Label* fail);
915 899
916 // Check if a map for a JSObject indicates that the object has fast smi only 900 // Check if a map for a JSObject indicates that the object has fast smi only
917 // elements. Jump to the specified label if it does not. 901 // elements. Jump to the specified label if it does not.
918 void CheckFastSmiElements(Register map, 902 void CheckFastSmiElements(Register map,
919 Register scratch, 903 Register scratch,
(...skipping 700 matching lines...) Expand 10 before | Expand all | Expand 10 after
1620 inline MemOperand NativeContextMemOperand() { 1604 inline MemOperand NativeContextMemOperand() {
1621 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); 1605 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX);
1622 } 1606 }
1623 1607
1624 #define ACCESS_MASM(masm) masm-> 1608 #define ACCESS_MASM(masm) masm->
1625 1609
1626 } // namespace internal 1610 } // namespace internal
1627 } // namespace v8 1611 } // namespace v8
1628 1612
1629 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1613 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698