OLD | NEW |
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 1114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1125 // function and jumps to the miss label if the fast checks fail. The | 1125 // function and jumps to the miss label if the fast checks fail. The |
1126 // function register will be untouched; the other registers may be | 1126 // function register will be untouched; the other registers may be |
1127 // clobbered. | 1127 // clobbered. |
1128 void TryGetFunctionPrototype(Register function, Register result, | 1128 void TryGetFunctionPrototype(Register function, Register result, |
1129 Register scratch, Label* miss); | 1129 Register scratch, Label* miss); |
1130 | 1130 |
1131 void GetObjectType(Register function, | 1131 void GetObjectType(Register function, |
1132 Register map, | 1132 Register map, |
1133 Register type_reg); | 1133 Register type_reg); |
1134 | 1134 |
| 1135 void GetInstanceType(Register object_map, Register object_instance_type) { |
| 1136 lbu(object_instance_type, |
| 1137 FieldMemOperand(object_map, Map::kInstanceTypeOffset)); |
| 1138 } |
| 1139 |
1135 // Check if a map for a JSObject indicates that the object has fast elements. | 1140 // Check if a map for a JSObject indicates that the object has fast elements. |
1136 // Jump to the specified label if it does not. | 1141 // Jump to the specified label if it does not. |
1137 void CheckFastElements(Register map, | 1142 void CheckFastElements(Register map, |
1138 Register scratch, | 1143 Register scratch, |
1139 Label* fail); | 1144 Label* fail); |
1140 | 1145 |
1141 // Check if a map for a JSObject indicates that the object can have both smi | 1146 // Check if a map for a JSObject indicates that the object can have both smi |
1142 // and HeapObject elements. Jump to the specified label if it does not. | 1147 // and HeapObject elements. Jump to the specified label if it does not. |
1143 void CheckFastObjectElements(Register map, | 1148 void CheckFastObjectElements(Register map, |
1144 Register scratch, | 1149 Register scratch, |
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1945 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1950 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1946 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1951 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1947 #else | 1952 #else |
1948 #define ACCESS_MASM(masm) masm-> | 1953 #define ACCESS_MASM(masm) masm-> |
1949 #endif | 1954 #endif |
1950 | 1955 |
1951 } // namespace internal | 1956 } // namespace internal |
1952 } // namespace v8 | 1957 } // namespace v8 |
1953 | 1958 |
1954 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1959 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |