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 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 // Compare instance type in a map. map contains a valid map object whose | 569 // Compare instance type in a map. map contains a valid map object whose |
570 // object type should be compared with the given type. This both | 570 // object type should be compared with the given type. This both |
571 // sets the flags and leaves the object type in the type_reg register. It | 571 // sets the flags and leaves the object type in the type_reg register. It |
572 // leaves the heap object in the heap_object register unless the heap_object | 572 // leaves the heap object in the heap_object register unless the heap_object |
573 // register is the same register as type_reg. | 573 // register is the same register as type_reg. |
574 void CompareInstanceType(Register map, | 574 void CompareInstanceType(Register map, |
575 Register type_reg, | 575 Register type_reg, |
576 InstanceType type); | 576 InstanceType type); |
577 | 577 |
578 | 578 |
| 579 // Check if a map for a JSObject indicates that the object has fast elements. |
| 580 // Jump to the specified label if it does not. |
| 581 void CheckFastElements(Register map, |
| 582 Register scratch, |
| 583 Label* fail); |
| 584 |
579 // Check if the map of an object is equal to a specified map (either | 585 // Check if the map of an object is equal to a specified map (either |
580 // given directly or as an index into the root list) and branch to | 586 // given directly or as an index into the root list) and branch to |
581 // label if not. Skip the smi check if not required (object is known | 587 // label if not. Skip the smi check if not required (object is known |
582 // to be a heap object) | 588 // to be a heap object) |
583 void CheckMap(Register obj, | 589 void CheckMap(Register obj, |
584 Register scratch, | 590 Register scratch, |
585 Handle<Map> map, | 591 Handle<Map> map, |
586 Label* fail, | 592 Label* fail, |
587 SmiCheckType smi_check_type); | 593 SmiCheckType smi_check_type); |
588 | 594 |
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1117 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1123 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1118 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1124 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1119 #else | 1125 #else |
1120 #define ACCESS_MASM(masm) masm-> | 1126 #define ACCESS_MASM(masm) masm-> |
1121 #endif | 1127 #endif |
1122 | 1128 |
1123 | 1129 |
1124 } } // namespace v8::internal | 1130 } } // namespace v8::internal |
1125 | 1131 |
1126 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 1132 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |