Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(687)

Unified Diff: include/v8.h

Issue 1219943002: Expose SIMD.Float32x4 type to Javascript. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Don't install SIMD object without the simd flag. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
« no previous file with comments | « BUILD.gn ('k') | src/arm/code-stubs-arm.cc » ('j') | src/arm64/full-codegen-arm64.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698