| 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_ARM_MACRO_ASSEMBLER_ARM_H_ | 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
| 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_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 849 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 860 // It leaves the map in the map register (unless the type_reg and map register | 860 // It leaves the map in the map register (unless the type_reg and map register |
| 861 // are the same register). It leaves the heap object in the heap_object | 861 // are the same register). It leaves the heap object in the heap_object |
| 862 // register unless the heap_object register is the same register as one of the | 862 // register unless the heap_object register is the same register as one of the |
| 863 // other registers. | 863 // other registers. |
| 864 // Type_reg can be no_reg. In that case ip is used. | 864 // Type_reg can be no_reg. In that case ip is used. |
| 865 void CompareObjectType(Register heap_object, | 865 void CompareObjectType(Register heap_object, |
| 866 Register map, | 866 Register map, |
| 867 Register type_reg, | 867 Register type_reg, |
| 868 InstanceType type); | 868 InstanceType type); |
| 869 | 869 |
| 870 // Compare object type for heap object. Branch to false_label if type | |
| 871 // is lower than min_type or greater than max_type. | |
| 872 // Load map into the register map. | |
| 873 void CheckObjectTypeRange(Register heap_object, | |
| 874 Register map, | |
| 875 InstanceType min_type, | |
| 876 InstanceType max_type, | |
| 877 Label* false_label); | |
| 878 | |
| 879 // Compare instance type in a map. map contains a valid map object whose | 870 // Compare instance type in a map. map contains a valid map object whose |
| 880 // object type should be compared with the given type. This both | 871 // object type should be compared with the given type. This both |
| 881 // sets the flags and leaves the object type in the type_reg register. | 872 // sets the flags and leaves the object type in the type_reg register. |
| 882 void CompareInstanceType(Register map, | 873 void CompareInstanceType(Register map, |
| 883 Register type_reg, | 874 Register type_reg, |
| 884 InstanceType type); | 875 InstanceType type); |
| 885 | 876 |
| 886 | 877 |
| 887 // Check if a map for a JSObject indicates that the object has fast elements. | 878 // Check if a map for a JSObject indicates that the object has fast elements. |
| 888 // Jump to the specified label if it does not. | 879 // Jump to the specified label if it does not. |
| (...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1564 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1555 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 1565 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1556 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 1566 #else | 1557 #else |
| 1567 #define ACCESS_MASM(masm) masm-> | 1558 #define ACCESS_MASM(masm) masm-> |
| 1568 #endif | 1559 #endif |
| 1569 | 1560 |
| 1570 | 1561 |
| 1571 } } // namespace v8::internal | 1562 } } // namespace v8::internal |
| 1572 | 1563 |
| 1573 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1564 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
| OLD | NEW |