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 904 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
915 | 915 |
916 // Check if the object in register heap_object is a string. Afterwards the | 916 // Check if the object in register heap_object is a string. Afterwards the |
917 // register map contains the object map and the register instance_type | 917 // register map contains the object map and the register instance_type |
918 // contains the instance_type. The registers map and instance_type can be the | 918 // contains the instance_type. The registers map and instance_type can be the |
919 // same in which case it contains the instance type afterwards. Either of the | 919 // same in which case it contains the instance type afterwards. Either of the |
920 // registers map and instance_type can be the same as heap_object. | 920 // registers map and instance_type can be the same as heap_object. |
921 Condition IsObjectStringType(Register heap_object, | 921 Condition IsObjectStringType(Register heap_object, |
922 Register map, | 922 Register map, |
923 Register instance_type); | 923 Register instance_type); |
924 | 924 |
| 925 // Check if the object in register heap_object is a name. Afterwards the |
| 926 // register map contains the object map and the register instance_type |
| 927 // contains the instance_type. The registers map and instance_type can be the |
| 928 // same in which case it contains the instance type afterwards. Either of the |
| 929 // registers map and instance_type can be the same as heap_object. |
| 930 Condition IsObjectNameType(Register heap_object, |
| 931 Register map, |
| 932 Register instance_type); |
| 933 |
925 // FCmp compares and pops the two values on top of the FPU stack. | 934 // FCmp compares and pops the two values on top of the FPU stack. |
926 // The flag results are similar to integer cmp, but requires unsigned | 935 // The flag results are similar to integer cmp, but requires unsigned |
927 // jcc instructions (je, ja, jae, jb, jbe, je, and jz). | 936 // jcc instructions (je, ja, jae, jb, jbe, je, and jz). |
928 void FCmp(); | 937 void FCmp(); |
929 | 938 |
930 void ClampUint8(Register reg); | 939 void ClampUint8(Register reg); |
931 | 940 |
932 void ClampDoubleToUint8(XMMRegister input_reg, | 941 void ClampDoubleToUint8(XMMRegister input_reg, |
933 XMMRegister temp_xmm_reg, | 942 XMMRegister temp_xmm_reg, |
934 Register result_reg); | 943 Register result_reg); |
(...skipping 23 matching lines...) Expand all Loading... |
958 void AssertSmi(Register object); | 967 void AssertSmi(Register object); |
959 void AssertSmi(const Operand& object); | 968 void AssertSmi(const Operand& object); |
960 | 969 |
961 // Abort execution if a 64 bit register containing a 32 bit payload does not | 970 // Abort execution if a 64 bit register containing a 32 bit payload does not |
962 // have zeros in the top 32 bits, enabled via --debug-code. | 971 // have zeros in the top 32 bits, enabled via --debug-code. |
963 void AssertZeroExtended(Register reg); | 972 void AssertZeroExtended(Register reg); |
964 | 973 |
965 // Abort execution if argument is not a string, enabled via --debug-code. | 974 // Abort execution if argument is not a string, enabled via --debug-code. |
966 void AssertString(Register object); | 975 void AssertString(Register object); |
967 | 976 |
| 977 // Abort execution if argument is not a name, enabled via --debug-code. |
| 978 void AssertName(Register object); |
| 979 |
968 // Abort execution if argument is not the root value with the given index, | 980 // Abort execution if argument is not the root value with the given index, |
969 // enabled via --debug-code. | 981 // enabled via --debug-code. |
970 void AssertRootValue(Register src, | 982 void AssertRootValue(Register src, |
971 Heap::RootListIndex root_value_index, | 983 Heap::RootListIndex root_value_index, |
972 const char* message); | 984 const char* message); |
973 | 985 |
974 // --------------------------------------------------------------------------- | 986 // --------------------------------------------------------------------------- |
975 // Exception handling | 987 // Exception handling |
976 | 988 |
977 // Push a new try handler and link it into try handler chain. | 989 // Push a new try handler and link it into try handler chain. |
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1493 masm->popfq(); \ | 1505 masm->popfq(); \ |
1494 } \ | 1506 } \ |
1495 masm-> | 1507 masm-> |
1496 #else | 1508 #else |
1497 #define ACCESS_MASM(masm) masm-> | 1509 #define ACCESS_MASM(masm) masm-> |
1498 #endif | 1510 #endif |
1499 | 1511 |
1500 } } // namespace v8::internal | 1512 } } // namespace v8::internal |
1501 | 1513 |
1502 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1514 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |