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 "assembler.h" | 8 #include "assembler.h" |
9 #include "mips/assembler-mips.h" | 9 #include "mips/assembler-mips.h" |
10 #include "v8globals.h" | 10 #include "v8globals.h" |
(...skipping 1030 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1041 | 1041 |
1042 // Check if the map of an object is equal to a specified map and branch to a | 1042 // Check if the map of an object is equal to a specified map and branch to a |
1043 // specified target if equal. Skip the smi check if not required (object is | 1043 // specified target if equal. Skip the smi check if not required (object is |
1044 // known to be a heap object) | 1044 // known to be a heap object) |
1045 void DispatchMap(Register obj, | 1045 void DispatchMap(Register obj, |
1046 Register scratch, | 1046 Register scratch, |
1047 Handle<Map> map, | 1047 Handle<Map> map, |
1048 Handle<Code> success, | 1048 Handle<Code> success, |
1049 SmiCheckType smi_check_type); | 1049 SmiCheckType smi_check_type); |
1050 | 1050 |
1051 // Generates code for reporting that an illegal operation has | |
1052 // occurred. | |
1053 void IllegalOperation(int num_arguments); | |
1054 | |
1055 | 1051 |
1056 // Load and check the instance type of an object for being a string. | 1052 // Load and check the instance type of an object for being a string. |
1057 // Loads the type into the second argument register. | 1053 // Loads the type into the second argument register. |
1058 // Returns a condition that will be enabled if the object was a string. | 1054 // Returns a condition that will be enabled if the object was a string. |
1059 Condition IsObjectStringType(Register obj, | 1055 Condition IsObjectStringType(Register obj, |
1060 Register type, | 1056 Register type, |
1061 Register result) { | 1057 Register result) { |
1062 lw(type, FieldMemOperand(obj, HeapObject::kMapOffset)); | 1058 lw(type, FieldMemOperand(obj, HeapObject::kMapOffset)); |
1063 lbu(type, FieldMemOperand(type, Map::kInstanceTypeOffset)); | 1059 lbu(type, FieldMemOperand(type, Map::kInstanceTypeOffset)); |
1064 And(type, type, Operand(kIsNotStringMask)); | 1060 And(type, type, Operand(kIsNotStringMask)); |
(...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1647 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 1643 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
1648 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1644 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1649 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1645 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1650 #else | 1646 #else |
1651 #define ACCESS_MASM(masm) masm-> | 1647 #define ACCESS_MASM(masm) masm-> |
1652 #endif | 1648 #endif |
1653 | 1649 |
1654 } } // namespace v8::internal | 1650 } } // namespace v8::internal |
1655 | 1651 |
1656 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1652 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |