| OLD | NEW | 
|      1 // Copyright 2015 the V8 project authors. All rights reserved. |      1 // Copyright 2015 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/assert-scope.h" |     10 #include "src/assert-scope.h" | 
| (...skipping 1897 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   1908   // 'level' must be SEALED or FROZEN. |   1908   // 'level' must be SEALED or FROZEN. | 
|   1909   MUST_USE_RESULT static Maybe<bool> TestIntegrityLevel( |   1909   MUST_USE_RESULT static Maybe<bool> TestIntegrityLevel( | 
|   1910       Handle<JSReceiver> object, IntegrityLevel lvl); |   1910       Handle<JSReceiver> object, IntegrityLevel lvl); | 
|   1911  |   1911  | 
|   1912   // ES6 [[PreventExtensions]] (when passed DONT_THROW) |   1912   // ES6 [[PreventExtensions]] (when passed DONT_THROW) | 
|   1913   MUST_USE_RESULT static Maybe<bool> PreventExtensions( |   1913   MUST_USE_RESULT static Maybe<bool> PreventExtensions( | 
|   1914       Handle<JSReceiver> object, ShouldThrow should_throw); |   1914       Handle<JSReceiver> object, ShouldThrow should_throw); | 
|   1915  |   1915  | 
|   1916   MUST_USE_RESULT static Maybe<bool> IsExtensible(Handle<JSReceiver> object); |   1916   MUST_USE_RESULT static Maybe<bool> IsExtensible(Handle<JSReceiver> object); | 
|   1917  |   1917  | 
|   1918   // Tests for the fast common case for property enumeration. |  | 
|   1919   bool IsSimpleEnum(); |  | 
|   1920  |  | 
|   1921   // Returns the class name ([[Class]] property in the specification). |   1918   // Returns the class name ([[Class]] property in the specification). | 
|   1922   String* class_name(); |   1919   String* class_name(); | 
|   1923  |   1920  | 
|   1924   // Returns the builtin string tag used in Object.prototype.toString. |   1921   // Returns the builtin string tag used in Object.prototype.toString. | 
|   1925   MUST_USE_RESULT static MaybeHandle<String> BuiltinStringTag( |   1922   MUST_USE_RESULT static MaybeHandle<String> BuiltinStringTag( | 
|   1926       Handle<JSReceiver> object); |   1923       Handle<JSReceiver> object); | 
|   1927  |   1924  | 
|   1928   // Returns the constructor name (the name (possibly, inferred name) of the |   1925   // Returns the constructor name (the name (possibly, inferred name) of the | 
|   1929   // function that was used to instantiate the object). |   1926   // function that was used to instantiate the object). | 
|   1930   static Handle<String> GetConstructorName(Handle<JSReceiver> receiver); |   1927   static Handle<String> GetConstructorName(Handle<JSReceiver> receiver); | 
| (...skipping 5967 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   7898     kSticky = 1 << 3, |   7895     kSticky = 1 << 3, | 
|   7899     kUnicode = 1 << 4, |   7896     kUnicode = 1 << 4, | 
|   7900   }; |   7897   }; | 
|   7901   typedef base::Flags<Flag> Flags; |   7898   typedef base::Flags<Flag> Flags; | 
|   7902  |   7899  | 
|   7903   DECL_ACCESSORS(data, Object) |   7900   DECL_ACCESSORS(data, Object) | 
|   7904   DECL_ACCESSORS(flags, Object) |   7901   DECL_ACCESSORS(flags, Object) | 
|   7905   DECL_ACCESSORS(source, Object) |   7902   DECL_ACCESSORS(source, Object) | 
|   7906  |   7903  | 
|   7907   static MaybeHandle<JSRegExp> New(Handle<String> source, Flags flags); |   7904   static MaybeHandle<JSRegExp> New(Handle<String> source, Flags flags); | 
|   7908   static MaybeHandle<JSRegExp> New(Handle<String> source, Handle<String> flags); |  | 
|   7909   static Handle<JSRegExp> Copy(Handle<JSRegExp> regexp); |   7905   static Handle<JSRegExp> Copy(Handle<JSRegExp> regexp); | 
|   7910  |   7906  | 
|   7911   static MaybeHandle<JSRegExp> Initialize(Handle<JSRegExp> regexp, |   7907   static MaybeHandle<JSRegExp> Initialize(Handle<JSRegExp> regexp, | 
|   7912                                           Handle<String> source, Flags flags); |   7908                                           Handle<String> source, Flags flags); | 
|   7913   static MaybeHandle<JSRegExp> Initialize(Handle<JSRegExp> regexp, |   7909   static MaybeHandle<JSRegExp> Initialize(Handle<JSRegExp> regexp, | 
|   7914                                           Handle<String> source, |   7910                                           Handle<String> source, | 
|   7915                                           Handle<String> flags_string); |   7911                                           Handle<String> flags_string); | 
|   7916  |   7912  | 
|   7917   inline Type TypeTag(); |   7913   inline Type TypeTag(); | 
|   7918   inline int CaptureCount(); |   7914   inline int CaptureCount(); | 
| (...skipping 923 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   8842   // do any heap allocations.  This is useful when printing stack traces. |   8838   // do any heap allocations.  This is useful when printing stack traces. | 
|   8843   base::SmartArrayPointer<char> ToCString(AllowNullsFlag allow_nulls, |   8839   base::SmartArrayPointer<char> ToCString(AllowNullsFlag allow_nulls, | 
|   8844                                           RobustnessFlag robustness_flag, |   8840                                           RobustnessFlag robustness_flag, | 
|   8845                                           int offset, int length, |   8841                                           int offset, int length, | 
|   8846                                           int* length_output = 0); |   8842                                           int* length_output = 0); | 
|   8847   base::SmartArrayPointer<char> ToCString( |   8843   base::SmartArrayPointer<char> ToCString( | 
|   8848       AllowNullsFlag allow_nulls = DISALLOW_NULLS, |   8844       AllowNullsFlag allow_nulls = DISALLOW_NULLS, | 
|   8849       RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL, |   8845       RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL, | 
|   8850       int* length_output = 0); |   8846       int* length_output = 0); | 
|   8851  |   8847  | 
|   8852   // Return a 16 bit Unicode representation of the string. |  | 
|   8853   // The string should be nearly flat, otherwise the performance of |  | 
|   8854   // of this method may be very bad.  Setting robustness_flag to |  | 
|   8855   // ROBUST_STRING_TRAVERSAL invokes behaviour that is robust  This means it |  | 
|   8856   // handles unexpected data without causing assert failures and it does not |  | 
|   8857   // do any heap allocations.  This is useful when printing stack traces. |  | 
|   8858   base::SmartArrayPointer<uc16> ToWideCString( |  | 
|   8859       RobustnessFlag robustness_flag = FAST_STRING_TRAVERSAL); |  | 
|   8860  |  | 
|   8861   bool ComputeArrayIndex(uint32_t* index); |   8848   bool ComputeArrayIndex(uint32_t* index); | 
|   8862  |   8849  | 
|   8863   // Externalization. |   8850   // Externalization. | 
|   8864   bool MakeExternal(v8::String::ExternalStringResource* resource); |   8851   bool MakeExternal(v8::String::ExternalStringResource* resource); | 
|   8865   bool MakeExternal(v8::String::ExternalOneByteStringResource* resource); |   8852   bool MakeExternal(v8::String::ExternalOneByteStringResource* resource); | 
|   8866  |   8853  | 
|   8867   // Conversion. |   8854   // Conversion. | 
|   8868   inline bool AsArrayIndex(uint32_t* index); |   8855   inline bool AsArrayIndex(uint32_t* index); | 
|   8869  |   8856  | 
|   8870   DECLARE_CAST(String) |   8857   DECLARE_CAST(String) | 
| (...skipping 1911 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  10782     } |  10769     } | 
|  10783     return value; |  10770     return value; | 
|  10784   } |  10771   } | 
|  10785 }; |  10772 }; | 
|  10786  |  10773  | 
|  10787  |  10774  | 
|  10788 }  // NOLINT, false-positive due to second-order macros. |  10775 }  // NOLINT, false-positive due to second-order macros. | 
|  10789 }  // NOLINT, false-positive due to second-order macros. |  10776 }  // NOLINT, false-positive due to second-order macros. | 
|  10790  |  10777  | 
|  10791 #endif  // V8_OBJECTS_H_ |  10778 #endif  // V8_OBJECTS_H_ | 
| OLD | NEW |