diff options
author | Zoltan Herczeg <zherczeg.u-szeged@partner.samsung.com> | 2021-11-02 11:07:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 11:07:56 +0100 |
commit | 89e367bbfd940a4572edb3a3a46148e32f5c183f (patch) | |
tree | 7fe1b55f1ca1637f9368ac470bf6c9f36861f3c7 /jerry-core/ecma/base/ecma-globals.h | |
parent | 960b99766c2f6298122772030feb2d9009ac4669 (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.h | 13 |
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. |