OLD | NEW |
1 // Copyright 2011 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 |
11 // with the distribution. | 11 // with the distribution. |
(...skipping 921 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
933 void StoreNumberToDoubleElements(Register value_reg, | 933 void StoreNumberToDoubleElements(Register value_reg, |
934 Register key_reg, | 934 Register key_reg, |
935 Register receiver_reg, | 935 Register receiver_reg, |
936 Register elements_reg, | 936 Register elements_reg, |
937 Register scratch1, | 937 Register scratch1, |
938 Register scratch2, | 938 Register scratch2, |
939 Register scratch3, | 939 Register scratch3, |
940 Register scratch4, | 940 Register scratch4, |
941 Label* fail); | 941 Label* fail); |
942 | 942 |
943 // Check if the map of an object is equal to a specified map (either | 943 // Compare an object's map with the specified map and its transitioned |
944 // given directly or as an index into the root list) and branch to | 944 // elements maps if mode is ALLOW_ELEMENT_TRANSITION_MAPS. Jumps to |
945 // label if not. Skip the smi check if not required (object is known | 945 // "branch_to" if the result of the comparison is "cond". If multiple map |
946 // to be a heap object). | 946 // compares are required, the compare sequences branches to early_success. |
| 947 void CompareMapAndBranch(Register obj, |
| 948 Register scratch, |
| 949 Handle<Map> map, |
| 950 Label* early_success, |
| 951 Condition cond, |
| 952 Label* branch_to, |
| 953 CompareMapMode mode = REQUIRE_EXACT_MAP); |
| 954 |
| 955 // Check if the map of an object is equal to a specified map and branch to |
| 956 // label if not. Skip the smi check if not required (object is known to be a |
| 957 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match |
| 958 // against maps that are ElementsKind transition maps of the specificed map. |
947 void CheckMap(Register obj, | 959 void CheckMap(Register obj, |
948 Register scratch, | 960 Register scratch, |
949 Handle<Map> map, | 961 Handle<Map> map, |
950 Label* fail, | 962 Label* fail, |
951 SmiCheckType smi_check_type); | 963 SmiCheckType smi_check_type, |
| 964 CompareMapMode mode = REQUIRE_EXACT_MAP); |
| 965 |
952 | 966 |
953 void CheckMap(Register obj, | 967 void CheckMap(Register obj, |
954 Register scratch, | 968 Register scratch, |
955 Heap::RootListIndex index, | 969 Heap::RootListIndex index, |
956 Label* fail, | 970 Label* fail, |
957 SmiCheckType smi_check_type); | 971 SmiCheckType smi_check_type); |
958 | 972 |
959 // Check if the map of an object is equal to a specified map and branch to a | 973 // Check if the map of an object is equal to a specified map and branch to a |
960 // specified target if equal. Skip the smi check if not required (object is | 974 // specified target if equal. Skip the smi check if not required (object is |
961 // known to be a heap object) | 975 // known to be a heap object) |
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1454 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) | 1468 #define CODE_COVERAGE_TOSTRING(x) CODE_COVERAGE_STRINGIFY(x) |
1455 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 1469 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
1456 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 1470 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
1457 #else | 1471 #else |
1458 #define ACCESS_MASM(masm) masm-> | 1472 #define ACCESS_MASM(masm) masm-> |
1459 #endif | 1473 #endif |
1460 | 1474 |
1461 } } // namespace v8::internal | 1475 } } // namespace v8::internal |
1462 | 1476 |
1463 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ | 1477 #endif // V8_MIPS_MACRO_ASSEMBLER_MIPS_H_ |
OLD | NEW |