| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 23 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 27 | 27 |
| 28 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 28 #ifndef V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| 29 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 29 #define V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| 30 | 30 |
| 31 #include "assembler.h" | 31 #include "assembler.h" |
| 32 #include "mips/assembler-mips.h" | 32 #include "mips/assembler-mips.h" |
| 33 #include "v8globals.h" |
| 33 | 34 |
| 34 namespace v8 { | 35 namespace v8 { |
| 35 namespace internal { | 36 namespace internal { |
| 36 | 37 |
| 37 // Forward declaration. | 38 // Forward declaration. |
| 38 class JumpTarget; | 39 class JumpTarget; |
| 39 | 40 |
| 40 // Reserved Register Usage Summary. | 41 // Reserved Register Usage Summary. |
| 41 // | 42 // |
| 42 // Registers t8, t9, and at are reserved for use by the MacroAssembler. | 43 // Registers t8, t9, and at are reserved for use by the MacroAssembler. |
| (...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 703 Register type_reg); | 704 Register type_reg); |
| 704 | 705 |
| 705 // Check if the map of an object is equal to a specified map (either | 706 // Check if the map of an object is equal to a specified map (either |
| 706 // given directly or as an index into the root list) and branch to | 707 // given directly or as an index into the root list) and branch to |
| 707 // label if not. Skip the smi check if not required (object is known | 708 // label if not. Skip the smi check if not required (object is known |
| 708 // to be a heap object). | 709 // to be a heap object). |
| 709 void CheckMap(Register obj, | 710 void CheckMap(Register obj, |
| 710 Register scratch, | 711 Register scratch, |
| 711 Handle<Map> map, | 712 Handle<Map> map, |
| 712 Label* fail, | 713 Label* fail, |
| 713 bool is_heap_object); | 714 SmiCheckType smi_check_type); |
| 714 | 715 |
| 715 void CheckMap(Register obj, | 716 void CheckMap(Register obj, |
| 716 Register scratch, | 717 Register scratch, |
| 717 Heap::RootListIndex index, | 718 Heap::RootListIndex index, |
| 718 Label* fail, | 719 Label* fail, |
| 719 bool is_heap_object); | 720 SmiCheckType smi_check_type); |
| 721 |
| 722 // Check if the map of an object is equal to a specified map and branch to a |
| 723 // specified target if equal. Skip the smi check if not required (object is |
| 724 // known to be a heap object) |
| 725 void DispatchMap(Register obj, |
| 726 Register scratch, |
| 727 Handle<Map> map, |
| 728 Handle<Code> success, |
| 729 SmiCheckType smi_check_type); |
| 720 | 730 |
| 721 // Generates code for reporting that an illegal operation has | 731 // Generates code for reporting that an illegal operation has |
| 722 // occurred. | 732 // occurred. |
| 723 void IllegalOperation(int num_arguments); | 733 void IllegalOperation(int num_arguments); |
| 724 | 734 |
| 725 // Picks out an array index from the hash field. | 735 // Picks out an array index from the hash field. |
| 726 // Register use: | 736 // Register use: |
| 727 // hash - holds the index's hash. Clobbered. | 737 // hash - holds the index's hash. Clobbered. |
| 728 // index - holds the overwritten index on exit. | 738 // index - holds the overwritten index on exit. |
| 729 void IndexFromHash(Register hash, Register index); | 739 void IndexFromHash(Register hash, Register index); |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1165 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1175 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
| 1166 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1176 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
| 1167 #else | 1177 #else |
| 1168 #define ACCESS_MASM(masm) masm-> | 1178 #define ACCESS_MASM(masm) masm-> |
| 1169 #endif | 1179 #endif |
| 1170 | 1180 |
| 1171 } } // namespace v8::internal | 1181 } } // namespace v8::internal |
| 1172 | 1182 |
| 1173 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1183 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
| 1174 | 1184 |
| OLD | NEW |