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

Unified Diff: src/macros.py

Issue 1250733005: SIMD.js Add the other SIMD Phase 1 types. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 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: src/macros.py
diff --git a/src/macros.py b/src/macros.py
index 91b4132563911144361c1e9b41e995601113bdf3..52a3e948a5b2ecc14668d467cf60eb0571266b34 100644
--- a/src/macros.py
+++ b/src/macros.py
@@ -91,6 +91,12 @@ macro IS_NULL_OR_UNDEFINED(arg) = (arg == null);
macro IS_UNDEFINED(arg) = (arg === (void 0));
macro IS_NUMBER(arg) = (typeof(arg) === 'number');
macro IS_FLOAT32X4(arg) = (typeof(arg) === 'float32x4');
+macro IS_INT32X4(arg) = (typeof(arg) === 'int32x4');
+macro IS_BOOL32X4(arg) = (typeof(arg) === 'bool32x4');
+macro IS_INT16X8(arg) = (typeof(arg) === 'int16x8');
+macro IS_BOOL16X8(arg) = (typeof(arg) === 'bool16x8');
+macro IS_INT8X16(arg) = (typeof(arg) === 'int8x16');
+macro IS_BOOL8X16(arg) = (typeof(arg) === 'bool8x16');
macro IS_STRING(arg) = (typeof(arg) === 'string');
macro IS_BOOLEAN(arg) = (typeof(arg) === 'boolean');
macro IS_SYMBOL(arg) = (typeof(arg) === 'symbol');
@@ -105,6 +111,12 @@ macro IS_WEAKMAP(arg) = (%_ClassOf(arg) === 'WeakMap');
macro IS_WEAKSET(arg) = (%_ClassOf(arg) === 'WeakSet');
macro IS_NUMBER_WRAPPER(arg) = (%_ClassOf(arg) === 'Number');
macro IS_FLOAT32X4_WRAPPER(arg) = (%_ClassOf(arg) === 'Float32x4');
+macro IS_INT32X4_WRAPPER(arg) = (%_ClassOf(arg) === 'Int32x4');
+macro IS_BOOL32X4_WRAPPER(arg) = (%_ClassOf(arg) === 'Bool32x4');
+macro IS_INT16X8_WRAPPER(arg) = (%_ClassOf(arg) === 'Int16x8');
+macro IS_BOOL16X8_WRAPPER(arg) = (%_ClassOf(arg) === 'Bool16x8');
+macro IS_INT8X16_WRAPPER(arg) = (%_ClassOf(arg) === 'Int8x16');
+macro IS_BOOL8X16_WRAPPER(arg) = (%_ClassOf(arg) === 'Bool8x16');
macro IS_STRING_WRAPPER(arg) = (%_ClassOf(arg) === 'String');
macro IS_SYMBOL_WRAPPER(arg) = (%_ClassOf(arg) === 'Symbol');
macro IS_BOOLEAN_WRAPPER(arg) = (%_ClassOf(arg) === 'Boolean');
@@ -121,6 +133,9 @@ macro IS_MAP_ITERATOR(arg) = (%_ClassOf(arg) === 'Map Iterator');
macro IS_UNDETECTABLE(arg) = (%_IsUndetectableObject(arg));
macro IS_STRONG(arg) = (%IsStrong(arg));
+macro IS_SIMD_VALUE(arg) = (IS_FLOAT32X4(arg) || IS_INT32X4(arg) || IS_BOOL32X4(arg) || IS_INT16X8(arg) || IS_BOOL16X8(arg) || IS_INT8X16(arg) || IS_BOOL8X16(arg));
rossberg 2015/07/29 14:37:55 Hm, this seems rather expensive. It is used on som
bbudge 2015/07/30 13:46:58 I don't like those perf bugs, so I'll use your sug
rossberg 2015/07/30 15:12:24 Ah, note the difference between assembly intrinsic
+macro IS_SIMD_VALUE_WRAPPER(arg) = (IS_FLOAT32X4_WRAPPER(arg) || IS_INT32X4_WRAPPER(arg) || IS_BOOL32X4_WRAPPER(arg) || IS_INT16X8_WRAPPER(arg) || IS_BOOL16X8_WRAPPER(arg) || IS_INT8X16_WRAPPER(arg) || IS_BOOL8X16_WRAPPER(arg));
rossberg 2015/07/29 14:37:55 Is this actually used?
bbudge 2015/07/30 13:46:58 Nope. Deleted.
+
# Macro for ECMAScript 5 queries of the type:
# "Type(O) is object."
# This is the same as being either a function or an object in V8 terminology

Powered by Google App Engine
This is Rietveld 408576698