Daniel Balla
e0d8c4ca10
Add @@species accessor to Array and Promise builtin objects ( #3440 )
...
Fully support @@species and SpeciesConstructor in Array and Promise builtins.
Also added partial support to TypedArrays, but a rework is needed in %TypedArray%.prototype functions' typedarray constructor, which is out of this patch's scope.
JerryScript-DCO-1.0-Signed-off-by: Daniel Balla [email protected]
2019-12-16 11:44:15 +01:00
Zoltan Herczeg
40d930d62c
Implement \u{hex} support. ( #3447 )
...
A large rework because surrogate pairs must be combined.
Currently only the 0x10C80..0x10CF2 is accepted as valid identifier character from the non-basic plane.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-12-16 11:26:02 +01:00
Dániel Bátyai
d3b8bed2c1
Implement and add support for RegExp.prototype[@@search] ( #3436 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-12-12 15:59:28 +01:00
Robert Fancsik
9b33fc8cbd
Revise the usage of the global error value/exception flag ( #3426 )
...
This patch also fixes #3422 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-12-10 14:42:10 +01:00
Szilagyi Adam
7c0b1ca88a
Update String.prototype.match to ECMA-262 v6 ( #3375 )
...
The algorithm is based on ECMA-262 v6, 21.1.3.11
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-12-10 14:40:41 +01:00
Daniella Barsony
89db9253c8
Refactor code to use ToInteger ( #3224 )
...
Fixes #3325
Fixes #3237
JerryScript-DCO-1.0-Signed-off-by: Daniella Barsony [email protected]
2019-12-09 12:07:25 +01:00
Zoltan Herczeg
1a4972fc3f
Implement yield* operation in generator functions. ( #3407 )
...
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-12-05 13:50:53 +01:00
Roland Takacs
67d677a1bc
Implement ArrayBuffer.isView function ( #3403 )
...
JerryScript-DCO-1.0-Signed-off-by: Roland Takacs [email protected]
2019-12-04 15:36:42 +01:00
Robert Fancsik
041df1ec3c
Fix the global error management on promise operations ( #3412 )
...
This patch fixes #3409 and fixes #3411 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-12-04 12:51:52 +01:00
Dániel Bátyai
9634ca556e
Fix leaking char buffer in RegExp.prototype[@@replace] ( #3400 )
...
Fixes #3392 .
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-12-03 09:34:53 +01:00
Robert Fancsik
42b4af5921
Fix exception handling in ecma_op_create_promise_object ( #3385 )
...
This patch fixes #3376 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-29 15:45:41 +01:00
Dániel Bátyai
35c0a6e299
Implement RegExp unicode and sticky flags ( #3379 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-11-29 14:08:30 +01:00
Zoltan Herczeg
f41afeb89f
Change JERRY_ES2015_BUILTIN_ITERATOR macro to JERRY_ES2015. ( #3374 )
...
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-11-28 14:44:55 +01:00
Zoltan Herczeg
110f75c99d
Implement the core of the generator functions. ( #3368 )
...
Some things are missing:
- yield* support
- generator definition in object literal
- the hidden GeneratorFunction
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-11-28 11:54:27 +01:00
Szilagyi Adam
b7508c636c
Fix value release in ecma_op_is_concat_spreadable ( #3346 )
...
Fixes #3356
Fixes #3361
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-11-27 11:06:51 +01:00
Szilagyi Adam
0c6b306429
Implement Regexp.prototype[@@match] method ( #3345 )
...
The algorithm is based on ECMA-262 v6, 21.2.5.6
The following helper methods are also implemented:
- RegExpExec: ECMA-262 v6, 21.2.5.2.1
- AdvanceStringIndex: ECMA-262 v6, 21.2.5.2.3
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-11-26 16:05:48 +01:00
Dániel Bátyai
16d0e83b64
Fix adding fast arrays as keys to a weak container ( #3362 )
...
Fixes #3359 .
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-11-26 08:21:33 +01:00
Dániel Bátyai
1c6f334f62
Fix class name check for WeakMap and WeakSet prototype ( #3358 )
...
Fixes #3357 .
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-11-25 11:48:33 +01:00
Dániel Bátyai
279d4d4119
Add handling for RegExp unicode and sticky flags ( #3341 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-11-22 14:04:03 +01:00
Dániel Bátyai
fc2218e828
Fix weakrefs when adding a key to the same container multiple times ( #3343 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-11-22 13:55:36 +01:00
Zoltan Herczeg
d006f068f4
Improve the performance of the interpreter. ( #3344 )
...
Registers are stored immediately after the frame pointer and an argument is dropped from vm_run.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-11-22 12:47:11 +01:00
Robert Fancsik
2ddf134cef
Add iterator close support for array destructuring ( #3337 )
...
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-21 12:55:52 +01:00
Szilagyi Adam
a0a71da025
Implement toPrimitive method and Date.prototype.toPrimitve ( #3287 )
...
The algorithms are based on ECMA-262 v6 7.1.1 and 20.3.4.45
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-11-20 11:51:02 +01:00
Szilagyi Adam
c31452c138
Implement IsRegExp operation ( #3321 )
...
Algorithm is based on ECMA-262 v6, 22.1.3.1.1
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-11-20 11:50:26 +01:00
Dániel Bátyai
bd0cb33172
Implement WeakMap and WeakSet ( #3328 )
...
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-11-19 19:27:31 +01:00
Robert Fancsik
830011c033
Eliminate the allocation of spread object ( #3333 )
...
ECMA_VALUE_SPREAD_ELEMENT can be used to represent that the next argument needs to be spreaded, therefore no allocation is needed.
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-19 18:16:43 +01:00
Robert Fancsik
134f0c0d0f
Fix fast array array hole initialization ( #3332 )
...
This patch eliminates the valgrind error: "Conditional jump or move depends on uninitialised value(s)".
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-19 14:10:55 +01:00
Szilagyi Adam
a7d129c8b2
Implement Symbol.isConcatSpreadable ( #3307 )
...
Algorithm is based on ECMA-262 v6, 22.1.3.1.1
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-11-19 13:55:49 +01:00
Zoltan Herczeg
8bdb32cc88
Implement function destructuring argument support. ( #3322 )
...
Furthermore create unmapped arguments objects if a function has a non-simple argument.
A few destructuring pattern issues were fixed as well.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-11-18 14:15:36 +01:00
Robert Fancsik
204de302aa
Fix ecma_op_get_value_lex_env_base for let/const declarations ( #3311 )
...
This patch fixes #3306 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-14 13:52:12 +01:00
Dániel Bátyai
923fd128b5
Refactor String.prototype.replace ( #3284 )
...
This change brings the replace operation up to date with ES6 by
implementing support for the @@replace well-known symbol, while
also improving performance and memory usage.
Also fixes #3070 .
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-11-08 12:15:28 +01:00
Robert Fancsik
f48f926a39
[[HasOwnProperty]] should update the lex-env binding of argument objects ( #3283 )
...
This patch fixes #3271 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-07 11:24:07 +01:00
Robert Fancsik
525c35f148
Introduce jerry_get_resource_name API function ( #3236 )
...
This new API function adds possibility to query the resource name of the currently executed script (including modules) or a function object.
This patch closes #2170 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-06 15:05:49 +01:00
Robert Fancsik
06135da642
Do not create temporary object during [[Get]] operation with primitive base ( #3278 )
...
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-05 19:37:20 +01:00
Ádám Kallai
f2a67876eb
Fix the same Symbol value detection in SameValue function ( #3273 )
...
'is_types_equal' checks was missing for Symbol values.
JerryScript-DCO-1.0-Signed-off-by: Adam Kallai [email protected]
2019-11-04 16:53:38 +01:00
Robert Fancsik
6f83da4c0b
Implement the spread operator for array initialization ( #3265 )
...
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-04 16:36:58 +01:00
Robert Fancsik
fc3cfc4fdc
Arrow functions "prototype" property should not be lazy listed ( #3268 )
...
This patch fixes #3267 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-04 12:12:01 +01:00
Zoltan Herczeg
6a342fcdd6
Implement throwing ReferenceErrors for let/const variables. ( #3264 )
...
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-10-31 11:09:02 +01:00
Robert Fancsik
1c34539997
Rework array hole calculation for fast access mode arrays ( #3248 )
...
This patch gives possibility to Array.prototype builtin routine optimizations.
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-10-29 10:10:25 +01:00
Robert Fancsik
42ab062441
Introduce ecma_op_object_get_length and ecma_op_object_get_by_index operations ( #3245 )
...
These two functions helps to reduce code duplication, also invokes the elimination of several ECMA_TRY_CATCH macros.
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-10-29 10:07:20 +01:00
Péter Gál
eebbed143d
Introduce new Promise API methods ( #3186 )
...
The new API methods make it possible to get a Promise object's
result and it's state.
JerryScript-DCO-1.0-Signed-off-by: Peter Gal [email protected]
2019-10-28 14:07:37 +01:00
Robert Fancsik
351b88184c
Arrow functions prototype property should not be lazy instantiated ( #3251 )
...
This patch fixes #3250
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-10-28 10:33:28 +01:00
Szilagyi Adam
4b352758c1
Refactor ecma_op_to_string ( #3171 )
...
Similar to the ecma_op_to_object rework, in this new method we
return directly with the pointer to the ecma string, and we don't
wrap the result into an ecma_value_t
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-25 15:58:47 +02:00
Robert Fancsik
b7aa21ebc7
Fix lazy instantiation of external functions 'prototype' property ( #3246 )
...
This patch resolves #2302 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-10-25 15:56:37 +02:00
Robert Fancsik
100a012931
Fix integer overflow during byteLength calculation for %TypedArray%s ( #3244 )
...
This patch fixes #3243 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-10-25 12:36:23 +02:00
Daniel Vince
9e83032ada
Fix error type when creating TypedArray with detached ArrayBuffer ( #3230 )
...
Based on the ES2015 standard TypeError should be returned
when a TypedArray is created for a detached ArrayBuffer.
JerryScript-DCO-1.0-Signed-off-by: Dániel Vince [email protected]
2019-10-24 15:04:38 +02:00
Robert Fancsik
3b73562fa5
Revise ES2015 feature guards ( #3240 )
...
All the basic language element guards are merged into JERRY_ES2015 macro guard.
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-10-24 14:44:51 +02:00
Daniella Barsony
7b589d1381
Refactor code to use ToLength ( #3210 )
...
JerryScript-DCO-1.0-Signed-off-by: Daniella Barsony [email protected]
2019-10-21 14:08:13 +02:00
Virag Orkenyi
3fb6f15730
Implement Reflect object ( #3036 )
...
JerryScript-DCO-1.0-Signed-off-by: Virag Orkenyi [email protected]
2019-10-21 13:46:29 +02:00
legendecas
2e86bdae6f
Add ArrayBuffer detach operations ( #3208 )
...
JerryScript-DCO-1.0-Signed-off-by: legendecas [email protected]
2019-10-16 16:41:27 +02:00