diff options
Diffstat (limited to 'chromium/v8/include/v8.h')
-rw-r--r-- | chromium/v8/include/v8.h | 246 |
1 files changed, 100 insertions, 146 deletions
diff --git a/chromium/v8/include/v8.h b/chromium/v8/include/v8.h index 3252602bcf1..3eb4794f5c6 100644 --- a/chromium/v8/include/v8.h +++ b/chromium/v8/include/v8.h @@ -40,9 +40,6 @@ #include "v8stdint.h" -// We reserve the V8_* prefix for macros defined in V8 public API and -// assume there are no name conflicts with the embedder's code. - #ifdef _WIN32 // Setup for Windows DLL export/import. When building the V8 DLL the @@ -56,11 +53,11 @@ #endif #ifdef BUILDING_V8_SHARED -#define V8_EXPORT __declspec(dllexport) +#define V8EXPORT __declspec(dllexport) #elif USING_V8_SHARED -#define V8_EXPORT __declspec(dllimport) +#define V8EXPORT __declspec(dllimport) #else -#define V8_EXPORT +#define V8EXPORT #endif // BUILDING_V8_SHARED #else // _WIN32 @@ -69,12 +66,12 @@ #if defined(__GNUC__) && ((__GNUC__ >= 4) || \ (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(V8_SHARED) #ifdef BUILDING_V8_SHARED -#define V8_EXPORT __attribute__ ((visibility("default"))) +#define V8EXPORT __attribute__ ((visibility("default"))) #else -#define V8_EXPORT +#define V8EXPORT #endif #else -#define V8_EXPORT +#define V8EXPORT #endif #endif // _WIN32 @@ -388,11 +385,6 @@ template <class T> class Handle { }; -// A value which will never be returned by Local::Eternalize -// Useful for static initialization -const int kUninitializedEternalIndex = -1; - - /** * A light-weight stack-allocated object handle. All operations * that return objects from within v8 return them in local handles. They @@ -438,11 +430,6 @@ template <class T> class Local : public Handle<T> { return Local<S>::Cast(*this); } - // Keep this Local alive for the lifetime of the Isolate. - // It remains retrievable via the returned index, - V8_INLINE(int Eternalize(Isolate* isolate)); - V8_INLINE(static Local<T> GetEternal(Isolate* isolate, int index)); - /** * Create a local handle for the content of another handle. * The referee is kept alive by the local handle even when @@ -814,7 +801,7 @@ template <class T> class Persistent // NOLINT * handle and may deallocate it. The behavior of accessing a handle * for which the handle scope has been deleted is undefined. */ -class V8_EXPORT HandleScope { +class V8EXPORT HandleScope { public: // TODO(svenpanne) Deprecate me when Chrome is fixed! HandleScope(); @@ -853,7 +840,7 @@ class V8_EXPORT HandleScope { // This Data class is accessible internally as HandleScopeData through a // typedef in the ImplementationUtilities class. - class V8_EXPORT Data { + class V8EXPORT Data { public: internal::Object** next; internal::Object** limit; @@ -886,7 +873,7 @@ class V8_EXPORT HandleScope { /** * The superclass of values and API object templates. */ -class V8_EXPORT Data { +class V8EXPORT Data { private: Data(); }; @@ -898,7 +885,7 @@ class V8_EXPORT Data { * compiling it, and can be stored between compilations. When script * data is given to the compile method compilation will be faster. */ -class V8_EXPORT ScriptData { // NOLINT +class V8EXPORT ScriptData { // NOLINT public: virtual ~ScriptData() { } @@ -976,7 +963,7 @@ class ScriptOrigin { /** * A compiled JavaScript script. */ -class V8_EXPORT Script { +class V8EXPORT Script { public: /** * Compiles the specified script (context-independent). @@ -1094,7 +1081,7 @@ class V8_EXPORT Script { /** * An error message. */ -class V8_EXPORT Message { +class V8EXPORT Message { public: Local<String> Get() const; Local<String> GetSourceLine() const; @@ -1166,7 +1153,7 @@ class V8_EXPORT Message { * snapshot of the execution stack and the information remains valid after * execution continues. */ -class V8_EXPORT StackTrace { +class V8EXPORT StackTrace { public: /** * Flags that determine what information is placed captured for each @@ -1215,7 +1202,7 @@ class V8_EXPORT StackTrace { /** * A single JavaScript stack frame. */ -class V8_EXPORT StackFrame { +class V8EXPORT StackFrame { public: /** * Returns the number, 1-based, of the line for the associate function call. @@ -1267,29 +1254,13 @@ class V8_EXPORT StackFrame { }; -/** - * A JSON Parser. - */ -class V8_EXPORT JSON { - public: - /** - * Tries to parse the string |json_string| and returns it as value if - * successful. - * - * \param json_string The string to parse. - * \return The corresponding value if successfully parsed. - */ - static Local<Value> Parse(Local<String> json_string); -}; - - // --- Value --- /** * The superclass of all JavaScript values and objects. */ -class V8_EXPORT Value : public Data { +class V8EXPORT Value : public Data { public: /** * Returns true if this value is the undefined value. See ECMA-262 @@ -1520,14 +1491,14 @@ class V8_EXPORT Value : public Data { /** * The superclass of primitive values. See ECMA-262 4.3.2. */ -class V8_EXPORT Primitive : public Value { }; +class V8EXPORT Primitive : public Value { }; /** * A primitive boolean value (ECMA-262, 4.3.14). Either the true * or false value. */ -class V8_EXPORT Boolean : public Primitive { +class V8EXPORT Boolean : public Primitive { public: bool Value() const; V8_INLINE(static Handle<Boolean> New(bool value)); @@ -1537,7 +1508,7 @@ class V8_EXPORT Boolean : public Primitive { /** * A JavaScript string value (ECMA-262, 4.3.17). */ -class V8_EXPORT String : public Primitive { +class V8EXPORT String : public Primitive { public: enum Encoding { UNKNOWN_ENCODING = 0x1, @@ -1643,7 +1614,7 @@ class V8_EXPORT String : public Primitive { */ bool IsExternalAscii() const; - class V8_EXPORT ExternalStringResourceBase { // NOLINT + class V8EXPORT ExternalStringResourceBase { // NOLINT public: virtual ~ExternalStringResourceBase() {} @@ -1672,7 +1643,7 @@ class V8_EXPORT String : public Primitive { * ExternalStringResource to manage the life cycle of the underlying * buffer. Note that the string data must be immutable. */ - class V8_EXPORT ExternalStringResource + class V8EXPORT ExternalStringResource : public ExternalStringResourceBase { public: /** @@ -1706,7 +1677,7 @@ class V8_EXPORT String : public Primitive { * Use String::New or convert to 16 bit data for non-ASCII. */ - class V8_EXPORT ExternalAsciiStringResource + class V8EXPORT ExternalAsciiStringResource : public ExternalStringResourceBase { public: /** @@ -1859,7 +1830,7 @@ class V8_EXPORT String : public Primitive { * then the length() method returns 0 and the * operator returns * NULL. */ - class V8_EXPORT Utf8Value { + class V8EXPORT Utf8Value { public: explicit Utf8Value(Handle<v8::Value> obj); ~Utf8Value(); @@ -1882,7 +1853,7 @@ class V8_EXPORT String : public Primitive { * method of the object) then the length() method returns 0 and the * operator * returns NULL. */ - class V8_EXPORT AsciiValue { + class V8EXPORT AsciiValue { public: // TODO(dcarney): deprecate explicit AsciiValue(Handle<v8::Value> obj); @@ -1905,7 +1876,7 @@ class V8_EXPORT String : public Primitive { * method of the object) then the length() method returns 0 and the * operator * returns NULL. */ - class V8_EXPORT Value { + class V8EXPORT Value { public: explicit Value(Handle<v8::Value> obj); ~Value(); @@ -1934,7 +1905,7 @@ class V8_EXPORT String : public Primitive { * * This is an experimental feature. Use at your own risk. */ -class V8_EXPORT Symbol : public Primitive { +class V8EXPORT Symbol : public Primitive { public: // Returns the print name string of the symbol, or undefined if none. Local<Value> Name() const; @@ -1955,7 +1926,7 @@ class V8_EXPORT Symbol : public Primitive { /** * A JavaScript number value (ECMA-262, 4.3.20) */ -class V8_EXPORT Number : public Primitive { +class V8EXPORT Number : public Primitive { public: double Value() const; static Local<Number> New(double value); @@ -1970,7 +1941,7 @@ class V8_EXPORT Number : public Primitive { /** * A JavaScript value representing a signed integer. */ -class V8_EXPORT Integer : public Number { +class V8EXPORT Integer : public Number { public: static Local<Integer> New(int32_t value); static Local<Integer> NewFromUnsigned(uint32_t value); @@ -1987,7 +1958,7 @@ class V8_EXPORT Integer : public Number { /** * A JavaScript value representing a 32-bit signed integer. */ -class V8_EXPORT Int32 : public Integer { +class V8EXPORT Int32 : public Integer { public: int32_t Value() const; private: @@ -1998,7 +1969,7 @@ class V8_EXPORT Int32 : public Integer { /** * A JavaScript value representing a 32-bit unsigned integer. */ -class V8_EXPORT Uint32 : public Integer { +class V8EXPORT Uint32 : public Integer { public: uint32_t Value() const; private: @@ -2070,7 +2041,7 @@ enum AccessControl { /** * A JavaScript object (ECMA-262, 4.3.3) */ -class V8_EXPORT Object : public Value { +class V8EXPORT Object : public Value { public: bool Set(Handle<Value> key, Handle<Value> value, @@ -2342,7 +2313,7 @@ class V8_EXPORT Object : public Value { /** * An instance of the built-in array constructor (ECMA-262, 15.4.2). */ -class V8_EXPORT Array : public Object { +class V8EXPORT Array : public Object { public: uint32_t Length() const; @@ -2368,7 +2339,7 @@ class V8_EXPORT Array : public Object { /** * A JavaScript function object (ECMA-262, 15.3). */ -class V8_EXPORT Function : public Object { +class V8EXPORT Function : public Object { public: Local<Object> NewInstance() const; Local<Object> NewInstance(int argc, Handle<Value> argv[]) const; @@ -2424,7 +2395,7 @@ class V8_EXPORT Function : public Object { * An instance of the built-in ArrayBuffer constructor (ES6 draft 15.13.5). * This API is experimental and may change significantly. */ -class V8_EXPORT ArrayBuffer : public Object { +class V8EXPORT ArrayBuffer : public Object { public: /** * Allocator that V8 uses to allocate |ArrayBuffer|'s memory. @@ -2433,7 +2404,7 @@ class V8_EXPORT ArrayBuffer : public Object { * * This API is experimental and may change significantly. */ - class V8_EXPORT Allocator { // NOLINT + class V8EXPORT Allocator { // NOLINT public: virtual ~Allocator() {} @@ -2480,7 +2451,7 @@ class V8_EXPORT ArrayBuffer : public Object { * * This API is experimental and may change significantly. */ - class V8_EXPORT Contents { // NOLINT + class V8EXPORT Contents { // NOLINT public: Contents() : data_(NULL), byte_length_(0) {} @@ -2563,7 +2534,7 @@ class V8_EXPORT ArrayBuffer : public Object { * * This API is experimental and may change significantly. */ -class V8_EXPORT ArrayBufferView : public Object { +class V8EXPORT ArrayBufferView : public Object { public: /** * Returns underlying ArrayBuffer. @@ -2598,7 +2569,7 @@ class V8_EXPORT ArrayBufferView : public Object { * (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT TypedArray : public ArrayBufferView { +class V8EXPORT TypedArray : public ArrayBufferView { public: /** * Number of elements in this typed array @@ -2618,7 +2589,7 @@ class V8_EXPORT TypedArray : public ArrayBufferView { * An instance of Uint8Array constructor (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT Uint8Array : public TypedArray { +class V8EXPORT Uint8Array : public TypedArray { public: static Local<Uint8Array> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2634,7 +2605,7 @@ class V8_EXPORT Uint8Array : public TypedArray { * An instance of Uint8ClampedArray constructor (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT Uint8ClampedArray : public TypedArray { +class V8EXPORT Uint8ClampedArray : public TypedArray { public: static Local<Uint8ClampedArray> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2649,7 +2620,7 @@ class V8_EXPORT Uint8ClampedArray : public TypedArray { * An instance of Int8Array constructor (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT Int8Array : public TypedArray { +class V8EXPORT Int8Array : public TypedArray { public: static Local<Int8Array> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2665,7 +2636,7 @@ class V8_EXPORT Int8Array : public TypedArray { * An instance of Uint16Array constructor (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT Uint16Array : public TypedArray { +class V8EXPORT Uint16Array : public TypedArray { public: static Local<Uint16Array> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2681,7 +2652,7 @@ class V8_EXPORT Uint16Array : public TypedArray { * An instance of Int16Array constructor (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT Int16Array : public TypedArray { +class V8EXPORT Int16Array : public TypedArray { public: static Local<Int16Array> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2697,7 +2668,7 @@ class V8_EXPORT Int16Array : public TypedArray { * An instance of Uint32Array constructor (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT Uint32Array : public TypedArray { +class V8EXPORT Uint32Array : public TypedArray { public: static Local<Uint32Array> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2713,7 +2684,7 @@ class V8_EXPORT Uint32Array : public TypedArray { * An instance of Int32Array constructor (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT Int32Array : public TypedArray { +class V8EXPORT Int32Array : public TypedArray { public: static Local<Int32Array> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2729,7 +2700,7 @@ class V8_EXPORT Int32Array : public TypedArray { * An instance of Float32Array constructor (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT Float32Array : public TypedArray { +class V8EXPORT Float32Array : public TypedArray { public: static Local<Float32Array> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2745,7 +2716,7 @@ class V8_EXPORT Float32Array : public TypedArray { * An instance of Float64Array constructor (ES6 draft 15.13.6). * This API is experimental and may change significantly. */ -class V8_EXPORT Float64Array : public TypedArray { +class V8EXPORT Float64Array : public TypedArray { public: static Local<Float64Array> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2761,7 +2732,7 @@ class V8_EXPORT Float64Array : public TypedArray { * An instance of DataView constructor (ES6 draft 15.13.7). * This API is experimental and may change significantly. */ -class V8_EXPORT DataView : public ArrayBufferView { +class V8EXPORT DataView : public ArrayBufferView { public: static Local<DataView> New(Handle<ArrayBuffer> array_buffer, size_t byte_offset, size_t length); @@ -2776,7 +2747,7 @@ class V8_EXPORT DataView : public ArrayBufferView { /** * An instance of the built-in Date constructor (ECMA-262, 15.9). */ -class V8_EXPORT Date : public Object { +class V8EXPORT Date : public Object { public: static Local<Value> New(double time); @@ -2814,7 +2785,7 @@ class V8_EXPORT Date : public Object { /** * A Number object (ECMA-262, 4.3.21). */ -class V8_EXPORT NumberObject : public Object { +class V8EXPORT NumberObject : public Object { public: static Local<Value> New(double value); @@ -2837,7 +2808,7 @@ class V8_EXPORT NumberObject : public Object { /** * A Boolean object (ECMA-262, 4.3.15). */ -class V8_EXPORT BooleanObject : public Object { +class V8EXPORT BooleanObject : public Object { public: static Local<Value> New(bool value); @@ -2860,7 +2831,7 @@ class V8_EXPORT BooleanObject : public Object { /** * A String object (ECMA-262, 4.3.18). */ -class V8_EXPORT StringObject : public Object { +class V8EXPORT StringObject : public Object { public: static Local<Value> New(Handle<String> value); @@ -2885,7 +2856,7 @@ class V8_EXPORT StringObject : public Object { * * This is an experimental feature. Use at your own risk. */ -class V8_EXPORT SymbolObject : public Object { +class V8EXPORT SymbolObject : public Object { public: static Local<Value> New(Isolate* isolate, Handle<Symbol> value); @@ -2908,7 +2879,7 @@ class V8_EXPORT SymbolObject : public Object { /** * An instance of the built-in RegExp constructor (ECMA-262, 15.10). */ -class V8_EXPORT RegExp : public Object { +class V8EXPORT RegExp : public Object { public: /** * Regular expression flag bits. They can be or'ed to enable a set @@ -2955,7 +2926,7 @@ class V8_EXPORT RegExp : public Object { * A JavaScript value that wraps a C++ void*. This type of value is mainly used * to associate C++ data structures with JavaScript objects. */ -class V8_EXPORT External : public Value { +class V8EXPORT External : public Value { public: static Local<External> New(void* value); V8_INLINE(static External* Cast(Value* obj)); @@ -2971,7 +2942,7 @@ class V8_EXPORT External : public Value { /** * The superclass of object and function templates. */ -class V8_EXPORT Template : public Data { +class V8EXPORT Template : public Data { public: /** Adds a property to each instance created by this template.*/ void Set(Handle<String> name, Handle<Data> value, @@ -3059,7 +3030,7 @@ class FunctionCallbackInfo { }; -class V8_EXPORT Arguments : public FunctionCallbackInfo<Value> { +class V8EXPORT Arguments : public FunctionCallbackInfo<Value> { private: friend class internal::FunctionCallbackArguments; V8_INLINE(Arguments(internal::Object** implicit_args, @@ -3100,7 +3071,7 @@ class PropertyCallbackInfo { }; -class V8_EXPORT AccessorInfo : public PropertyCallbackInfo<Value> { +class V8EXPORT AccessorInfo : public PropertyCallbackInfo<Value> { private: friend class internal::PropertyCallbackArguments; V8_INLINE(AccessorInfo(internal::Object** args)) @@ -3348,7 +3319,7 @@ typedef bool (*IndexedSecurityCallback)(Local<Object> host, * child_instance.instance_property == 3; * \endcode */ -class V8_EXPORT FunctionTemplate : public Template { +class V8EXPORT FunctionTemplate : public Template { public: /** Creates a function template.*/ V8_DEPRECATED(static Local<FunctionTemplate> New( @@ -3439,7 +3410,7 @@ class V8_EXPORT FunctionTemplate : public Template { * Properties added to an ObjectTemplate are added to each object * created from the ObjectTemplate. */ -class V8_EXPORT ObjectTemplate : public Template { +class V8EXPORT ObjectTemplate : public Template { public: /** Creates an ObjectTemplate. */ static Local<ObjectTemplate> New(); @@ -3625,7 +3596,7 @@ class V8_EXPORT ObjectTemplate : public Template { * A Signature specifies which receivers and arguments are valid * parameters to a function. */ -class V8_EXPORT Signature : public Data { +class V8EXPORT Signature : public Data { public: static Local<Signature> New(Handle<FunctionTemplate> receiver = Handle<FunctionTemplate>(), @@ -3640,7 +3611,7 @@ class V8_EXPORT Signature : public Data { * An AccessorSignature specifies which receivers are valid parameters * to an accessor callback. */ -class V8_EXPORT AccessorSignature : public Data { +class V8EXPORT AccessorSignature : public Data { public: static Local<AccessorSignature> New(Handle<FunctionTemplate> receiver = Handle<FunctionTemplate>()); @@ -3649,13 +3620,13 @@ class V8_EXPORT AccessorSignature : public Data { }; -class V8_EXPORT DeclaredAccessorDescriptor : public Data { +class V8EXPORT DeclaredAccessorDescriptor : public Data { private: DeclaredAccessorDescriptor(); }; -class V8_EXPORT ObjectOperationDescriptor : public Data { +class V8EXPORT ObjectOperationDescriptor : public Data { public: // This function is not yet stable and should not be used at this time. static Local<RawOperationDescriptor> NewInternalFieldDereference( @@ -3675,7 +3646,7 @@ enum DeclaredAccessorDescriptorDataType { }; -class V8_EXPORT RawOperationDescriptor : public Data { +class V8EXPORT RawOperationDescriptor : public Data { public: Local<DeclaredAccessorDescriptor> NewHandleDereference(Isolate* isolate); Local<RawOperationDescriptor> NewRawDereference(Isolate* isolate); @@ -3708,7 +3679,7 @@ class V8_EXPORT RawOperationDescriptor : public Data { * A utility for determining the type of objects based on the template * they were constructed from. */ -class V8_EXPORT TypeSwitch : public Data { +class V8EXPORT TypeSwitch : public Data { public: static Local<TypeSwitch> New(Handle<FunctionTemplate> type); static Local<TypeSwitch> New(int argc, Handle<FunctionTemplate> types[]); @@ -3720,7 +3691,7 @@ class V8_EXPORT TypeSwitch : public Data { // --- Extensions --- -class V8_EXPORT ExternalAsciiStringResourceImpl +class V8EXPORT ExternalAsciiStringResourceImpl : public String::ExternalAsciiStringResource { public: ExternalAsciiStringResourceImpl() : data_(0), length_(0) {} @@ -3737,7 +3708,7 @@ class V8_EXPORT ExternalAsciiStringResourceImpl /** * Ignore */ -class V8_EXPORT Extension { // NOLINT +class V8EXPORT Extension { // NOLINT public: // Note that the strings passed into this constructor must live as long // as the Extension itself. @@ -3775,13 +3746,13 @@ class V8_EXPORT Extension { // NOLINT }; -void V8_EXPORT RegisterExtension(Extension* extension); +void V8EXPORT RegisterExtension(Extension* extension); /** * Ignore */ -class V8_EXPORT DeclareExtension { +class V8EXPORT DeclareExtension { public: V8_INLINE(DeclareExtension(Extension* extension)) { RegisterExtension(extension); @@ -3792,10 +3763,10 @@ class V8_EXPORT DeclareExtension { // --- Statics --- -Handle<Primitive> V8_EXPORT Undefined(); -Handle<Primitive> V8_EXPORT Null(); -Handle<Boolean> V8_EXPORT True(); -Handle<Boolean> V8_EXPORT False(); +Handle<Primitive> V8EXPORT Undefined(); +Handle<Primitive> V8EXPORT Null(); +Handle<Boolean> V8EXPORT True(); +Handle<Boolean> V8EXPORT False(); V8_INLINE(Handle<Primitive> Undefined(Isolate* isolate)); V8_INLINE(Handle<Primitive> Null(Isolate* isolate)); @@ -3812,7 +3783,7 @@ V8_INLINE(Handle<Boolean> False(Isolate* isolate)); * setting the stack limit and you must set a non-default stack limit separately * for each thread. */ -class V8_EXPORT ResourceConstraints { +class V8EXPORT ResourceConstraints { public: ResourceConstraints(); int max_young_space_size() const { return max_young_space_size_; } @@ -3832,7 +3803,7 @@ class V8_EXPORT ResourceConstraints { }; -bool V8_EXPORT SetResourceConstraints(ResourceConstraints* constraints); +bool V8EXPORT SetResourceConstraints(ResourceConstraints* constraints); // --- Exceptions --- @@ -3850,13 +3821,13 @@ typedef void (*MessageCallback)(Handle<Message> message, Handle<Value> error); * operation; the caller must return immediately and only after the exception * has been handled does it become legal to invoke JavaScript operations. */ -Handle<Value> V8_EXPORT ThrowException(Handle<Value> exception); +Handle<Value> V8EXPORT ThrowException(Handle<Value> exception); /** * Create new error objects by calling the corresponding error object * constructor with the message. */ -class V8_EXPORT Exception { +class V8EXPORT Exception { public: static Local<Value> RangeError(Handle<String> message); static Local<Value> ReferenceError(Handle<String> message); @@ -3950,7 +3921,7 @@ typedef void (*GCCallback)(); * Instances of this class can be passed to v8::V8::HeapStatistics to * get heap statistics from V8. */ -class V8_EXPORT HeapStatistics { +class V8EXPORT HeapStatistics { public: HeapStatistics(); size_t total_heap_size() { return total_heap_size_; } @@ -3982,13 +3953,13 @@ class RetainedObjectInfo; * threads. An isolate can be entered by at most one thread at any * given time. The Locker/Unlocker API must be used to synchronize. */ -class V8_EXPORT Isolate { +class V8EXPORT Isolate { public: /** * Stack-allocated class which sets the isolate for all operations * executed within a local scope. */ - class V8_EXPORT Scope { + class V8EXPORT Scope { public: explicit Scope(Isolate* isolate) : isolate_(isolate) { isolate->Enter(); @@ -4136,7 +4107,7 @@ class V8_EXPORT Isolate { }; -class V8_EXPORT StartupData { +class V8EXPORT StartupData { public: enum CompressionAlgorithm { kUncompressed, @@ -4157,7 +4128,7 @@ class V8_EXPORT StartupData { * * For an example of the class usage, see the "shell.cc" sample application. */ -class V8_EXPORT StartupDataDecompressor { // NOLINT +class V8EXPORT StartupDataDecompressor { // NOLINT public: StartupDataDecompressor(); virtual ~StartupDataDecompressor(); @@ -4301,7 +4272,7 @@ typedef void (*JitCodeEventHandler)(const JitCodeEvent* event); /** * Interface for iterating through all external resources in the heap. */ -class V8_EXPORT ExternalResourceVisitor { // NOLINT +class V8EXPORT ExternalResourceVisitor { // NOLINT public: virtual ~ExternalResourceVisitor() {} virtual void VisitExternalString(Handle<String> string) {} @@ -4311,7 +4282,7 @@ class V8_EXPORT ExternalResourceVisitor { // NOLINT /** * Interface for iterating through all the persistent handles in the heap. */ -class V8_EXPORT PersistentHandleVisitor { // NOLINT +class V8EXPORT PersistentHandleVisitor { // NOLINT public: virtual ~PersistentHandleVisitor() {} virtual void VisitPersistentHandle(Persistent<Value>* value, @@ -4324,7 +4295,7 @@ class V8_EXPORT PersistentHandleVisitor { // NOLINT * to be modified. Useful when otherwise unsafe handle operations need to * be performed. */ -class V8_EXPORT AssertNoGCScope { +class V8EXPORT AssertNoGCScope { #ifndef DEBUG // TODO(yangguo): remove isolate argument. V8_INLINE(AssertNoGCScope(Isolate* isolate)) { } @@ -4340,7 +4311,7 @@ class V8_EXPORT AssertNoGCScope { /** * Container class for static utility functions. */ -class V8_EXPORT V8 { +class V8EXPORT V8 { public: /** Set the callback to invoke in case of fatal errors. */ static void SetFatalErrorHandler(FatalErrorCallback that); @@ -4797,9 +4768,6 @@ class V8_EXPORT V8 { void* data, RevivableCallback weak_reference_callback); static void ClearWeak(internal::Object** global_handle); - static int Eternalize(internal::Isolate* isolate, - internal::Object** handle); - static internal::Object** GetEternal(internal::Isolate* isolate, int index); template <class T> friend class Handle; template <class T> friend class Local; @@ -4811,7 +4779,7 @@ class V8_EXPORT V8 { /** * An external exception handler. */ -class V8_EXPORT TryCatch { +class V8EXPORT TryCatch { public: /** * Creates a new try/catch block and registers it with v8. Note that @@ -4944,7 +4912,7 @@ class V8_EXPORT TryCatch { /** * Ignore */ -class V8_EXPORT ExtensionConfiguration { +class V8EXPORT ExtensionConfiguration { public: ExtensionConfiguration(int name_count, const char* names[]) : name_count_(name_count), names_(names) { } @@ -4959,7 +4927,7 @@ class V8_EXPORT ExtensionConfiguration { * A sandboxed execution context with its own set of built-in objects * and functions. */ -class V8_EXPORT Context { +class V8EXPORT Context { public: /** * Returns the global proxy object or global object itself for @@ -5244,7 +5212,7 @@ class V8_EXPORT Context { * // V8 Now no longer locked. * \endcode */ -class V8_EXPORT Unlocker { +class V8EXPORT Unlocker { public: /** * Initialize Unlocker for a given Isolate. @@ -5262,7 +5230,7 @@ class V8_EXPORT Unlocker { }; -class V8_EXPORT Locker { +class V8EXPORT Locker { public: /** * Initialize Locker for a given Isolate. @@ -5323,7 +5291,7 @@ struct HeapStatsUpdate; /** * An interface for exporting data from V8, using "push" model. */ -class V8_EXPORT OutputStream { // NOLINT +class V8EXPORT OutputStream { // NOLINT public: enum OutputEncoding { kAscii = 0 // 7-bit ASCII. @@ -5360,7 +5328,7 @@ class V8_EXPORT OutputStream { // NOLINT * An interface for reporting progress and controlling long-running * activities. */ -class V8_EXPORT ActivityControl { // NOLINT +class V8EXPORT ActivityControl { // NOLINT public: enum ControlOption { kContinue = 0, @@ -5483,7 +5451,7 @@ class Internals { static const int kNullValueRootIndex = 7; static const int kTrueValueRootIndex = 8; static const int kFalseValueRootIndex = 9; - static const int kEmptyStringRootIndex = 133; + static const int kEmptyStringRootIndex = 135; static const int kNodeClassIdOffset = 1 * kApiPointerSize; static const int kNodeFlagsOffset = 1 * kApiPointerSize + 3; @@ -5544,14 +5512,14 @@ class Internals { V8_INLINE(static uint8_t GetNodeFlag(internal::Object** obj, int shift)) { uint8_t* addr = reinterpret_cast<uint8_t*>(obj) + kNodeFlagsOffset; - return *addr & static_cast<uint8_t>(1U << shift); + return *addr & (1 << shift); } V8_INLINE(static void UpdateNodeFlag(internal::Object** obj, bool value, int shift)) { uint8_t* addr = reinterpret_cast<uint8_t*>(obj) + kNodeFlagsOffset; - uint8_t mask = static_cast<uint8_t>(1 << shift); - *addr = static_cast<uint8_t>((*addr & ~mask) | (value << shift)); + uint8_t mask = 1 << shift; + *addr = (*addr & ~mask) | (value << shift); } V8_INLINE(static uint8_t GetNodeState(internal::Object** obj)) { @@ -5562,7 +5530,7 @@ class Internals { V8_INLINE(static void UpdateNodeState(internal::Object** obj, uint8_t value)) { uint8_t* addr = reinterpret_cast<uint8_t*>(obj) + kNodeFlagsOffset; - *addr = static_cast<uint8_t>((*addr & ~kNodeStateMask) | value); + *addr = (*addr & ~kNodeStateMask) | value; } V8_INLINE(static void SetEmbedderData(v8::Isolate* isolate, void* data)) { @@ -5663,21 +5631,6 @@ Local<T> Local<T>::New(Isolate* isolate, T* that) { } -template<class T> -int Local<T>::Eternalize(Isolate* isolate) { - return V8::Eternalize(reinterpret_cast<internal::Isolate*>(isolate), - reinterpret_cast<internal::Object**>(this->val_)); -} - - -template<class T> -Local<T> Local<T>::GetEternal(Isolate* isolate, int index) { - internal::Object** handle = - V8::GetEternal(reinterpret_cast<internal::Isolate*>(isolate), index); - return Local<T>(T::Cast(reinterpret_cast<Value*>(handle))); -} - - #ifdef V8_USE_UNSAFE_HANDLES template <class T> Persistent<T> Persistent<T>::New(Handle<T> that) { @@ -5927,7 +5880,7 @@ void ReturnValue<T>::Set(uint32_t i) { TYPE_CHECK(T, Integer); typedef internal::Internals I; // Can't simply use INT32_MAX here for whatever reason. - bool fits_into_int32_t = (i & (1U << 31)) == 0; + bool fits_into_int32_t = (i & (1 << 31)) == 0; if (V8_LIKELY(fits_into_int32_t)) { Set(static_cast<int32_t>(i)); return; @@ -6589,6 +6542,7 @@ void* Context::GetAlignedPointerFromEmbedderData(int index) { } // namespace v8 +#undef V8EXPORT #undef TYPE_CHECK |