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 13 matching lines...) Expand all Loading... |
24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 24 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 25 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
27 | 27 |
28 #ifndef V8_OBJECTS_H_ | 28 #ifndef V8_OBJECTS_H_ |
29 #define V8_OBJECTS_H_ | 29 #define V8_OBJECTS_H_ |
30 | 30 |
31 #include "allocation.h" | 31 #include "allocation.h" |
32 #include "builtins.h" | 32 #include "builtins.h" |
33 #include "list.h" | 33 #include "list.h" |
34 #include "smart-pointer.h" | 34 #include "smart-array-pointer.h" |
35 #include "unicode-inl.h" | 35 #include "unicode-inl.h" |
36 #if V8_TARGET_ARCH_ARM | 36 #if V8_TARGET_ARCH_ARM |
37 #include "arm/constants-arm.h" | 37 #include "arm/constants-arm.h" |
38 #elif V8_TARGET_ARCH_MIPS | 38 #elif V8_TARGET_ARCH_MIPS |
39 #include "mips/constants-mips.h" | 39 #include "mips/constants-mips.h" |
40 #endif | 40 #endif |
41 | 41 |
42 // | 42 // |
43 // Most object types in the V8 JavaScript are described in this file. | 43 // Most object types in the V8 JavaScript are described in this file. |
44 // | 44 // |
(...skipping 5929 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5974 bool IsTwoByteEqualTo(Vector<const uc16> str); | 5974 bool IsTwoByteEqualTo(Vector<const uc16> str); |
5975 | 5975 |
5976 // Return a UTF8 representation of the string. The string is null | 5976 // Return a UTF8 representation of the string. The string is null |
5977 // terminated but may optionally contain nulls. Length is returned | 5977 // terminated but may optionally contain nulls. Length is returned |
5978 // in length_output if length_output is not a null pointer The string | 5978 // in length_output if length_output is not a null pointer The string |
5979 // should be nearly flat, otherwise the performance of this method may | 5979 // should be nearly flat, otherwise the performance of this method may |
5980 // be very slow (quadratic in the length). Setting robustness_flag to | 5980 // be very slow (quadratic in the length). Setting robustness_flag to |
5981 // ROBUST_STRING_TRAVERSAL invokes behaviour that is robust This means it | 5981 // ROBUST_STRING_TRAVERSAL invokes behaviour that is robust This means it |
5982 // handles unexpected data without causing assert failures and it does not | 5982 // handles unexpected data without causing assert failures and it does not |
5983 // do any heap allocations. This is useful when printing stack traces. | 5983 // do any heap allocations. This is useful when printing stack traces. |
5984 SmartPointer<char> ToCString(AllowNullsFlag allow_nulls, | 5984 SmartArrayPointer<char> ToCString(AllowNullsFlag allow_nulls, |
5985 RobustnessFlag robustness_flag, | 5985 RobustnessFlag robustness_flag, |
5986 int offset, | 5986 int offset, |
5987 int length, | 5987 int length, |
5988 int* length_output = 0); | 5988 int* length_output = 0); |
5989 SmartPointer<char> ToCString( | 5989 SmartArrayPointer<char> ToCString( |
5990 AllowNullsFlag allow_nulls = DISALLOW_NULLS, | 5990 AllowNullsFlag allow_nulls = DISALLOW_NULLS, |
5991 RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL, | 5991 RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL, |
5992 int* length_output = 0); | 5992 int* length_output = 0); |
5993 | 5993 |
5994 int Utf8Length(); | 5994 int Utf8Length(); |
5995 | 5995 |
5996 // Return a 16 bit Unicode representation of the string. | 5996 // Return a 16 bit Unicode representation of the string. |
5997 // The string should be nearly flat, otherwise the performance of | 5997 // The string should be nearly flat, otherwise the performance of |
5998 // of this method may be very bad. Setting robustness_flag to | 5998 // of this method may be very bad. Setting robustness_flag to |
5999 // ROBUST_STRING_TRAVERSAL invokes behaviour that is robust This means it | 5999 // ROBUST_STRING_TRAVERSAL invokes behaviour that is robust This means it |
6000 // handles unexpected data without causing assert failures and it does not | 6000 // handles unexpected data without causing assert failures and it does not |
6001 // do any heap allocations. This is useful when printing stack traces. | 6001 // do any heap allocations. This is useful when printing stack traces. |
6002 SmartPointer<uc16> ToWideCString( | 6002 SmartArrayPointer<uc16> ToWideCString( |
6003 RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL); | 6003 RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL); |
6004 | 6004 |
6005 // Tells whether the hash code has been computed. | 6005 // Tells whether the hash code has been computed. |
6006 inline bool HasHashCode(); | 6006 inline bool HasHashCode(); |
6007 | 6007 |
6008 // Returns a hash value used for the property table | 6008 // Returns a hash value used for the property table |
6009 inline uint32_t Hash(); | 6009 inline uint32_t Hash(); |
6010 | 6010 |
6011 static uint32_t ComputeHashField(unibrow::CharacterStream* buffer, | 6011 static uint32_t ComputeHashField(unibrow::CharacterStream* buffer, |
6012 int length); | 6012 int length); |
(...skipping 1445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7458 } else { | 7458 } else { |
7459 value &= ~(1 << bit_position); | 7459 value &= ~(1 << bit_position); |
7460 } | 7460 } |
7461 return value; | 7461 return value; |
7462 } | 7462 } |
7463 }; | 7463 }; |
7464 | 7464 |
7465 } } // namespace v8::internal | 7465 } } // namespace v8::internal |
7466 | 7466 |
7467 #endif // V8_OBJECTS_H_ | 7467 #endif // V8_OBJECTS_H_ |
OLD | NEW |