Index: src/macros.py |
diff --git a/src/macros.py b/src/macros.py |
index 52e87fcb13e9189f67f029b4e0ef17d6f7bb56fc..92ed437b0f6cbb44748e3649ce2dc41ac7b9c026 100644 |
--- a/src/macros.py |
+++ b/src/macros.py |
@@ -116,6 +116,7 @@ macro IS_ERROR(arg) = (%_ClassOf(arg) === 'Error'); |
macro IS_SCRIPT(arg) = (%_ClassOf(arg) === 'Script'); |
macro IS_ARGUMENTS(arg) = (%_ClassOf(arg) === 'Arguments'); |
macro IS_GLOBAL(arg) = (%_ClassOf(arg) === 'global'); |
+macro IS_ARRAYBUFFER(arg) = (%_ClassOf(arg) === '__ArrayBuffer'); |
macro IS_UNDETECTABLE(arg) = (%_IsUndetectableObject(arg)); |
macro FLOOR(arg) = $floor(arg); |
@@ -142,6 +143,7 @@ const kBoundArgumentsStartIndex = 2; |
macro NUMBER_IS_NAN(arg) = (!%_IsSmi(%IS_VAR(arg)) && !(arg == arg)); |
macro NUMBER_IS_FINITE(arg) = (%_IsSmi(%IS_VAR(arg)) || ((arg == arg) && (arg != 1/0) && (arg != -1/0))); |
macro TO_INTEGER(arg) = (%_IsSmi(%IS_VAR(arg)) ? arg : %NumberToInteger(ToNumber(arg))); |
+macro TO_POSITIVE_INTEGER(arg) = (%_IsSmi(%IS_VAR(arg)) ? (arg > 0 ? arg : 0) : %NumberToPositiveInteger(ToNumber(arg))); |
macro TO_INTEGER_MAP_MINUS_ZERO(arg) = (%_IsSmi(%IS_VAR(arg)) ? arg : %NumberToIntegerMapMinusZero(ToNumber(arg))); |
macro TO_INT32(arg) = (%_IsSmi(%IS_VAR(arg)) ? arg : (arg >> 0)); |
macro TO_UINT32(arg) = (arg >>> 0); |