| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
| 6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
| 7 | 7 |
| 8 #include <iosfwd> | 8 #include <iosfwd> |
| 9 | 9 |
| 10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
| (...skipping 7912 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7923 static const int kDataTagOffset = | 7923 static const int kDataTagOffset = |
| 7924 FixedArray::kHeaderSize + kTagIndex * kPointerSize; | 7924 FixedArray::kHeaderSize + kTagIndex * kPointerSize; |
| 7925 static const int kDataOneByteCodeOffset = | 7925 static const int kDataOneByteCodeOffset = |
| 7926 FixedArray::kHeaderSize + kIrregexpLatin1CodeIndex * kPointerSize; | 7926 FixedArray::kHeaderSize + kIrregexpLatin1CodeIndex * kPointerSize; |
| 7927 static const int kDataUC16CodeOffset = | 7927 static const int kDataUC16CodeOffset = |
| 7928 FixedArray::kHeaderSize + kIrregexpUC16CodeIndex * kPointerSize; | 7928 FixedArray::kHeaderSize + kIrregexpUC16CodeIndex * kPointerSize; |
| 7929 static const int kIrregexpCaptureCountOffset = | 7929 static const int kIrregexpCaptureCountOffset = |
| 7930 FixedArray::kHeaderSize + kIrregexpCaptureCountIndex * kPointerSize; | 7930 FixedArray::kHeaderSize + kIrregexpCaptureCountIndex * kPointerSize; |
| 7931 | 7931 |
| 7932 // In-object fields. | 7932 // In-object fields. |
| 7933 static const int kSourceFieldIndex = 0; | 7933 static const int kGlobalFieldIndex = 0; |
| 7934 static const int kGlobalFieldIndex = 1; | 7934 static const int kIgnoreCaseFieldIndex = 1; |
| 7935 static const int kIgnoreCaseFieldIndex = 2; | 7935 static const int kMultilineFieldIndex = 2; |
| 7936 static const int kMultilineFieldIndex = 3; | 7936 static const int kLastIndexFieldIndex = 3; |
| 7937 static const int kLastIndexFieldIndex = 4; | 7937 static const int kInObjectFieldCount = 4; |
| 7938 static const int kInObjectFieldCount = 5; | |
| 7939 | 7938 |
| 7940 // The uninitialized value for a regexp code object. | 7939 // The uninitialized value for a regexp code object. |
| 7941 static const int kUninitializedValue = -1; | 7940 static const int kUninitializedValue = -1; |
| 7942 | 7941 |
| 7943 // The compilation error value for the regexp code object. The real error | 7942 // The compilation error value for the regexp code object. The real error |
| 7944 // object is in the saved code field. | 7943 // object is in the saved code field. |
| 7945 static const int kCompilationErrorValue = -2; | 7944 static const int kCompilationErrorValue = -2; |
| 7946 | 7945 |
| 7947 // When we store the sweep generation at which we moved the code from the | 7946 // When we store the sweep generation at which we moved the code from the |
| 7948 // code index to the saved code index we mask it of to be in the [0:255] | 7947 // code index to the saved code index we mask it of to be in the [0:255] |
| (...skipping 860 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8809 union { | 8808 union { |
| 8810 const uint8_t* onebyte_start; | 8809 const uint8_t* onebyte_start; |
| 8811 const uc16* twobyte_start; | 8810 const uc16* twobyte_start; |
| 8812 }; | 8811 }; |
| 8813 int length_; | 8812 int length_; |
| 8814 State state_; | 8813 State state_; |
| 8815 | 8814 |
| 8816 friend class String; | 8815 friend class String; |
| 8817 }; | 8816 }; |
| 8818 | 8817 |
| 8818 template <typename Char> |
| 8819 Vector<const Char> GetCharVector(); |
| 8820 |
| 8819 // Get and set the length of the string. | 8821 // Get and set the length of the string. |
| 8820 inline int length() const; | 8822 inline int length() const; |
| 8821 inline void set_length(int value); | 8823 inline void set_length(int value); |
| 8822 | 8824 |
| 8823 // Get and set the length of the string using acquire loads and release | 8825 // Get and set the length of the string using acquire loads and release |
| 8824 // stores. | 8826 // stores. |
| 8825 inline int synchronized_length() const; | 8827 inline int synchronized_length() const; |
| 8826 inline void synchronized_set_length(int value); | 8828 inline void synchronized_set_length(int value); |
| 8827 | 8829 |
| 8828 // Returns whether this string has only one-byte chars, i.e. all of them can | 8830 // Returns whether this string has only one-byte chars, i.e. all of them can |
| (...skipping 2145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10974 } else { | 10976 } else { |
| 10975 value &= ~(1 << bit_position); | 10977 value &= ~(1 << bit_position); |
| 10976 } | 10978 } |
| 10977 return value; | 10979 return value; |
| 10978 } | 10980 } |
| 10979 }; | 10981 }; |
| 10980 | 10982 |
| 10981 } } // namespace v8::internal | 10983 } } // namespace v8::internal |
| 10982 | 10984 |
| 10983 #endif // V8_OBJECTS_H_ | 10985 #endif // V8_OBJECTS_H_ |
| OLD | NEW |