aboutsummaryrefslogtreecommitdiff
path: root/jerry-core/ecma/base/ecma-globals.h
diff options
context:
space:
mode:
authorZoltan Herczeg <zherczeg.u-szeged@partner.samsung.com>2021-11-02 11:07:56 +0100
committerGitHub <noreply@github.com>2021-11-02 11:07:56 +0100
commit89e367bbfd940a4572edb3a3a46148e32f5c183f (patch)
tree7fe1b55f1ca1637f9368ac470bf6c9f36861f3c7 /jerry-core/ecma/base/ecma-globals.h
parent960b99766c2f6298122772030feb2d9009ac4669 (diff)
Optimize typed array access (#4806)
Use uint32 indexes instead of double indexes. JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
Diffstat (limited to 'jerry-core/ecma/base/ecma-globals.h')
-rw-r--r--jerry-core/ecma/base/ecma-globals.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/jerry-core/ecma/base/ecma-globals.h b/jerry-core/ecma/base/ecma-globals.h
index 7ce5a875..b4678a32 100644
--- a/jerry-core/ecma/base/ecma-globals.h
+++ b/jerry-core/ecma/base/ecma-globals.h
@@ -515,6 +515,19 @@ typedef enum
#define ECMA_PROPERTY_TYPE_NOT_FOUND_AND_STOP ECMA_PROPERTY_TYPE_DELETED
/**
+ * Type of property not found and an exception is thrown.
+ */
+#define ECMA_PROPERTY_TYPE_NOT_FOUND_AND_THROW \
+ (ECMA_PROPERTY_FLAG_LCACHED | (ECMA_DIRECT_STRING_SPECIAL << ECMA_PROPERTY_NAME_TYPE_SHIFT))
+
+/**
+ * Checks whether a property is not found.
+ */
+#define ECMA_PROPERTY_IS_FOUND(property) \
+ (((property) & (ECMA_PROPERTY_FLAG_DATA | (ECMA_DIRECT_STRING_SPECIAL << ECMA_PROPERTY_NAME_TYPE_SHIFT))) \
+ != (ECMA_DIRECT_STRING_SPECIAL << ECMA_PROPERTY_NAME_TYPE_SHIFT))
+
+/**
* Abstract property representation.
*
* A property is a type_and_flags byte and an ecma_value_t value pair.