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

Side by Side Diff: src/mips64/macro-assembler-mips64.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/mips64/code-stubs-mips64.cc ('k') | src/mips64/macro-assembler-mips64.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/mips64/assembler-mips64.h" 10 #include "src/mips64/assembler-mips64.h"
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 529
530 // Generate code for checking access rights - used for security checks 530 // Generate code for checking access rights - used for security checks
531 // on access to global objects across environments. The holder register 531 // on access to global objects across environments. The holder register
532 // is left untouched, whereas both scratch registers are clobbered. 532 // is left untouched, whereas both scratch registers are clobbered.
533 void CheckAccessGlobalProxy(Register holder_reg, 533 void CheckAccessGlobalProxy(Register holder_reg,
534 Register scratch, 534 Register scratch,
535 Label* miss); 535 Label* miss);
536 536
537 void GetNumberHash(Register reg0, Register scratch); 537 void GetNumberHash(Register reg0, Register scratch);
538 538
539 void LoadFromNumberDictionary(Label* miss,
540 Register elements,
541 Register key,
542 Register result,
543 Register reg0,
544 Register reg1,
545 Register reg2);
546
547
548 inline void MarkCode(NopMarkerTypes type) { 539 inline void MarkCode(NopMarkerTypes type) {
549 nop(type); 540 nop(type);
550 } 541 }
551 542
552 // Check if the given instruction is a 'type' marker. 543 // Check if the given instruction is a 'type' marker.
553 // i.e. check if it is a sll zero_reg, zero_reg, <type> (referenced as 544 // i.e. check if it is a sll zero_reg, zero_reg, <type> (referenced as
554 // nop(type)). These instructions are generated to mark special location in 545 // nop(type)). These instructions are generated to mark special location in
555 // the code, like some special IC code. 546 // the code, like some special IC code.
556 static inline bool IsMarkedCode(Instr instr, int type) { 547 static inline bool IsMarkedCode(Instr instr, int type) {
557 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER)); 548 DCHECK((FIRST_IC_MARKER <= type) && (type < LAST_CODE_MARKER));
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
1231 1222
1232 void GetObjectType(Register function, 1223 void GetObjectType(Register function,
1233 Register map, 1224 Register map,
1234 Register type_reg); 1225 Register type_reg);
1235 1226
1236 void GetInstanceType(Register object_map, Register object_instance_type) { 1227 void GetInstanceType(Register object_map, Register object_instance_type) {
1237 lbu(object_instance_type, 1228 lbu(object_instance_type,
1238 FieldMemOperand(object_map, Map::kInstanceTypeOffset)); 1229 FieldMemOperand(object_map, Map::kInstanceTypeOffset));
1239 } 1230 }
1240 1231
1241 // Check if a map for a JSObject indicates that the object has fast elements.
1242 // Jump to the specified label if it does not.
1243 void CheckFastElements(Register map,
1244 Register scratch,
1245 Label* fail);
1246
1247 // Check if a map for a JSObject indicates that the object can have both smi 1232 // Check if a map for a JSObject indicates that the object can have both smi
1248 // and HeapObject elements. Jump to the specified label if it does not. 1233 // and HeapObject elements. Jump to the specified label if it does not.
1249 void CheckFastObjectElements(Register map, 1234 void CheckFastObjectElements(Register map,
1250 Register scratch, 1235 Register scratch,
1251 Label* fail); 1236 Label* fail);
1252 1237
1253 // Check if a map for a JSObject indicates that the object has fast smi only 1238 // Check if a map for a JSObject indicates that the object has fast smi only
1254 // elements. Jump to the specified label if it does not. 1239 // elements. Jump to the specified label if it does not.
1255 void CheckFastSmiElements(Register map, 1240 void CheckFastSmiElements(Register map,
1256 Register scratch, 1241 Register scratch,
(...skipping 817 matching lines...) Expand 10 before | Expand all | Expand 10 after
2074 dd(GetLabelFunction(index)); 2059 dd(GetLabelFunction(index));
2075 } 2060 }
2076 } 2061 }
2077 2062
2078 #define ACCESS_MASM(masm) masm-> 2063 #define ACCESS_MASM(masm) masm->
2079 2064
2080 } // namespace internal 2065 } // namespace internal
2081 } // namespace v8 2066 } // namespace v8
2082 2067
2083 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ 2068 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_
OLDNEW
« no previous file with comments | « src/mips64/code-stubs-mips64.cc ('k') | src/mips64/macro-assembler-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698