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 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 void CheckFastObjectElements(Register map, | 317 void CheckFastObjectElements(Register map, |
318 Label* fail, | 318 Label* fail, |
319 Label::Distance distance = Label::kFar); | 319 Label::Distance distance = Label::kFar); |
320 | 320 |
321 // Check if a map for a JSObject indicates that the object has fast smi only | 321 // Check if a map for a JSObject indicates that the object has fast smi only |
322 // elements. Jump to the specified label if it does not. | 322 // elements. Jump to the specified label if it does not. |
323 void CheckFastSmiOnlyElements(Register map, | 323 void CheckFastSmiOnlyElements(Register map, |
324 Label* fail, | 324 Label* fail, |
325 Label::Distance distance = Label::kFar); | 325 Label::Distance distance = Label::kFar); |
326 | 326 |
| 327 // Check to see if maybe_number can be stored as a double in |
| 328 // FastDoubleElements. If it can, store it at the index specified by key in |
| 329 // the FastDoubleElements array elements, otherwise jump to fail. |
| 330 void StoreNumberToDoubleElements(Register maybe_number, |
| 331 Register elements, |
| 332 Register key, |
| 333 Register scratch1, |
| 334 XMMRegister scratch2, |
| 335 Label* fail, |
| 336 bool specialize_for_processor); |
| 337 |
327 // Check if the map of an object is equal to a specified map and branch to | 338 // Check if the map of an object is equal to a specified map and branch to |
328 // label if not. Skip the smi check if not required (object is known to be a | 339 // label if not. Skip the smi check if not required (object is known to be a |
329 // heap object) | 340 // heap object) |
330 void CheckMap(Register obj, | 341 void CheckMap(Register obj, |
331 Handle<Map> map, | 342 Handle<Map> map, |
332 Label* fail, | 343 Label* fail, |
333 SmiCheckType smi_check_type); | 344 SmiCheckType smi_check_type); |
334 | 345 |
335 // Check if the map of an object is equal to a specified map and branch to a | 346 // Check if the map of an object is equal to a specified map and branch to a |
336 // specified target if equal. Skip the smi check if not required (object is | 347 // specified target if equal. Skip the smi check if not required (object is |
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
934 } \ | 945 } \ |
935 masm-> | 946 masm-> |
936 #else | 947 #else |
937 #define ACCESS_MASM(masm) masm-> | 948 #define ACCESS_MASM(masm) masm-> |
938 #endif | 949 #endif |
939 | 950 |
940 | 951 |
941 } } // namespace v8::internal | 952 } } // namespace v8::internal |
942 | 953 |
943 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 954 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |