diff options
author | Robert Fancsik <robert.fancsik@h-lab.eu> | 2021-02-17 16:07:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-17 16:07:54 +0100 |
commit | 488a0bf7e8ebe9cf62ce270f5132f707595c0bad (patch) | |
tree | b67e0f68db74e46c74fb03bf3a2d78aee05d6c50 /jerry-core/ecma/base/ecma-globals.h | |
parent | 67e7e89c8eb1a8da40bdd7390c0462c9617609e1 (diff) |
Improve date internals (#4593)
- Optimize year from time calculation
- Force arithmetic operations to int32_t/int64_t whenever possible
- Optimize number conversion in date parse
- Cache local TZA of the date object
- Fix a bug in Date.parse timezone parsing
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik robert.fancsik@h-lab.eu
Diffstat (limited to 'jerry-core/ecma/base/ecma-globals.h')
-rw-r--r-- | jerry-core/ecma/base/ecma-globals.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/jerry-core/ecma/base/ecma-globals.h b/jerry-core/ecma/base/ecma-globals.h index 68598662..ed4a0fab 100644 --- a/jerry-core/ecma/base/ecma-globals.h +++ b/jerry-core/ecma/base/ecma-globals.h @@ -945,6 +945,8 @@ typedef struct union { ecma_value_t value; /**< value of the object (e.g. boolean, number, string, etc.) */ + ecma_value_t date; /**< Date object [[DateValue]] internal property */ + int32_t tza; /**< TimeZone adjustment for date objects */ uint32_t length; /**< length related property (e.g. length of ArrayBuffer) */ ecma_value_t target; /**< [[ProxyTarget]] internal property */ ecma_value_t head; /**< points to the async generator task queue head item */ @@ -2313,6 +2315,28 @@ typedef struct } u; } ecma_mapped_arguments_t; +#if JERRY_ESNEXT + +/** + * Date object descriptor flags + */ +typedef enum +{ + ECMA_DATE_TZA_NONE = 0, + ECMA_DATE_TZA_SET = 1 << 0, +} ecma_date_object_flags_t; + +/** + * Definition of date object + */ +typedef struct +{ + ecma_extended_object_t header; /**< object header */ + ecma_number_t date_value; /**< [[DateValue]] internal property */ +} ecma_date_object_t; + +#endif /* JERRY_ESNEXT */ + /** * @} * @} |