| Index: include/v8.h
|
| diff --git a/include/v8.h b/include/v8.h
|
| index 74f489d2ab7870bba38e7bb46dfd10b1bba93401..e93555e2b59f9c6c2a663fce683ccff9140ff77b 100644
|
| --- a/include/v8.h
|
| +++ b/include/v8.h
|
| @@ -76,12 +76,20 @@
|
|
|
| #endif // _WIN32
|
|
|
| +#if defined(__GNUC__) && !defined(DEBUG)
|
| +#define V8_INLINE(declarator) inline __attribute__((always_inline)) declarator
|
| +#elif defined(_MSC_VER) && !defined(DEBUG)
|
| +#define V8_INLINE(declarator) __forceinline declarator
|
| +#else
|
| +#define V8_INLINE(declarator) inline declarator
|
| +#endif
|
| +
|
| #if defined(__GNUC__) && !V8_DISABLE_DEPRECATIONS
|
| -#define V8_DEPRECATED(func) func __attribute__ ((deprecated))
|
| +#define V8_DEPRECATED(declarator) declarator __attribute__ ((deprecated))
|
| #elif defined(_MSC_VER) && !V8_DISABLE_DEPRECATIONS
|
| -#define V8_DEPRECATED(func) __declspec(deprecated) func
|
| +#define V8_DEPRECATED(declarator) __declspec(deprecated) declarator
|
| #else
|
| -#define V8_DEPRECATED(func) func
|
| +#define V8_DEPRECATED(declarator) declarator
|
| #endif
|
|
|
| /**
|
| @@ -184,12 +192,12 @@ template <class T> class Handle {
|
| /**
|
| * Creates an empty handle.
|
| */
|
| - inline Handle() : val_(0) {}
|
| + V8_INLINE(Handle()) : val_(0) {}
|
|
|
| /**
|
| * Creates a new handle for the specified value.
|
| */
|
| - inline explicit Handle(T* val) : val_(val) {}
|
| + V8_INLINE(explicit Handle(T* val)) : val_(val) {}
|
|
|
| /**
|
| * Creates a handle for the contents of the specified handle. This
|
| @@ -201,7 +209,7 @@ template <class T> class Handle {
|
| * Handle<String> to a variable declared as Handle<Value>, is legal
|
| * because String is a subclass of Value.
|
| */
|
| - template <class S> inline Handle(Handle<S> that)
|
| + template <class S> V8_INLINE(Handle(Handle<S> that))
|
| : val_(reinterpret_cast<T*>(*that)) {
|
| /**
|
| * This check fails when trying to convert between incompatible
|
| @@ -214,16 +222,16 @@ template <class T> class Handle {
|
| /**
|
| * Returns true if the handle is empty.
|
| */
|
| - inline bool IsEmpty() const { return val_ == 0; }
|
| + V8_INLINE(bool IsEmpty() const) { return val_ == 0; }
|
|
|
| /**
|
| * Sets the handle to be empty. IsEmpty() will then return true.
|
| */
|
| - inline void Clear() { val_ = 0; }
|
| + V8_INLINE(void Clear()) { val_ = 0; }
|
|
|
| - inline T* operator->() const { return val_; }
|
| + V8_INLINE(T* operator->() const) { return val_; }
|
|
|
| - inline T* operator*() const { return val_; }
|
| + V8_INLINE(T* operator*() const) { return val_; }
|
|
|
| /**
|
| * Checks whether two handles are the same.
|
| @@ -231,7 +239,7 @@ template <class T> class Handle {
|
| * to which they refer are identical.
|
| * The handles' references are not checked.
|
| */
|
| - template <class S> inline bool operator==(Handle<S> that) const {
|
| + template <class S> V8_INLINE(bool operator==(Handle<S> that) const) {
|
| internal::Object** a = reinterpret_cast<internal::Object**>(**this);
|
| internal::Object** b = reinterpret_cast<internal::Object**>(*that);
|
| if (a == 0) return b == 0;
|
| @@ -245,11 +253,11 @@ template <class T> class Handle {
|
| * the objects to which they refer are different.
|
| * The handles' references are not checked.
|
| */
|
| - template <class S> inline bool operator!=(Handle<S> that) const {
|
| + template <class S> V8_INLINE(bool operator!=(Handle<S> that) const) {
|
| return !operator==(that);
|
| }
|
|
|
| - template <class S> static inline Handle<T> Cast(Handle<S> that) {
|
| + template <class S> V8_INLINE(static Handle<T> Cast(Handle<S> that)) {
|
| #ifdef V8_ENABLE_CHECKS
|
| // If we're going to perform the type check then we have to check
|
| // that the handle isn't empty before doing the checked cast.
|
| @@ -258,7 +266,7 @@ template <class T> class Handle {
|
| return Handle<T>(T::Cast(*that));
|
| }
|
|
|
| - template <class S> inline Handle<S> As() {
|
| + template <class S> V8_INLINE(Handle<S> As()) {
|
| return Handle<S>::Cast(*this);
|
| }
|
|
|
| @@ -276,8 +284,8 @@ template <class T> class Handle {
|
| */
|
| template <class T> class Local : public Handle<T> {
|
| public:
|
| - inline Local();
|
| - template <class S> inline Local(Local<S> that)
|
| + V8_INLINE(Local());
|
| + template <class S> V8_INLINE(Local(Local<S> that))
|
| : Handle<T>(reinterpret_cast<T*>(*that)) {
|
| /**
|
| * This check fails when trying to convert between incompatible
|
| @@ -286,8 +294,8 @@ template <class T> class Local : public Handle<T> {
|
| */
|
| TYPE_CHECK(T, S);
|
| }
|
| - template <class S> inline Local(S* that) : Handle<T>(that) { }
|
| - template <class S> static inline Local<T> Cast(Local<S> that) {
|
| + template <class S> V8_INLINE(Local(S* that) : Handle<T>(that)) { }
|
| + template <class S> V8_INLINE(static Local<T> Cast(Local<S> that)) {
|
| #ifdef V8_ENABLE_CHECKS
|
| // If we're going to perform the type check then we have to check
|
| // that the handle isn't empty before doing the checked cast.
|
| @@ -296,7 +304,7 @@ template <class T> class Local : public Handle<T> {
|
| return Local<T>(T::Cast(*that));
|
| }
|
|
|
| - template <class S> inline Local<S> As() {
|
| + template <class S> V8_INLINE(Local<S> As()) {
|
| return Local<S>::Cast(*this);
|
| }
|
|
|
| @@ -304,7 +312,7 @@ template <class T> class Local : public Handle<T> {
|
| * The referee is kept alive by the local handle even when
|
| * the original handle is destroyed/disposed.
|
| */
|
| - inline static Local<T> New(Handle<T> that);
|
| + V8_INLINE(static Local<T> New(Handle<T> that));
|
| };
|
|
|
|
|
| @@ -331,7 +339,7 @@ template <class T> class Persistent : public Handle<T> {
|
| * Creates an empty persistent handle that doesn't point to any
|
| * storage cell.
|
| */
|
| - inline Persistent();
|
| + V8_INLINE(Persistent());
|
|
|
| /**
|
| * Creates a persistent handle for the same storage cell as the
|
| @@ -344,7 +352,7 @@ template <class T> class Persistent : public Handle<T> {
|
| * Persistent<String> to a variable declared as Persistent<Value>,
|
| * is allowed as String is a subclass of Value.
|
| */
|
| - template <class S> inline Persistent(Persistent<S> that)
|
| + template <class S> V8_INLINE(Persistent(Persistent<S> that))
|
| : Handle<T>(reinterpret_cast<T*>(*that)) {
|
| /**
|
| * This check fails when trying to convert between incompatible
|
| @@ -354,16 +362,16 @@ template <class T> class Persistent : public Handle<T> {
|
| TYPE_CHECK(T, S);
|
| }
|
|
|
| - template <class S> inline Persistent(S* that) : Handle<T>(that) { }
|
| + template <class S> V8_INLINE(Persistent(S* that)) : Handle<T>(that) { }
|
|
|
| /**
|
| * "Casts" a plain handle which is known to be a persistent handle
|
| * to a persistent handle.
|
| */
|
| - template <class S> explicit inline Persistent(Handle<S> that)
|
| + template <class S> explicit V8_INLINE(Persistent(Handle<S> that))
|
| : Handle<T>(*that) { }
|
|
|
| - template <class S> static inline Persistent<T> Cast(Persistent<S> that) {
|
| + template <class S> V8_INLINE(static Persistent<T> Cast(Persistent<S> that)) {
|
| #ifdef V8_ENABLE_CHECKS
|
| // If we're going to perform the type check then we have to check
|
| // that the handle isn't empty before doing the checked cast.
|
| @@ -372,7 +380,7 @@ template <class T> class Persistent : public Handle<T> {
|
| return Persistent<T>(T::Cast(*that));
|
| }
|
|
|
| - template <class S> inline Persistent<S> As() {
|
| + template <class S> V8_INLINE(Persistent<S> As()) {
|
| return Persistent<S>::Cast(*this);
|
| }
|
|
|
| @@ -380,7 +388,7 @@ template <class T> class Persistent : public Handle<T> {
|
| * Creates a new persistent handle for an existing local or
|
| * persistent handle.
|
| */
|
| - inline static Persistent<T> New(Handle<T> that);
|
| + V8_INLINE(static Persistent<T> New(Handle<T> that));
|
|
|
| /**
|
| * Releases the storage cell referenced by this persistent handle.
|
| @@ -388,8 +396,8 @@ template <class T> class Persistent : public Handle<T> {
|
| * This handle's reference, and any other references to the storage
|
| * cell remain and IsEmpty will still return false.
|
| */
|
| - inline void Dispose();
|
| - inline void Dispose(Isolate* isolate);
|
| + V8_INLINE(void Dispose());
|
| + V8_INLINE(void Dispose(Isolate* isolate));
|
|
|
| /**
|
| * Make the reference to this object weak. When only weak handles
|
| @@ -397,10 +405,10 @@ template <class T> class Persistent : public Handle<T> {
|
| * callback to the given V8::WeakReferenceCallback function, passing
|
| * it the object reference and the given parameters.
|
| */
|
| - inline void MakeWeak(void* parameters, WeakReferenceCallback callback);
|
| + V8_INLINE(void MakeWeak(void* parameters, WeakReferenceCallback callback));
|
|
|
| /** Clears the weak reference to this object. */
|
| - inline void ClearWeak();
|
| + V8_INLINE(void ClearWeak());
|
|
|
| /**
|
| * Marks the reference to this object independent. Garbage collector
|
| @@ -409,8 +417,8 @@ template <class T> class Persistent : public Handle<T> {
|
| * assume that it will be preceded by a global GC prologue callback
|
| * or followed by a global GC epilogue callback.
|
| */
|
| - inline void MarkIndependent();
|
| - inline void MarkIndependent(Isolate* isolate);
|
| + V8_INLINE(void MarkIndependent());
|
| + V8_INLINE(void MarkIndependent(Isolate* isolate));
|
|
|
| /**
|
| * Marks the reference to this object partially dependent. Partially
|
| @@ -420,30 +428,30 @@ template <class T> class Persistent : public Handle<T> {
|
| * subset of all external dependencies. This mark is automatically cleared
|
| * after each garbage collection.
|
| */
|
| - inline void MarkPartiallyDependent();
|
| - inline void MarkPartiallyDependent(Isolate* isolate);
|
| + V8_INLINE(void MarkPartiallyDependent());
|
| + V8_INLINE(void MarkPartiallyDependent(Isolate* isolate));
|
|
|
| /** Returns true if this handle was previously marked as independent. */
|
| - inline bool IsIndependent() const;
|
| - inline bool IsIndependent(Isolate* isolate) const;
|
| + V8_INLINE(bool IsIndependent() const);
|
| + V8_INLINE(bool IsIndependent(Isolate* isolate) const);
|
|
|
| /** Checks if the handle holds the only reference to an object. */
|
| - inline bool IsNearDeath() const;
|
| + V8_INLINE(bool IsNearDeath() const);
|
|
|
| /** Returns true if the handle's reference is weak. */
|
| - inline bool IsWeak() const;
|
| + V8_INLINE(bool IsWeak() const);
|
|
|
| /**
|
| * Assigns a wrapper class ID to the handle. See RetainedObjectInfo
|
| * interface description in v8-profiler.h for details.
|
| */
|
| - inline void SetWrapperClassId(uint16_t class_id);
|
| + V8_INLINE(void SetWrapperClassId(uint16_t class_id));
|
|
|
| /**
|
| * Returns the class ID previously assigned to this handle or 0 if no class
|
| * ID was previously assigned.
|
| */
|
| - inline uint16_t WrapperClassId() const;
|
| + V8_INLINE(uint16_t WrapperClassId() const);
|
|
|
| private:
|
| friend class ImplementationUtilities;
|
| @@ -504,7 +512,7 @@ class V8EXPORT HandleScope {
|
| internal::Object** next;
|
| internal::Object** limit;
|
| int level;
|
| - inline void Initialize() {
|
| + V8_INLINE(void Initialize()) {
|
| next = limit = NULL;
|
| level = 0;
|
| }
|
| @@ -597,16 +605,16 @@ class V8EXPORT ScriptData { // NOLINT
|
| */
|
| class ScriptOrigin {
|
| public:
|
| - inline ScriptOrigin(
|
| + V8_INLINE(ScriptOrigin(
|
| Handle<Value> resource_name,
|
| Handle<Integer> resource_line_offset = Handle<Integer>(),
|
| - Handle<Integer> resource_column_offset = Handle<Integer>())
|
| + Handle<Integer> resource_column_offset = Handle<Integer>()))
|
| : resource_name_(resource_name),
|
| resource_line_offset_(resource_line_offset),
|
| resource_column_offset_(resource_column_offset) { }
|
| - inline Handle<Value> ResourceName() const;
|
| - inline Handle<Integer> ResourceLineOffset() const;
|
| - inline Handle<Integer> ResourceColumnOffset() const;
|
| + V8_INLINE(Handle<Value> ResourceName() const);
|
| + V8_INLINE(Handle<Integer> ResourceLineOffset() const);
|
| + V8_INLINE(Handle<Integer> ResourceColumnOffset() const);
|
| private:
|
| Handle<Value> resource_name_;
|
| Handle<Integer> resource_line_offset_;
|
| @@ -894,13 +902,13 @@ class Value : public Data {
|
| * Returns true if this value is the undefined value. See ECMA-262
|
| * 4.3.10.
|
| */
|
| - inline bool IsUndefined() const;
|
| + V8_INLINE(bool IsUndefined() const);
|
|
|
| /**
|
| * Returns true if this value is the null value. See ECMA-262
|
| * 4.3.11.
|
| */
|
| - inline bool IsNull() const;
|
| + V8_INLINE(bool IsNull() const);
|
|
|
| /**
|
| * Returns true if this value is true.
|
| @@ -916,7 +924,7 @@ class Value : public Data {
|
| * Returns true if this value is an instance of the String type.
|
| * See ECMA-262 8.4.
|
| */
|
| - inline bool IsString() const;
|
| + V8_INLINE(bool IsString() const);
|
|
|
| /**
|
| * Returns true if this value is a function.
|
| @@ -1014,9 +1022,9 @@ class Value : public Data {
|
| V8EXPORT bool StrictEquals(Handle<Value> that) const;
|
|
|
| private:
|
| - inline bool QuickIsUndefined() const;
|
| - inline bool QuickIsNull() const;
|
| - inline bool QuickIsString() const;
|
| + V8_INLINE(bool QuickIsUndefined() const);
|
| + V8_INLINE(bool QuickIsNull() const);
|
| + V8_INLINE(bool QuickIsString() const);
|
| V8EXPORT bool FullIsUndefined() const;
|
| V8EXPORT bool FullIsNull() const;
|
| V8EXPORT bool FullIsString() const;
|
| @@ -1036,7 +1044,7 @@ class Primitive : public Value { };
|
| class Boolean : public Primitive {
|
| public:
|
| V8EXPORT bool Value() const;
|
| - static inline Handle<Boolean> New(bool value);
|
| + V8_INLINE(static Handle<Boolean> New(bool value));
|
| };
|
|
|
|
|
| @@ -1121,7 +1129,7 @@ class String : public Primitive {
|
| * A zero length string.
|
| */
|
| V8EXPORT static v8::Local<v8::String> Empty();
|
| - inline static v8::Local<v8::String> Empty(Isolate* isolate);
|
| + V8_INLINE(static v8::Local<v8::String> Empty(Isolate* isolate));
|
|
|
| /**
|
| * Returns true if the string is external
|
| @@ -1217,14 +1225,14 @@ class String : public Primitive {
|
| * regardless of the encoding, otherwise return NULL. The encoding of the
|
| * string is returned in encoding_out.
|
| */
|
| - inline ExternalStringResourceBase* GetExternalStringResourceBase(
|
| - Encoding* encoding_out) const;
|
| + V8_INLINE(ExternalStringResourceBase* GetExternalStringResourceBase(
|
| + Encoding* encoding_out) const);
|
|
|
| /**
|
| * Get the ExternalStringResource for an external string. Returns
|
| * NULL if IsExternal() doesn't return true.
|
| */
|
| - inline ExternalStringResource* GetExternalStringResource() const;
|
| + V8_INLINE(ExternalStringResource* GetExternalStringResource() const);
|
|
|
| /**
|
| * Get the ExternalAsciiStringResource for an external ASCII string.
|
| @@ -1233,7 +1241,7 @@ class String : public Primitive {
|
| V8EXPORT const ExternalAsciiStringResource* GetExternalAsciiStringResource()
|
| const;
|
|
|
| - static inline String* Cast(v8::Value* obj);
|
| + V8_INLINE(static String* Cast(v8::Value* obj));
|
|
|
| /**
|
| * Allocates a new string from either UTF-8 encoded or ASCII data.
|
| @@ -1397,7 +1405,7 @@ class Number : public Primitive {
|
| public:
|
| V8EXPORT double Value() const;
|
| V8EXPORT static Local<Number> New(double value);
|
| - static inline Number* Cast(v8::Value* obj);
|
| + V8_INLINE(static Number* Cast(v8::Value* obj));
|
| private:
|
| V8EXPORT Number();
|
| V8EXPORT static void CheckCast(v8::Value* obj);
|
| @@ -1414,7 +1422,7 @@ class Integer : public Number {
|
| V8EXPORT static Local<Integer> New(int32_t value, Isolate*);
|
| V8EXPORT static Local<Integer> NewFromUnsigned(uint32_t value, Isolate*);
|
| V8EXPORT int64_t Value() const;
|
| - static inline Integer* Cast(v8::Value* obj);
|
| + V8_INLINE(static Integer* Cast(v8::Value* obj));
|
| private:
|
| V8EXPORT Integer();
|
| V8EXPORT static void CheckCast(v8::Value* obj);
|
| @@ -1611,7 +1619,7 @@ class Object : public Value {
|
| V8EXPORT int InternalFieldCount();
|
|
|
| /** Gets the value from an internal field. */
|
| - inline Local<Value> GetInternalField(int index);
|
| + V8_INLINE(Local<Value> GetInternalField(int index));
|
|
|
| /** Sets the value in an internal field. */
|
| V8EXPORT void SetInternalField(int index, Handle<Value> value);
|
| @@ -1629,14 +1637,15 @@ class Object : public Value {
|
| * always 2-byte aligned, use SetAlignedPointerInInternalField instead,
|
| * otherwise use a combination of External::New and SetInternalField.
|
| */
|
| - inline V8_DEPRECATED(void SetPointerInInternalField(int index, void* value));
|
| + V8_DEPRECATED(V8_INLINE(void SetPointerInInternalField(int index,
|
| + void* value)));
|
|
|
| /**
|
| * Gets a 2-byte-aligned native pointer from an internal field. This field
|
| * must have been set by SetAlignedPointerInInternalField, everything else
|
| * leads to undefined behavior.
|
| */
|
| - inline void* GetAlignedPointerFromInternalField(int index);
|
| + V8_INLINE(void* GetAlignedPointerFromInternalField(int index));
|
|
|
| /**
|
| * Sets a 2-byte-aligned native pointer in an internal field. To retrieve such
|
| @@ -1769,7 +1778,7 @@ class Object : public Value {
|
| Handle<Value> argv[]);
|
|
|
| V8EXPORT static Local<Object> New();
|
| - static inline Object* Cast(Value* obj);
|
| + V8_INLINE(static Object* Cast(Value* obj));
|
|
|
| private:
|
| V8EXPORT Object();
|
| @@ -1798,7 +1807,7 @@ class Array : public Object {
|
| */
|
| V8EXPORT static Local<Array> New(int length = 0);
|
|
|
| - static inline Array* Cast(Value* obj);
|
| + V8_INLINE(static Array* Cast(Value* obj));
|
| private:
|
| V8EXPORT Array();
|
| V8EXPORT static void CheckCast(Value* obj);
|
| @@ -1838,7 +1847,7 @@ class Function : public Object {
|
| V8EXPORT int GetScriptColumnNumber() const;
|
| V8EXPORT Handle<Value> GetScriptId() const;
|
| V8EXPORT ScriptOrigin GetScriptOrigin() const;
|
| - static inline Function* Cast(Value* obj);
|
| + V8_INLINE(static Function* Cast(Value* obj));
|
| V8EXPORT static const int kLineOffsetNotFound;
|
|
|
| private:
|
| @@ -1860,7 +1869,7 @@ class Date : public Object {
|
| */
|
| V8EXPORT double NumberValue() const;
|
|
|
| - static inline Date* Cast(v8::Value* obj);
|
| + V8_INLINE(static Date* Cast(v8::Value* obj));
|
|
|
| /**
|
| * Notification that the embedder has changed the time zone,
|
| @@ -1893,7 +1902,7 @@ class NumberObject : public Object {
|
| */
|
| V8EXPORT double NumberValue() const;
|
|
|
| - static inline NumberObject* Cast(v8::Value* obj);
|
| + V8_INLINE(static NumberObject* Cast(v8::Value* obj));
|
|
|
| private:
|
| V8EXPORT static void CheckCast(v8::Value* obj);
|
| @@ -1912,7 +1921,7 @@ class BooleanObject : public Object {
|
| */
|
| V8EXPORT bool BooleanValue() const;
|
|
|
| - static inline BooleanObject* Cast(v8::Value* obj);
|
| + V8_INLINE(static BooleanObject* Cast(v8::Value* obj));
|
|
|
| private:
|
| V8EXPORT static void CheckCast(v8::Value* obj);
|
| @@ -1931,7 +1940,7 @@ class StringObject : public Object {
|
| */
|
| V8EXPORT Local<String> StringValue() const;
|
|
|
| - static inline StringObject* Cast(v8::Value* obj);
|
| + V8_INLINE(static StringObject* Cast(v8::Value* obj));
|
|
|
| private:
|
| V8EXPORT static void CheckCast(v8::Value* obj);
|
| @@ -1978,7 +1987,7 @@ class RegExp : public Object {
|
| */
|
| V8EXPORT Flags GetFlags() const;
|
|
|
| - static inline RegExp* Cast(v8::Value* obj);
|
| + V8_INLINE(static RegExp* Cast(v8::Value* obj));
|
|
|
| private:
|
| V8EXPORT static void CheckCast(v8::Value* obj);
|
| @@ -1992,13 +2001,13 @@ class RegExp : public Object {
|
| class External : public Value {
|
| public:
|
| /** Deprecated, use New instead. */
|
| - V8_DEPRECATED(static inline Local<Value> Wrap(void* value));
|
| + V8_DEPRECATED(V8_INLINE(static Local<Value> Wrap(void* value)));
|
|
|
| /** Deprecated, use a combination of Cast and Value instead. */
|
| - V8_DEPRECATED(static inline void* Unwrap(Handle<Value> obj));
|
| + V8_DEPRECATED(V8_INLINE(static void* Unwrap(Handle<Value> obj)));
|
|
|
| V8EXPORT static Local<External> New(void* value);
|
| - static inline External* Cast(Value* obj);
|
| + V8_INLINE(static External* Cast(Value* obj));
|
| V8EXPORT void* Value() const;
|
| private:
|
| V8EXPORT static void CheckCast(v8::Value* obj);
|
| @@ -2016,7 +2025,7 @@ class V8EXPORT Template : public Data {
|
| /** Adds a property to each instance created by this template.*/
|
| void Set(Handle<String> name, Handle<Data> value,
|
| PropertyAttribute attributes = None);
|
| - inline void Set(const char* name, Handle<Data> value);
|
| + V8_INLINE(void Set(const char* name, Handle<Data> value));
|
| private:
|
| Template();
|
|
|
| @@ -2033,14 +2042,14 @@ class V8EXPORT Template : public Data {
|
| */
|
| class Arguments {
|
| public:
|
| - inline int Length() const;
|
| - inline Local<Value> operator[](int i) const;
|
| - inline Local<Function> Callee() const;
|
| - inline Local<Object> This() const;
|
| - inline Local<Object> Holder() const;
|
| - inline bool IsConstructCall() const;
|
| - inline Local<Value> Data() const;
|
| - inline Isolate* GetIsolate() const;
|
| + V8_INLINE(int Length() const);
|
| + V8_INLINE(Local<Value> operator[](int i) const);
|
| + V8_INLINE(Local<Function> Callee() const);
|
| + V8_INLINE(Local<Object> This() const);
|
| + V8_INLINE(Local<Object> Holder() const);
|
| + V8_INLINE(bool IsConstructCall() const);
|
| + V8_INLINE(Local<Value> Data() const);
|
| + V8_INLINE(Isolate* GetIsolate() const);
|
|
|
| private:
|
| static const int kIsolateIndex = 0;
|
| @@ -2049,10 +2058,10 @@ class Arguments {
|
| static const int kHolderIndex = -3;
|
|
|
| friend class ImplementationUtilities;
|
| - inline Arguments(internal::Object** implicit_args,
|
| + V8_INLINE(Arguments(internal::Object** implicit_args,
|
| internal::Object** values,
|
| int length,
|
| - bool is_construct_call);
|
| + bool is_construct_call));
|
| internal::Object** implicit_args_;
|
| internal::Object** values_;
|
| int length_;
|
| @@ -2066,12 +2075,12 @@ class Arguments {
|
| */
|
| class V8EXPORT AccessorInfo {
|
| public:
|
| - inline AccessorInfo(internal::Object** args)
|
| + V8_INLINE(AccessorInfo(internal::Object** args))
|
| : args_(args) { }
|
| - inline Isolate* GetIsolate() const;
|
| - inline Local<Value> Data() const;
|
| - inline Local<Object> This() const;
|
| - inline Local<Object> Holder() const;
|
| + V8_INLINE(Isolate* GetIsolate() const);
|
| + V8_INLINE(Local<Value> Data() const);
|
| + V8_INLINE(Local<Object> This() const);
|
| + V8_INLINE(Local<Object> Holder() const);
|
|
|
| private:
|
| internal::Object** args_;
|
| @@ -2636,7 +2645,7 @@ void V8EXPORT RegisterExtension(Extension* extension);
|
| */
|
| class V8EXPORT DeclareExtension {
|
| public:
|
| - inline DeclareExtension(Extension* extension) {
|
| + V8_INLINE(DeclareExtension(Extension* extension)) {
|
| RegisterExtension(extension);
|
| }
|
| };
|
| @@ -2650,10 +2659,10 @@ Handle<Primitive> V8EXPORT Null();
|
| Handle<Boolean> V8EXPORT True();
|
| Handle<Boolean> V8EXPORT False();
|
|
|
| -inline Handle<Primitive> Undefined(Isolate* isolate);
|
| -inline Handle<Primitive> Null(Isolate* isolate);
|
| -inline Handle<Boolean> True(Isolate* isolate);
|
| -inline Handle<Boolean> False(Isolate* isolate);
|
| +V8_INLINE(Handle<Primitive> Undefined(Isolate* isolate));
|
| +V8_INLINE(Handle<Primitive> Null(Isolate* isolate));
|
| +V8_INLINE(Handle<Boolean> True(Isolate* isolate));
|
| +V8_INLINE(Handle<Boolean> False(Isolate* isolate));
|
|
|
|
|
| /**
|
| @@ -2910,13 +2919,13 @@ class V8EXPORT Isolate {
|
| /**
|
| * Associate embedder-specific data with the isolate
|
| */
|
| - inline void SetData(void* data);
|
| + V8_INLINE(void SetData(void* data));
|
|
|
| /**
|
| * Retrieve embedder-specific data from the isolate.
|
| * Returns NULL if SetData has never been called.
|
| */
|
| - inline void* GetData();
|
| + V8_INLINE(void* GetData());
|
|
|
| private:
|
| Isolate();
|
| @@ -3801,20 +3810,20 @@ class V8EXPORT Context {
|
| * Gets embedder data with index 0. Deprecated, use GetEmbedderData with index
|
| * 0 instead.
|
| */
|
| - V8_DEPRECATED(inline Local<Value> GetData());
|
| + V8_DEPRECATED(V8_INLINE(Local<Value> GetData()));
|
|
|
| /**
|
| * Sets embedder data with index 0. Deprecated, use SetEmbedderData with index
|
| * 0 instead.
|
| */
|
| - V8_DEPRECATED(inline void SetData(Handle<Value> value));
|
| + V8_DEPRECATED(V8_INLINE(void SetData(Handle<Value> value)));
|
|
|
| /**
|
| * Gets the embedder data with the given index, which must have been set by a
|
| * previous call to SetEmbedderData with the same index. Note that index 0
|
| * currently has a special meaning for Chrome's debugger.
|
| */
|
| - inline Local<Value> GetEmbedderData(int index);
|
| + V8_INLINE(Local<Value> GetEmbedderData(int index));
|
|
|
| /**
|
| * Sets the embedder data with the given index, growing the data as
|
| @@ -3829,7 +3838,7 @@ class V8EXPORT Context {
|
| * SetAlignedPointerInEmbedderData with the same index. Note that index 0
|
| * currently has a special meaning for Chrome's debugger.
|
| */
|
| - inline void* GetAlignedPointerFromEmbedderData(int index);
|
| + V8_INLINE(void* GetAlignedPointerFromEmbedderData(int index));
|
|
|
| /**
|
| * Sets a 2-byte-aligned native pointer in the embedder data with the given
|
| @@ -3872,10 +3881,10 @@ class V8EXPORT Context {
|
| */
|
| class Scope {
|
| public:
|
| - explicit inline Scope(Handle<Context> context) : context_(context) {
|
| + explicit V8_INLINE(Scope(Handle<Context> context)) : context_(context) {
|
| context_->Enter();
|
| }
|
| - inline ~Scope() { context_->Exit(); }
|
| + V8_INLINE(~Scope()) { context_->Exit(); }
|
| private:
|
| Handle<Context> context_;
|
| };
|
| @@ -4116,7 +4125,7 @@ template <size_t ptr_size> struct SmiTagging;
|
| template <> struct SmiTagging<4> {
|
| static const int kSmiShiftSize = 0;
|
| static const int kSmiValueSize = 31;
|
| - static inline int SmiToInt(internal::Object* value) {
|
| + V8_INLINE(static int SmiToInt(internal::Object* value)) {
|
| int shift_bits = kSmiTagSize + kSmiShiftSize;
|
| // Throw away top 32 bits and shift down (requires >> to be sign extending).
|
| return static_cast<int>(reinterpret_cast<intptr_t>(value)) >> shift_bits;
|
| @@ -4127,7 +4136,7 @@ template <> struct SmiTagging<4> {
|
| template <> struct SmiTagging<8> {
|
| static const int kSmiShiftSize = 31;
|
| static const int kSmiValueSize = 32;
|
| - static inline int SmiToInt(internal::Object* value) {
|
| + V8_INLINE(static int SmiToInt(internal::Object* value)) {
|
| int shift_bits = kSmiTagSize + kSmiShiftSize;
|
| // Shift down and throw away top 32 bits.
|
| return static_cast<int>(reinterpret_cast<intptr_t>(value) >> shift_bits);
|
| @@ -4179,61 +4188,62 @@ class Internals {
|
| static const int kUndefinedOddballKind = 5;
|
| static const int kNullOddballKind = 3;
|
|
|
| - static inline bool HasHeapObjectTag(internal::Object* value) {
|
| + V8_INLINE(static bool HasHeapObjectTag(internal::Object* value)) {
|
| return ((reinterpret_cast<intptr_t>(value) & kHeapObjectTagMask) ==
|
| kHeapObjectTag);
|
| }
|
|
|
| - static inline int SmiValue(internal::Object* value) {
|
| + V8_INLINE(static int SmiValue(internal::Object* value)) {
|
| return PlatformSmiTagging::SmiToInt(value);
|
| }
|
|
|
| - static inline int GetInstanceType(internal::Object* obj) {
|
| + V8_INLINE(static int GetInstanceType(internal::Object* obj)) {
|
| typedef internal::Object O;
|
| O* map = ReadField<O*>(obj, kHeapObjectMapOffset);
|
| return ReadField<uint8_t>(map, kMapInstanceTypeOffset);
|
| }
|
|
|
| - static inline int GetOddballKind(internal::Object* obj) {
|
| + V8_INLINE(static int GetOddballKind(internal::Object* obj)) {
|
| typedef internal::Object O;
|
| return SmiValue(ReadField<O*>(obj, kOddballKindOffset));
|
| }
|
|
|
| - static inline bool IsExternalTwoByteString(int instance_type) {
|
| + V8_INLINE(static bool IsExternalTwoByteString(int instance_type)) {
|
| int representation = (instance_type & kFullStringRepresentationMask);
|
| return representation == kExternalTwoByteRepresentationTag;
|
| }
|
|
|
| - static inline bool IsInitialized(v8::Isolate* isolate) {
|
| + V8_INLINE(static bool IsInitialized(v8::Isolate* isolate)) {
|
| uint8_t* addr = reinterpret_cast<uint8_t*>(isolate) + kIsolateStateOffset;
|
| return *reinterpret_cast<int*>(addr) == 1;
|
| }
|
|
|
| - static inline void SetEmbedderData(v8::Isolate* isolate, void* data) {
|
| + V8_INLINE(static void SetEmbedderData(v8::Isolate* isolate, void* data)) {
|
| uint8_t* addr = reinterpret_cast<uint8_t*>(isolate) +
|
| kIsolateEmbedderDataOffset;
|
| *reinterpret_cast<void**>(addr) = data;
|
| }
|
|
|
| - static inline void* GetEmbedderData(v8::Isolate* isolate) {
|
| + V8_INLINE(static void* GetEmbedderData(v8::Isolate* isolate)) {
|
| uint8_t* addr = reinterpret_cast<uint8_t*>(isolate) +
|
| kIsolateEmbedderDataOffset;
|
| return *reinterpret_cast<void**>(addr);
|
| }
|
|
|
| - static inline internal::Object** GetRoot(v8::Isolate* isolate, int index) {
|
| + V8_INLINE(static internal::Object** GetRoot(v8::Isolate* isolate,
|
| + int index)) {
|
| uint8_t* addr = reinterpret_cast<uint8_t*>(isolate) + kIsolateRootsOffset;
|
| return reinterpret_cast<internal::Object**>(addr + index * kApiPointerSize);
|
| }
|
|
|
| template <typename T>
|
| - static inline T ReadField(Object* ptr, int offset) {
|
| + V8_INLINE(static T ReadField(Object* ptr, int offset)) {
|
| uint8_t* addr = reinterpret_cast<uint8_t*>(ptr) + offset - kHeapObjectTag;
|
| return *reinterpret_cast<T*>(addr);
|
| }
|
|
|
| template <typename T>
|
| - static inline T ReadEmbedderData(Context* context, int index) {
|
| + V8_INLINE(static T ReadEmbedderData(Context* context, int index)) {
|
| typedef internal::Object O;
|
| typedef internal::Internals I;
|
| O* ctx = *reinterpret_cast<O**>(context);
|
| @@ -4245,13 +4255,13 @@ class Internals {
|
| return I::ReadField<T>(embedder_data, value_offset);
|
| }
|
|
|
| - static inline bool CanCastToHeapObject(void* o) { return false; }
|
| - static inline bool CanCastToHeapObject(Context* o) { return true; }
|
| - static inline bool CanCastToHeapObject(String* o) { return true; }
|
| - static inline bool CanCastToHeapObject(Object* o) { return true; }
|
| - static inline bool CanCastToHeapObject(Message* o) { return true; }
|
| - static inline bool CanCastToHeapObject(StackTrace* o) { return true; }
|
| - static inline bool CanCastToHeapObject(StackFrame* o) { return true; }
|
| + V8_INLINE(static bool CanCastToHeapObject(void* o)) { return false; }
|
| + V8_INLINE(static bool CanCastToHeapObject(Context* o)) { return true; }
|
| + V8_INLINE(static bool CanCastToHeapObject(String* o)) { return true; }
|
| + V8_INLINE(static bool CanCastToHeapObject(Object* o)) { return true; }
|
| + V8_INLINE(static bool CanCastToHeapObject(Message* o)) { return true; }
|
| + V8_INLINE(static bool CanCastToHeapObject(StackTrace* o)) { return true; }
|
| + V8_INLINE(static bool CanCastToHeapObject(StackFrame* o)) { return true; }
|
| };
|
|
|
| } // namespace internal
|
|
|