OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_PPC_MACRO_ASSEMBLER_PPC_H_ | 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_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 699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
710 // whose object type should be compared with the given type. This both | 710 // whose object type should be compared with the given type. This both |
711 // sets the flags and leaves the object type in the type_reg register. | 711 // sets the flags and leaves the object type in the type_reg register. |
712 // It leaves the map in the map register (unless the type_reg and map register | 712 // It leaves the map in the map register (unless the type_reg and map register |
713 // are the same register). It leaves the heap object in the heap_object | 713 // are the same register). It leaves the heap object in the heap_object |
714 // register unless the heap_object register is the same register as one of the | 714 // register unless the heap_object register is the same register as one of the |
715 // other registers. | 715 // other registers. |
716 // Type_reg can be no_reg. In that case ip is used. | 716 // Type_reg can be no_reg. In that case ip is used. |
717 void CompareObjectType(Register heap_object, Register map, Register type_reg, | 717 void CompareObjectType(Register heap_object, Register map, Register type_reg, |
718 InstanceType type); | 718 InstanceType type); |
719 | 719 |
720 // Compare object type for heap object. Branch to false_label if type | |
721 // is lower than min_type or greater than max_type. | |
722 // Load map into the register map. | |
723 void CheckObjectTypeRange(Register heap_object, Register map, | |
724 InstanceType min_type, InstanceType max_type, | |
725 Label* false_label); | |
726 | |
727 // Compare instance type in a map. map contains a valid map object whose | 720 // Compare instance type in a map. map contains a valid map object whose |
728 // object type should be compared with the given type. This both | 721 // object type should be compared with the given type. This both |
729 // sets the flags and leaves the object type in the type_reg register. | 722 // sets the flags and leaves the object type in the type_reg register. |
730 void CompareInstanceType(Register map, Register type_reg, InstanceType type); | 723 void CompareInstanceType(Register map, Register type_reg, InstanceType type); |
731 | 724 |
732 | 725 |
733 // Check if a map for a JSObject indicates that the object has fast elements. | 726 // Check if a map for a JSObject indicates that the object has fast elements. |
734 // Jump to the specified label if it does not. | 727 // Jump to the specified label if it does not. |
735 void CheckFastElements(Register map, Register scratch, Label* fail); | 728 void CheckFastElements(Register map, Register scratch, Label* fail); |
736 | 729 |
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1561 #define ACCESS_MASM(masm) \ | 1554 #define ACCESS_MASM(masm) \ |
1562 masm->stop(__FILE_LINE__); \ | 1555 masm->stop(__FILE_LINE__); \ |
1563 masm-> | 1556 masm-> |
1564 #else | 1557 #else |
1565 #define ACCESS_MASM(masm) masm-> | 1558 #define ACCESS_MASM(masm) masm-> |
1566 #endif | 1559 #endif |
1567 } | 1560 } |
1568 } // namespace v8::internal | 1561 } // namespace v8::internal |
1569 | 1562 |
1570 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1563 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
OLD | NEW |