Csaba Osztrogonác
3115d4dc16
Implement DataView.prototype.{set, get}Big{U}int64 methods ( #4315 )
...
Co-authored by Adam Szilagyi [email protected]
JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác [email protected]
2020-10-28 11:46:52 +01:00
Zoltan Herczeg
91e0cfc767
Implement ES11 globalThis ( #4306 )
...
Also improve symbol built-in instantiation.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-10-22 10:59:54 +02:00
Zoltan Herczeg
3c2a3f5dd9
Implement environment record for class constructors ( #4207 )
...
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-10-12 13:13:38 +02:00
Dániel Bátyai
74f66879c2
Improve support for built-in native handlers ( #4184 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-09-17 18:35:11 +02:00
Zoltan Herczeg
d9653823ca
Initial implementation of class fields ( #4191 )
...
Missing features:
- this binding in static fields are not supported
- static field evaluation order is wrong
- function names are not supported
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-09-17 15:22:55 +02:00
Robert Fancsik
1fd0cac8c9
Introduce new API function to obtain well-known symbols ( #4163 )
...
- jerry_get_well_known_symbol
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2020-08-31 10:03:05 +02:00
Szilagyi Adam
2aa5f136a4
Implement String.prototype.replaceAll ( #4088 )
...
The algorithm is based on ECMA-262 v12, 21.1.3.18
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-08-28 10:41:11 +02:00
Tóth Béla
09c8d28b2c
Implement TrimStart TrimEnd and aliases ( #4102 )
...
Based on: https://tc39.es/ecma262/#sec-string.prototype.trim
JerryScript-DCO-1.0-Signed-off-by: Bela Toth [email protected]
2020-08-25 13:10:36 +02:00
Szilagyi Adam
85981457e6
Implement BigInt64 and BigUint64 typedArrays ( #4151 )
...
Also implemented ToBigInt conversion method based on ECMA-262 v11, 7.1.13
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-08-24 18:03:12 +02:00
kisbg
cd34bfa4c3
Implement Array.flat and Array.flatMap ( #3925 )
...
JerryScript-DCO-1.0-Signed-off-by: bence gabor kis [email protected]
2020-08-12 16:51:04 +02:00
kisbg
43a82cddb9
Implement Object.prototype.fromEntries ( #4065 )
...
JerryScript-DCO-1.0-Signed-off-by: bence gabor kis [email protected]
2020-08-07 15:08:12 +02:00
Dániel Bátyai
25117ad56b
Fix whitespace ranges for ES.next profile ( #4110 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-08-06 14:26:41 +02:00
Szilagyi Adam
945b22976a
Implement Object.prototype.{__lookupGetter__, __lookupSetter__} ( #4039 )
...
__lookupGetter__ is based on ECMA-262 v11, B.2.2.4
__lookupSetter__ is based on ECMA-262 v11, B.2.2.5
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-08-04 16:41:05 +02:00
Dániel Bátyai
611c8827ba
Improve case conversion related fast paths ( #4083 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-07-31 16:25:32 +02:00
Szilagyi Adam
b4a4619a6c
Implement Object.prototype.{__defineGetter__, __defineSetter__} ( #4032 )
...
__defineGetter__ is based on ECMA-262 v11, B.2.2.2
__defineSetter__ is based on ECMA-262 v11, B.2.2.3
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-07-30 16:34:43 +02:00
Zoltan Herczeg
df2f7782f7
Implement BigInt primitve type and some of its operations ( #4062 )
...
Supported operations:
- parse BigInt (decimal, hexadecimal, binary)
- toString with any radix between 2 and 36
- arithmetic operations: negate, add, subtract, multiply, divide, modulo
- left and right shift
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-07-30 12:08:34 +02:00
Szilagyi Adam
ff36f3579d
Implement %TypedArray%.prototype.includes ( #4025 )
...
The algorithm is based on ECMA-262 v11, 22.2.3.13
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-07-27 18:09:39 +02:00
kisbg
d39a076b2e
Added RegExp dotAll flag ( #4000 )
...
JerryScript-DCO-1.0-Signed-off-by: bence gabor kis [email protected]
2020-07-24 13:42:57 +02:00
Dániel Bátyai
cf097ca16b
Fix values of properties that reference intrinsic function objects ( #4024 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-07-24 12:54:54 +02:00
Szilagyi Adam
54bfd2ba37
Implement Promise.prototype.onFinally ( #3987 )
...
The algorith is based on ECMA-262 v11, 25.6.5.3
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-07-24 12:54:16 +02:00
Tóth Béla
2f2a4e066c
Implement String.padStart and String.padEnd ( #3999 )
...
Based on: https://tc39.es/ecma262/#sec-string.prototype.padstart
JerryScript-DCO-1.0-Signed-off-by: Bela Toth [email protected]
2020-07-24 11:24:18 +02:00
Robert Fancsik
39cb67397d
Remove the usage of ecma_length_t ( #4009 )
...
Now the following conventions are applied:
- passing the number of arguments for a function call is always uint32_t
- string size/length/position related operation should use lit_utf8_size_t
- Extended objects internal fields must be uint32_t
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2020-07-20 16:36:27 +02:00
Dániel Bátyai
321215fdbb
Update RegExp unicode mode case folding to conform to the standard ( #4004 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-07-20 15:51:43 +02:00
Szilagyi Adam
33359ac506
Implement UnicodeEscape abstract method ( #3959 )
...
Also refactored ecma_builtin_json_quote to use the method above
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-07-20 13:51:06 +02:00
Szilagyi Adam
e8c5c46894
Implement Symbol.prototype.description ( #3995 )
...
The algorithm is based on ECMA-262 v11, 19.4.3.2
Also added a custom dispatcher for the Symbol prototype
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-07-20 13:47:25 +02:00
Dániel Bátyai
74781c28c2
Fix sticky flag handling in @@replace ( #4005 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-07-20 12:54:06 +02:00
Szilagyi Adam
604cfaced4
Implement Array.prototype.includes ( #3991 )
...
The algorithm is based on ECMA-262 v11, 22.1.3.13
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-07-15 19:21:24 +02:00
Robert Fancsik
37906baa25
Rework promise internal structures ( #3985 )
...
- Capabilities
- Promise all resolver
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2020-07-10 16:08:34 +02:00
Robert Fancsik
c1e90da0b4
Support Unicode supplementary planes ( #3928 )
...
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2020-07-06 14:21:13 +02:00
Zoltan Herczeg
80716cca90
Implement missing async function and async iterator prototypes. ( #3962 )
...
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-07-03 11:04:27 +02:00
Szilagyi Adam
cd1e067671
Update Promise.race and Promise.all to ES11 ( #3954 )
...
Changes based on ECMA-262 v11, 25.6.4.4 and 26.6.4.1 step 3
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-07-02 11:46:07 +02:00
Csaba Osztrogonác
122480aa61
JERRY_BUILTIN_xxx macros should depend on JERRY_ESNEXT ( #3920 )
...
JERRY_BUILTIN_xxx (ES2015+) features don't build without enabling
JERRY_ESNEXT macro, this invalid configuration shouldn't be allowed.
Additionally remove unnecessary JERRY_ESNEXT ifdef guards.
JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác [email protected]
2020-06-30 13:54:50 +02:00
Dániel Bátyai
2523323310
Simplify resource name handling ( #3929 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-06-26 12:10:14 +02:00
Zoltan Herczeg
f88489beef
Implement yield* operator ( #3923 )
...
Missing features:
- caching next() method (this also true for normal generators)
- automatic sync to async generator conversion
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-06-25 17:11:16 +02:00
Roland Takacs
ae17c1184c
Implement Object.getOwnPropertyDescriptors built-in method ( #3921 )
...
JerryScript-DCO-1.0-Signed-off-by: Roland Takacs [email protected]
2020-06-25 12:08:46 +02:00
Zoltan Herczeg
b2a6109430
Implement async generators ( #3916 )
...
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-06-22 13:54:18 +02:00
Szilagyi Adam
0f0041d720
Make the Set.prototype values, keys and [@@iterator] methods to be one intrinsic method ( #3777 )
...
After this patch these methods will be the same function objects
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-06-18 13:59:31 +02:00
Szilagyi Adam
16750e8171
Use stringbuilder in ecma_builtin_helper_object_to_string ( #3807 )
...
Also added steps 4-6 from ECMA-262 v6, 19.1.3.6
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-06-18 13:55:55 +02:00
Dániel Bátyai
fde0d556ac
Re-target for ES.Next ( #3901 )
...
A list of changes:
- 'es2015-subset' profile is deprecated, and an 'es.next' profile is added.
- The default profile is changed to 'es.next'
- Renamed the JERRY_ES2015 guard to JERRY_ESNEXT
- Renamed JERRY_ES2015_BUILTIN_* guards to JERRY_BUILTIN_*
- Moved es2015 specific tests to a new 'es.next' subdirectory
- Updated docs, targets, and test runners to reflect these changes
Resolves #3737 .
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-06-12 17:55:00 +02:00
Robert Fancsik
3b4c259281
Add support for builtin/builtin routine 'name' property ( #3810 )
...
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2020-05-29 14:28:52 +02:00
Robert Fancsik
104001df68
Implement function name support for script functions and classes ( #3745 )
...
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2020-05-28 12:33:21 +02:00
Zoltan Herczeg
562dcc8630
Fix Promise thenable. ( #3799 )
...
A single promise can be resolved any number of times due to
thenable functions, but each resolver pair can only be called once.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-05-28 10:48:44 +02:00
Dániel Bátyai
8f76a1f382
Rework RegExp engine and add support for proper unicode matching ( #3746 )
...
This change includes several bugfixes, general improvements, and support
for additional features.
- Added full support for web compatibility syntax defined in Annex B
- Implemented parsing and matching patterns in unicode mode
- Fixed capture results when iterating with nested capturing groups
- Significantly reduced regexp bytecode size
- Reduced stack usage during regexp execution
- Improved matching performance
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-05-26 15:28:54 +02:00
Zoltan Herczeg
1105b43c22
Optimize Promise data structures. ( #3768 )
...
This patch reworks several structures:
- Fulfill and reject reactions are combined into one collection. The values in this collection
are compressed: a capability followed by an optional fulfill and reject functions.
- Fulfill and reject reactions are directly stored, no need to allocate an object for them.
- The job queue directly stores its items, this saves a pointer to the value, and the
callback is replaced by an uint8 type.
- Promise status and already resolved is stored in extra_info.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-05-25 18:00:43 +02:00
Szilagyi Adam
4342c9ea6f
Implement Proxy object [[OwnPropertyKeys]] internal method ( #3639 )
...
The algorithm is based on ECMA-262 v6, 9.5.12
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-04-14 16:57:47 +02:00
Szilagyi Adam
901e57c7d0
Implement Proxy object [[Construct]] internal method ( #3657 )
...
The algorithm is based on ECMA-262 v6, 9.5.14
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-04-06 12:17:23 +02:00
Dániel Bátyai
48fa2ec01b
Fix the types of builtin prototype objects ( #3663 )
...
In ES2015 many builtin prototypes are no longer valid instances of their
respective classes. This change updates affected prototypes to be
regular objects as required.
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2020-04-06 12:00:58 +02:00
Szilagyi Adam
4240b740aa
Implement Object.prototype.__proto__ accessor property ( #3546 )
...
We are using the already existing Object.getPrototypeOf and
Object.setProtoypeOf methods
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-03-27 14:46:51 +01:00
Szilagyi Adam
94b8b4bb7b
Implement Proxy object [[HasProperty]] internal method ( #3642 )
...
The algorithm is based on ECMA-262 v6, 9.5.7
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-03-27 14:33:56 +01:00
Szilagyi Adam
6a022eb265
Implement Proxy object [[setPrototypeOf]] internal method ( #3631 )
...
The algorithm is based on ECMA-262 v6, 9.5.2
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-03-27 11:10:55 +01:00