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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 void CmpInstanceType(Register map, InstanceType type); | 205 void CmpInstanceType(Register map, InstanceType type); |
206 | 206 |
207 // Check if the map of an object is equal to a specified map and | 207 // Check if the map of an object is equal to a specified map and |
208 // branch to label if not. Skip the smi check if not required | 208 // branch to label if not. Skip the smi check if not required |
209 // (object is known to be a heap object) | 209 // (object is known to be a heap object) |
210 void CheckMap(Register obj, | 210 void CheckMap(Register obj, |
211 Handle<Map> map, | 211 Handle<Map> map, |
212 Label* fail, | 212 Label* fail, |
213 bool is_heap_object); | 213 bool is_heap_object); |
214 | 214 |
| 215 // Check if the map of an object is equal to a one of a specified lists map |
| 216 // and branch to label if not. Skip the smi check if not required (object is |
| 217 // known to be a heap object) |
| 218 void CheckMaps(Register obj, |
| 219 ZoneMapList* maps, |
| 220 Label* fail, |
| 221 bool is_heap_object); |
| 222 |
215 // Check if the object in register heap_object is a string. Afterwards the | 223 // Check if the object in register heap_object is a string. Afterwards the |
216 // register map contains the object map and the register instance_type | 224 // register map contains the object map and the register instance_type |
217 // contains the instance_type. The registers map and instance_type can be the | 225 // contains the instance_type. The registers map and instance_type can be the |
218 // same in which case it contains the instance type afterwards. Either of the | 226 // same in which case it contains the instance type afterwards. Either of the |
219 // registers map and instance_type can be the same as heap_object. | 227 // registers map and instance_type can be the same as heap_object. |
220 Condition IsObjectStringType(Register heap_object, | 228 Condition IsObjectStringType(Register heap_object, |
221 Register map, | 229 Register map, |
222 Register instance_type); | 230 Register instance_type); |
223 | 231 |
224 // Check if a heap object's type is in the JSObject range, not including | 232 // Check if a heap object's type is in the JSObject range, not including |
(...skipping 570 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
795 } \ | 803 } \ |
796 masm-> | 804 masm-> |
797 #else | 805 #else |
798 #define ACCESS_MASM(masm) masm-> | 806 #define ACCESS_MASM(masm) masm-> |
799 #endif | 807 #endif |
800 | 808 |
801 | 809 |
802 } } // namespace v8::internal | 810 } } // namespace v8::internal |
803 | 811 |
804 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 812 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |