Zoltan Herczeg
531f1e9687
Support let identifier in non-strict mode. ( #3427 )
...
This code adds a lot of checks and complexity to the code.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-12-10 14:32:08 +01:00
Szilagyi Adam
6cc9848afc
Implement Array.of method ( #3418 )
...
The algorithm is based on ECMA-262 v6, 22.1.2.3
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-12-10 14:30:59 +01:00
Zoltan Herczeg
b8bc013fc0
Keywords must not contain escape sequences. ( #3429 )
...
The ES5.1 standard is unclear about this rule.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-12-09 14:37:41 +01:00
Szilagyi Adam
dc458d29fb
Implement TypedArray.of method ( #3428 )
...
The algorithm is based on ECMA-262 v6, 22.2.2.2
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-12-09 14:19:40 +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
5ceffd209e
Fix post increase / decrease in the pre-scanner. ( #3430 )
...
Fixes #3397 .
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-12-06 13:53:34 +01:00
Szilagyi Adam
e70cfed57a
Add bounds check for copyWithin ( #3425 )
...
When inputs are out of bounds, we don't need to do anything in the operation.
Fixes #3408
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-12-06 13:33:41 +01:00
Robert Fancsik
99fa823bab
Fix cleanup on error in Array.from ( #3423 )
...
This patch fixes #3420 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-12-05 20:24:37 +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
Robert Fancsik
1829d2df55
Fix scanner_create_variables for empty destructuring patterns ( #3417 )
...
This patch fixes #3383 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-12-04 15:38:50 +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
59eb0787ba
Fix global error management in ecma_builtin_string_prototype_object_split ( #3414 )
...
This patch fixes #3395 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-12-04 14:13:43 +01:00
Robert Fancsik
e188407d3a
Support spreaded argument list in super property reference. ( #3415 )
...
This patch fixes #3394 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-12-04 14:13:00 +01:00
Robert Fancsik
99ae94b7c0
ecma_create_error_reference should clear the context's exception flag. ( #3413 )
...
This patch fixes #3410 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-12-04 14:12:06 +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
Szilagyi Adam
4443c88bf4
Fix index handling in ecma_op_advance_string_index ( #3406 )
...
Fixes #3389
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-12-04 11:14:25 +01:00
Robert Fancsik
bfc495f0cb
Implement Array.from routine ( #3402 )
...
The patch also revealed a minor issue about Map[Symbol.iterator] which have been fixed as well.
Co-authored-by: Daniella Barsony [email protected]
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-12-03 15:39:11 +01:00
Csaba Osztrogonác
d31871d7c9
heap-buffer-overflow in ecma_date_parse_year ( #3404 )
...
If ecma_date_parse_year got an invalid date string, it could overread the input string.
The problem was that we compared the original str_p to str_end_p instead of str_start_p.
Additionally I simplified the parser loop.
Fixes #3388 .
JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác [email protected]
2019-12-03 13:42:39 +01:00
Zoltan Herczeg
31988877b2
Support destructuring bindings as catch variables. ( #3399 )
...
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-12-03 12:52:20 +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
cc03c08c3d
Fix error handling in abrupt promise rejection ( #3391 )
...
This patch fixes #3390 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-12-03 09:34:38 +01:00
Szilagyi Adam
bdc608f2fb
Optimize array copyWithin for fast-array cases ( #3295 )
...
Performance results:
Intel: 0m9,7s -> 0m0,07s
ARM: over 10m -> 1m38s
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-12-02 16:12:17 +01:00
Zoltan Herczeg
132de45c0b
Remove CBC_EXT_CONTINUE_EXEC opcode. ( #3378 )
...
There is no need for a specific opcode after yield because
the return and throw commands can be redirected to fake byte code sequences.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-12-02 12:37:13 +01:00
Csaba Osztrogonác
51efba40b4
Remove dead code from ecma_date_parse_year() ( #3387 )
...
Code cleanup after #3314 . Reverting already parsed '-' sign
after parse fail is unnecessary, because in this case the whole
date parse is failed.
Additionally this dead code was incorrect too, because it didn't
modify the original pointer to the string, but a local variable.
JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác [email protected]
2019-11-29 20:54:57 +01:00
Robert Fancsik
0bc42a3fd5
Allow lexical function declaration in labeled statements. ( #3386 )
...
This patch fixes #3381 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-29 16:41:21 +01:00
Zoltan Herczeg
fee3a600af
Support assignment expressions in the pre-scanner. ( #3382 )
...
Fixes #3355 .
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-11-29 15:47:47 +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
Roland Takacs
c5ed46f5ac
Allow to create ArrayBuffer with empty external user data ( #3373 )
...
JerryScript-DCO-1.0-Signed-off-by: Roland Takacs [email protected]
2019-11-29 14:22:44 +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
8956eff2bd
Implement generator support for object initializers and classes. ( #3372 )
...
Large part of the code is also reworked.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-11-29 12:28:51 +01:00
Zoltan Herczeg
1b01bb034f
Change JERRY_ES2015_BUILTIN to JERRY_ES2015. ( #3377 )
...
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-11-29 11:17:15 +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
Robert Fancsik
14e95a4775
Fix the handling of unresolvable reference in VM_OC_TYPEOF_IDENT ( #3371 )
...
This patch fixes #3363 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-27 22:27:34 +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
Zoltan Herczeg
9725936848
Rework register reference in the vm. ( #3370 )
...
The aim is storing only ecma values on the vm stack.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2019-11-26 16:03:20 +01:00
Robert Fancsik
cbeecdb703
Fix this property reference on assignment patterns ( #3365 )
...
This patch fixes #3348 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-26 15:49:55 +01:00
Robert Fancsik
12211d8aaa
Fix the order of the function arguments for spread operation ( #3369 )
...
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-26 15:47:36 +01:00
Robert Fancsik
aeb8431aff
Fix the scanning of default array/object literals. ( #3367 )
...
Scanning should continue with `SCAN_MODE_POST_PRIMARY_EXPRESSION` in all cases.
Fixes #3360 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-26 13:07:28 +01:00
Robert Fancsik
f63e4c363b
Fix the assertion for VM_OC_EVAL. ( #3366 )
...
Eval flag can be set for spreaded argument function calls as well.
This patch fixes #3364 .
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-26 13:05:56 +01:00
Csaba Osztrogonác
4d422e17df
Make Date.parse() ECMA-262 conform ( #3314 )
...
Changes:
- Parse output of Date.prototype.toString() and Date.prototype.toUTCString()
- Date.prototype.toString() is ECMA-262 v9 conform now, only TZ part changed
(Before ECMA-262 v9 it was implementation-dependent.)
- Reused day_names_p and month_names_p arrays (and made them more efficient)
- Tests updated and new tests added
Fixes #2946 .
JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác [email protected]
2019-11-26 13:04:11 +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
Csaba Osztrogonác
2e8a8f5caa
Fix the es2015-subset profile build on Windows ( #3347 )
...
JERRY_ATTR_NOINLINE define is __declspec(noinline) which should be placed
at the beginning of the declaration and caused build fail because it was
placed after the * character. Details can be found here:
https://docs.microsoft.com/en-us/cpp/cpp/declspec?view=vs-2019
JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác [email protected]
2019-11-25 11:49:54 +01:00
Dániel Bátyai
37850bbfef
Fix refcount when returning with the argument in Object built-ins ( #3353 )
...
Fixes #3350 .
Fixes #3351 .
Fixes #3352 .
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-11-25 11:49:24 +01:00
Dániel Bátyai
b2d34724d4
Fix Reflect.getPrototypeOf for primitive arguments ( #3354 )
...
Fixes #3349 .
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2019-11-25 11:49:04 +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
Robert Fancsik
62356796fc
Support get/set as property name in object literal ( #3340 )
...
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2019-11-22 16:05:38 +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