OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 874 matching lines...) Loading... |
885 XMMRegister xmm_scratch, | 885 XMMRegister xmm_scratch, |
886 Label* fail, | 886 Label* fail, |
887 int elements_offset = 0); | 887 int elements_offset = 0); |
888 | 888 |
889 // Compare an object's map with the specified map and its transitioned | 889 // Compare an object's map with the specified map and its transitioned |
890 // elements maps if mode is ALLOW_ELEMENT_TRANSITION_MAPS. FLAGS are set with | 890 // elements maps if mode is ALLOW_ELEMENT_TRANSITION_MAPS. FLAGS are set with |
891 // result of map compare. If multiple map compares are required, the compare | 891 // result of map compare. If multiple map compares are required, the compare |
892 // sequences branches to early_success. | 892 // sequences branches to early_success. |
893 void CompareMap(Register obj, | 893 void CompareMap(Register obj, |
894 Handle<Map> map, | 894 Handle<Map> map, |
895 Label* early_success, | 895 Label* early_success); |
896 CompareMapMode mode = REQUIRE_EXACT_MAP); | |
897 | 896 |
898 // Check if the map of an object is equal to a specified map and branch to | 897 // Check if the map of an object is equal to a specified map and branch to |
899 // label if not. Skip the smi check if not required (object is known to be a | 898 // label if not. Skip the smi check if not required (object is known to be a |
900 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match | 899 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match |
901 // against maps that are ElementsKind transition maps of the specified map. | 900 // against maps that are ElementsKind transition maps of the specified map. |
902 void CheckMap(Register obj, | 901 void CheckMap(Register obj, |
903 Handle<Map> map, | 902 Handle<Map> map, |
904 Label* fail, | 903 Label* fail, |
905 SmiCheckType smi_check_type, | 904 SmiCheckType smi_check_type); |
906 CompareMapMode mode = REQUIRE_EXACT_MAP); | |
907 | 905 |
908 // Check if the map of an object is equal to a specified map and branch to a | 906 // Check if the map of an object is equal to a specified map and branch to a |
909 // specified target if equal. Skip the smi check if not required (object is | 907 // specified target if equal. Skip the smi check if not required (object is |
910 // known to be a heap object) | 908 // known to be a heap object) |
911 void DispatchMap(Register obj, | 909 void DispatchMap(Register obj, |
912 Register unused, | 910 Register unused, |
913 Handle<Map> map, | 911 Handle<Map> map, |
914 Handle<Code> success, | 912 Handle<Code> success, |
915 SmiCheckType smi_check_type); | 913 SmiCheckType smi_check_type); |
916 | 914 |
(...skipping 593 matching lines...) Loading... |
1510 masm->popfq(); \ | 1508 masm->popfq(); \ |
1511 } \ | 1509 } \ |
1512 masm-> | 1510 masm-> |
1513 #else | 1511 #else |
1514 #define ACCESS_MASM(masm) masm-> | 1512 #define ACCESS_MASM(masm) masm-> |
1515 #endif | 1513 #endif |
1516 | 1514 |
1517 } } // namespace v8::internal | 1515 } } // namespace v8::internal |
1518 | 1516 |
1519 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1517 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |