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

Side by Side Diff: src/mips/macro-assembler-mips.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/mips/code-stubs-mips.cc ('k') | src/mips/macro-assembler-mips.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_MIPS_MACRO_ASSEMBLER_MIPS_H_ 5 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ 6 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/globals.h" 9 #include "src/globals.h"
10 #include "src/mips/assembler-mips.h" 10 #include "src/mips/assembler-mips.h"
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 497
498 // Generate code for checking access rights - used for security checks 498 // Generate code for checking access rights - used for security checks
499 // on access to global objects across environments. The holder register 499 // on access to global objects across environments. The holder register
500 // is left untouched, whereas both scratch registers are clobbered. 500 // is left untouched, whereas both scratch registers are clobbered.
501 void CheckAccessGlobalProxy(Register holder_reg, 501 void CheckAccessGlobalProxy(Register holder_reg,
502 Register scratch, 502 Register scratch,
503 Label* miss); 503 Label* miss);
504 504
505 void GetNumberHash(Register reg0, Register scratch); 505 void GetNumberHash(Register reg0, Register scratch);
506 506
507 void LoadFromNumberDictionary(Label* miss,
508 Register elements,
509 Register key,
510 Register result,
511 Register reg0,
512 Register reg1,
513 Register reg2);
514
515
516 inline void MarkCode(NopMarkerTypes type) { 507 inline void MarkCode(NopMarkerTypes type) {
517 nop(type); 508 nop(type);
518 } 509 }
519 510
520 // Check if the given instruction is a 'type' marker. 511 // Check if the given instruction is a 'type' marker.
521 // i.e. check if it is a sll zero_reg, zero_reg, <type> (referenced as 512 // i.e. check if it is a sll zero_reg, zero_reg, <type> (referenced as
522 // nop(type)). These instructions are generated to mark special location in 513 // nop(type)). These instructions are generated to mark special location in
523 // the code, like some special IC code. 514 // the code, like some special IC code.
524 static inline bool IsMarkedCode(Instr instr, int type) { 515 static inline bool IsMarkedCode(Instr instr, int type) {
525 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER)); 516 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER));
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after
1173 1164
1174 void GetObjectType(Register function, 1165 void GetObjectType(Register function,
1175 Register map, 1166 Register map,
1176 Register type_reg); 1167 Register type_reg);
1177 1168
1178 void GetInstanceType(Register object_map, Register object_instance_type) { 1169 void GetInstanceType(Register object_map, Register object_instance_type) {
1179 lbu(object_instance_type, 1170 lbu(object_instance_type,
1180 FieldMemOperand(object_map, Map::kInstanceTypeOffset)); 1171 FieldMemOperand(object_map, Map::kInstanceTypeOffset));
1181 } 1172 }
1182 1173
1183 // Check if a map for a JSObject indicates that the object has fast elements.
1184 // Jump to the specified label if it does not.
1185 void CheckFastElements(Register map,
1186 Register scratch,
1187 Label* fail);
1188
1189 // Check if a map for a JSObject indicates that the object can have both smi 1174 // Check if a map for a JSObject indicates that the object can have both smi
1190 // and HeapObject elements. Jump to the specified label if it does not. 1175 // and HeapObject elements. Jump to the specified label if it does not.
1191 void CheckFastObjectElements(Register map, 1176 void CheckFastObjectElements(Register map,
1192 Register scratch, 1177 Register scratch,
1193 Label* fail); 1178 Label* fail);
1194 1179
1195 // Check if a map for a JSObject indicates that the object has fast smi only 1180 // Check if a map for a JSObject indicates that the object has fast smi only
1196 // elements. Jump to the specified label if it does not. 1181 // elements. Jump to the specified label if it does not.
1197 void CheckFastSmiElements(Register map, 1182 void CheckFastSmiElements(Register map,
1198 Register scratch, 1183 Register scratch,
(...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after
1927 dd(GetLabelFunction(index)); 1912 dd(GetLabelFunction(index));
1928 } 1913 }
1929 } 1914 }
1930 1915
1931 #define ACCESS_MASM(masm) masm-> 1916 #define ACCESS_MASM(masm) masm->
1932 1917
1933 } // namespace internal 1918 } // namespace internal
1934 } // namespace v8 1919 } // namespace v8
1935 1920
1936 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ 1921 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips/code-stubs-mips.cc ('k') | src/mips/macro-assembler-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698