Index: include/v8.h |
diff --git a/include/v8.h b/include/v8.h |
index 6e1db3a581f5c7ce340e3a9f6d9b4a45f06c6cff..bc2248d8f2b70a58791b724feba347cc9dcbdff6 100644 |
--- a/include/v8.h |
+++ b/include/v8.h |
@@ -74,6 +74,7 @@ class CpuProfiler; |
class Data; |
class Date; |
class External; |
+class Float32x4Object; |
class Function; |
class FunctionTemplate; |
class HeapProfiler; |
@@ -1797,6 +1798,12 @@ class V8_EXPORT Value : public Data { |
bool IsSymbolObject() const; |
/** |
+ * Returns true if this value is a Float32x4 object. |
+ * This is an experimental feature. |
+ */ |
+ bool IsFloat32x4Object() const; |
+ |
+ /** |
* Returns true if this value is a NativeError. |
*/ |
bool IsNativeError() const; |
@@ -3841,6 +3848,23 @@ class V8_EXPORT SharedArrayBuffer : public Object { |
/** |
+ * An instance of Float32x4 constructor. |
+ * (ES7 draft http://littledan.github.io/simd.html). |
+ * This API is experimental and may change significantly. |
+ */ |
+class V8_EXPORT Float32x4 : public Value { |
+ public: |
+ static Local<Float32x4> New(Isolate* isolate, float w, float x, float y, |
+ float z); |
+ V8_INLINE static Float32x4* Cast(Value* obj); |
+ |
+ private: |
+ Float32x4(); |
+ static void CheckCast(Value* obj); |
+}; |
+ |
+ |
+/** |
* An instance of the built-in Date constructor (ECMA-262, 15.9). |
*/ |
class V8_EXPORT Date : public Object { |
@@ -3944,6 +3968,24 @@ class V8_EXPORT SymbolObject : public Object { |
/** |
+ * A Float32x4 object. |
+ * (ES7 draft http://littledan.github.io/simd.html). |
+ * This is an experimental feature. Use at your own risk. |
+ */ |
+class V8_EXPORT Float32x4Object : public Object { |
+ public: |
+ static Local<Value> New(Isolate* isolate, Local<Float32x4> value); |
+ |
+ Local<Float32x4> ValueOf() const; |
+ |
+ V8_INLINE static Float32x4Object* Cast(v8::Value* obj); |
+ |
+ private: |
+ static void CheckCast(v8::Value* obj); |
+}; |
+ |
+ |
+/** |
* An instance of the built-in RegExp constructor (ECMA-262, 15.10). |
*/ |
class V8_EXPORT RegExp : public Object { |
@@ -6939,7 +6981,7 @@ class Internals { |
static const int kJSObjectHeaderSize = 3 * kApiPointerSize; |
static const int kFixedArrayHeaderSize = 2 * kApiPointerSize; |
static const int kContextHeaderSize = 2 * kApiPointerSize; |
- static const int kContextEmbedderDataIndex = 81; |
+ static const int kContextEmbedderDataIndex = 83; |
static const int kFullStringRepresentationMask = 0x07; |
static const int kStringEncodingMask = 0x4; |
static const int kExternalTwoByteRepresentationTag = 0x02; |
@@ -7856,6 +7898,14 @@ SymbolObject* SymbolObject::Cast(v8::Value* value) { |
} |
+Float32x4Object* Float32x4Object::Cast(v8::Value* value) { |
+#ifdef V8_ENABLE_CHECKS |
+ CheckCast(value); |
+#endif |
+ return static_cast<Float32x4Object*>(value); |
+} |
+ |
+ |
NumberObject* NumberObject::Cast(v8::Value* value) { |
#ifdef V8_ENABLE_CHECKS |
CheckCast(value); |