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

Side by Side Diff: src/s390/macro-assembler-s390.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/s390/code-stubs-s390.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 922 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 // Inline caching support 933 // Inline caching support
934 934
935 // Generate code for checking access rights - used for security checks 935 // Generate code for checking access rights - used for security checks
936 // on access to global objects across environments. The holder register 936 // on access to global objects across environments. The holder register
937 // is left untouched, whereas both scratch registers are clobbered. 937 // is left untouched, whereas both scratch registers are clobbered.
938 void CheckAccessGlobalProxy(Register holder_reg, Register scratch, 938 void CheckAccessGlobalProxy(Register holder_reg, Register scratch,
939 Label* miss); 939 Label* miss);
940 940
941 void GetNumberHash(Register t0, Register scratch); 941 void GetNumberHash(Register t0, Register scratch);
942 942
943 void LoadFromNumberDictionary(Label* miss, Register elements, Register key,
944 Register result, Register t0, Register t1,
945 Register t2);
946
947 inline void MarkCode(NopMarkerTypes type) { nop(type); } 943 inline void MarkCode(NopMarkerTypes type) { nop(type); }
948 944
949 // Check if the given instruction is a 'type' marker. 945 // Check if the given instruction is a 'type' marker.
950 // i.e. check if is is a mov r<type>, r<type> (referenced as nop(type)) 946 // i.e. check if is is a mov r<type>, r<type> (referenced as nop(type))
951 // These instructions are generated to mark special location in the code, 947 // These instructions are generated to mark special location in the code,
952 // like some special IC code. 948 // like some special IC code.
953 static inline bool IsMarkedCode(Instr instr, int type) { 949 static inline bool IsMarkedCode(Instr instr, int type) {
954 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER)); 950 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER));
955 return IsNop(instr, type); 951 return IsNop(instr, type);
956 } 952 }
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
1079 // other registers. 1075 // other registers.
1080 // Type_reg can be no_reg. In that case ip is used. 1076 // Type_reg can be no_reg. In that case ip is used.
1081 void CompareObjectType(Register heap_object, Register map, Register type_reg, 1077 void CompareObjectType(Register heap_object, Register map, Register type_reg,
1082 InstanceType type); 1078 InstanceType type);
1083 1079
1084 // Compare instance type in a map. map contains a valid map object whose 1080 // Compare instance type in a map. map contains a valid map object whose
1085 // object type should be compared with the given type. This both 1081 // object type should be compared with the given type. This both
1086 // sets the flags and leaves the object type in the type_reg register. 1082 // sets the flags and leaves the object type in the type_reg register.
1087 void CompareInstanceType(Register map, Register type_reg, InstanceType type); 1083 void CompareInstanceType(Register map, Register type_reg, InstanceType type);
1088 1084
1089 // Check if a map for a JSObject indicates that the object has fast elements.
1090 // Jump to the specified label if it does not.
1091 void CheckFastElements(Register map, Register scratch, Label* fail);
1092
1093 // Check if a map for a JSObject indicates that the object can have both smi 1085 // Check if a map for a JSObject indicates that the object can have both smi
1094 // and HeapObject elements. Jump to the specified label if it does not. 1086 // and HeapObject elements. Jump to the specified label if it does not.
1095 void CheckFastObjectElements(Register map, Register scratch, Label* fail); 1087 void CheckFastObjectElements(Register map, Register scratch, Label* fail);
1096 1088
1097 // Check if a map for a JSObject indicates that the object has fast smi only 1089 // Check if a map for a JSObject indicates that the object has fast smi only
1098 // elements. Jump to the specified label if it does not. 1090 // elements. Jump to the specified label if it does not.
1099 void CheckFastSmiElements(Register map, Register scratch, Label* fail); 1091 void CheckFastSmiElements(Register map, Register scratch, Label* fail);
1100 1092
1101 // Check to see if maybe_number can be stored as a double in 1093 // Check to see if maybe_number can be stored as a double in
1102 // FastDoubleElements. If it can, store it at the index specified by key in 1094 // FastDoubleElements. If it can, store it at the index specified by key in
(...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after
1893 inline MemOperand NativeContextMemOperand() { 1885 inline MemOperand NativeContextMemOperand() {
1894 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); 1886 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX);
1895 } 1887 }
1896 1888
1897 #define ACCESS_MASM(masm) masm-> 1889 #define ACCESS_MASM(masm) masm->
1898 1890
1899 } // namespace internal 1891 } // namespace internal
1900 } // namespace v8 1892 } // namespace v8
1901 1893
1902 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ 1894 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_
OLDNEW
« no previous file with comments | « src/s390/code-stubs-s390.cc ('k') | src/s390/macro-assembler-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698