Commit Graph
1753 Commits
Author SHA1 Message Date
Zoltan Herczeg ba06d492a3 Remove full stop after error messages (#4524)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-28 12:10:13 +01:00
Zoltan Herczeg b5bf97c657 Stop after the first matching property in the prototype chain (#4543)
If multiple properties with the same name is in the
prototype chain, only the first one should be inspected

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-26 14:57:10 +01:00
kisbg ff1a99b999 Date.prototype.setTime should return with clipped date (#4520)
JerryScript-DCO-1.0-Signed-off-by: bence gabor kis [email protected]
2021-01-26 11:00:45 +01:00
Virag Orkenyi b8a0ffd913 Fix the number_tobigint conversion problem (#4519)
JerryScript-DCO-1.0-Signed-off-by: Orkenyi Virag [email protected]
2021-01-25 11:54:55 +01:00
Yonggang Luo 8be6aec50d Fix Clang compilation error when comparing double with int64_t (#4531)
JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-01-23 13:38:22 +01:00
Csaba Osztrogonác 9900cacb15 Fix test262 harness to handle async negative tests properly (#4526)
JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác [email protected]
2021-01-22 15:09:16 +01:00
Zoltan Herczeg d646cf51ee Set the correct realm when global code is running (#4522)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-22 09:17:38 +01:00
Robert Fancsik bf7fa39581 Rework export default parsing (#4505)
- Remove SCANNER_LITERAL_POOL_DEFAULT_CLASS_NAME workaround
- Add async and generator function support
- Fix auto semicolon insertion after export statement
- fixes #4150.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-19 16:30:41 +01:00
Robert Fancsik 3e548401fd Invalid regexp literals should throw syntax error in ES11 (#4506)
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-19 16:20:23 +01:00
Yonggang Luo d97540e883 Add expm1 test case to cover the k==1024 case (#4508)
-7.095e+02 won't trigger the  k==1024 case, so we didn't add it into the test list

JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-01-18 23:23:57 +01:00
Dániel Bátyai 8e83638daa Update the name handling of anonymous functions to ES11 (#4279)
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2021-01-18 18:20:24 +01:00
Szilagyi Adam 6ec4455111 Implement Symbol.matchAll (#4082)
The following methods were implemented:
- String.prototype.matchAll based on ECMA-262 v11, 21.1.3.12
- RegExp.prototype[@@matchAll] based on ECMA-262 v11, 21.2.5.8
- RegExp String Iterator Object based on 21.2.7

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2021-01-18 18:08:35 +01:00
Robert Fancsik 2ade072e53 Optimize lexenv binding creation (#4502)
- Declarative environment no longer need to lookup the created binding for setting it's value
- Unfold vm_decl_var and vm_set_var into vm_loop to reduce error checks
- Reduce code duplication in ecma_module_connect_imports
- Fix deleted binding setting in `ecma_op_set_mutable_binding` (fixes #4468)

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-18 17:38:54 +01:00
Zoltan Herczeg 3b77117a2e Add a callback which is called when Error objects are created (#4465)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-18 16:56:38 +01:00
Dániel Bátyai 0fec9135ec Rework module parsing and execution (#4462)
This patch disables automatic detection of module code, and instead
requires the user to explicitly specify whether to parse a source
as a module or as a script.

To achieve this the jerry_parse API function now takes a new option
which signals that the source should be parsed as a module.

JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2021-01-18 15:33:43 +01:00
Akos Kiss ef8a6a9f39 Get isfinite, isinf, and isnan right in jerry-math (#4497)
- `finite` is not C99 but a BSD fp classification function, so it
  is removed.
- The standard specifies that `isnan` is a macro (just like
  `isfinite` and `isinf`), so the `isnan` function implementation
  is removed.
- `isfinite` incorrectly classified NAN as finite, which is fixed.
- `isinf` returned 1 for negative infinity. This is not a bug
  according to the standard, but is not aligned with recent glibc,
  which returns -1. This is changed to simplify testing.
- Added test cases for `isfinite` and `isinf` to the unit test of
  jerry-math.
- Added a new pass to unittests to ensure that jerry-math is
  tested.

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss [email protected]
2021-01-18 15:07:25 +01:00
Robert Fancsik 79a2392b79 Remove template array flag from arrays after the collection is freed (#4500)
This patch fixes #4469.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-18 12:10:49 +01:00
Yonggang Luo 90d206dcee Fix free of NULL value in function ecma_typedarray_helper_dispatch_construct (#4473)
Currently, ecma_op_get_prototype_from_constructor may return NULL
and the function didn't raise that exception.
Also optimize multiple assignment of prototype_obj_p and
multiple access of JERRY_CONTEXT (current_new_target) out.

This fixes https://github.com/jerryscript-project/jerryscript/issues/4463

JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-01-18 10:35:47 +01:00
Yonggang Luo f894a8fad5 Fixes module-resource-name.js on win32. (#4481)
JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-01-18 10:32:48 +01:00
Yonggang Luo 69ce755593 Add ${PYTHON_EXECUTABLE} for "Generating doctests" (#4496)
On win32, the ${PYTHON_EXECUTABLE} should be specified, otherwise the python script
can not be executed properly.

JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-01-17 20:39:21 +01:00
Akos Kiss 1fe7c3531a Sort source and header lists in cmake files (#4487)
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss [email protected]
2021-01-16 21:39:18 +01:00
Yonggang Luo abaf9637d7 Use approxEq to judge double compare in math-cbrt.js (#4483)
Number.EPSILON used as maximal differences.

JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-01-16 21:25:41 +01:00
Yonggang Luo fd0ca7da69 exclude test-ext-autorelease.c in SOURCE_UNIT_TEST_EXT_MODULES properly (#4485)
JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-01-16 16:33:48 +01:00
Péter Gál 5e483633f3 Fix prototype chain traversing (#4458)
After the introduction of the Proxy builtin object there was
a possibility to traverse the prototype chain with an invalid object.
The prototype was freed before it's data/properties were queried resulting
in accessing invalid information.

By forcing the allocator to always do a gc (`--mem-stres-test=on` build option)
it was possible to trigger the issue without complicated tests.

New internal method:
* `ecma_op_object_get_prototype_of` which always returns the prototype
  of an object and the return value must be freed (if it is valid).

Updated prototype chain traversing in:
* `jerry_object_get_property_names`
* `ecma_builtin_object_prototype_lookup_getter_setter`
* `ecma_op_function_has_instance`
* `ecma_op_function_get_super_constructor`
* `ecma_op_object_is_prototype_of`
* `ecma_op_object_enumerate`

Removed method `ecma_proxy_object_prototype_to_cp`

JerryScript-DCO-1.0-Signed-off-by: Peter Gal [email protected]
2021-01-15 20:54:09 +01:00
Péter Gál abedab5ac2 Fix objects foreach unittest in case of mem-stress-test (#4460)
When the mem-stress-test is enabled for the objects foreach unittest
the object counting is off by one. This was due to incorrect assumption
on when the gc is triggered.

JerryScript-DCO-1.0-Signed-off-by: Peter Gal [email protected]
2021-01-15 20:50:26 +01:00
Robert Fancsik ad7fc07ca4 Add missing error check for for-in HasNext check (#4471)
This patch fixes #4464.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-15 20:48:49 +01:00
Péter Gál b0ca537a34 Correctly release values in Proxy.[[Get]] (#4477)
In Proxy.[[Get]] if the target.[[GetOwnPropertyDescriptor]] fails the
trap result should be freed.

Fixes: #4466

JerryScript-DCO-1.0-Signed-off-by: Peter Gal [email protected]
2021-01-15 20:48:13 +01:00
Yonggang Luo 9ce7e49073 rename misspell regression tests file name. (#4479)
JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-01-15 20:46:57 +01:00
Tóth Béla 91baa17c51 Update TypedArray builtins to latest standard (#4210)
- Introduce `ecma_typedarray_species_create` and `ecma_typedarray_create`
- Update Typedarray's filter method

JerryScript-DCO-1.0-Signed-off-by: Bela Toth [email protected]
2021-01-15 15:21:50 +01:00
Robert Fancsik b46535cb8d Add strict flag check for ecma_op_object_put_apply_receiver (#4450)
This patch fixes #4441.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-15 14:11:47 +01:00
Robert Fancsik 363bc92529 Remove new target workaround from super call (#4447)
After #4372 and #4369 all builtin constructors have new target support.

This patch fixes #4446.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-15 13:28:59 +01:00
Szilagyi Adam df6d430289 Refactor ecma_builtin_global_object_unescape (#4115)
based on ECMA-262 v11, B.2.1.2

Fixed tests from the exclude list:
* annexB/built-ins/unescape/four-ignore-bad-u.js
* annexB/built-ins/unescape/four.js
* annexB/built-ins/unescape/two.js

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2021-01-14 16:16:32 +01:00
Péter Gál 75586242ba Fix error instance query if the error is from a Proxy (#4459)
When accessing an error's type there is no need to check the Proxy
prototype (as there is none).

Fixes: #4440

JerryScript-DCO-1.0-Signed-off-by: Peter Gal [email protected]
2021-01-13 15:14:04 +01:00
Zoltan Herczeg 3193e6d0dc Implement jerry_get_backtrace_from API function (#4454)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-12 19:52:05 +01:00
Robert Fancsik 4399744588 Remove file(GLOB ...) usage from CMakeLists.txt (#4427)
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-12 10:47:36 +01:00
Robert Fancsik 5cef002ed6 Fix underscore lookahead in hex literal parsing (#4448)
This patch fixes #4442.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-11 18:48:53 +01:00
kisbg 8ddd24f870 Add new target support to Error object and NativeErrors (#4372)
EcmaScript 11 19.5.1.1 Error
EcmaScript 11 19.5.6.1.1 NativeError

JerryScript-DCO-1.0-Signed-off-by: bence gabor kis [email protected]
2021-01-11 15:08:21 +01:00
kisbg 2919a6463f Add new target support for ArrayBuffer and TypedArray (#4369)
JerryScript-DCO-1.0-Signed-off-by: bence gabor kis [email protected]
2021-01-11 14:20:28 +01:00
Robert Fancsik dcf9252892 Fix mapped arguments legacy argument definition initialization (#4434)
This patch fixes #4432.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-11 12:30:52 +01:00
kisbg 4c41f8ee07 Add proxy and bound function support for GetRealm method(#4407)
ecma_op_function_get_function_realm now can process proxy and bound functions.

JerryScript-DCO-1.0-Signed-off-by: bence gabor kis [email protected]
2021-01-11 11:31:27 +01:00
Robert Fancsik 7b00db4079 Fix unavailable source file handling in main_print_unhandled_exception (#4424)
This patch fixes #4403.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-08 16:03:33 +01:00
Robert Fancsik b56fa43aa3 Fix VM stack size calculation for class initializer assignments (#4426)
This patch fixes #4413.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-08 14:08:55 +01:00
Robert Fancsik 238f9aab4a Tagged template literal array should be marked after construction (#4420)
This patch fixes #4385.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-08 13:07:34 +01:00
Akos Kiss d161e2d9ed Disable libjerry-math by default (#4428)
Normally, it is more usual and safe to use a toolchain's native
math library. Especially, if multiple components of a project use
math functions, in which case all components should be linked
against the same libm.

The libjerry-math can be used, of course, but as it needs extra
care and consideration, it should be opt-in.

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss [email protected]
2021-01-08 11:37:46 +01:00
Robert Fancsik 0a3aa0f48b Proxy.[[Set]] should reject falsish trap result in strict mode (#4418)
This patch fixes #4398.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-07 17:25:29 +01:00
Robert Fancsik 979a0c7826 Fix bytecode emitting for invalid regexp literals (#4422)
This patch fixes #4408.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-07 17:19:52 +01:00
Péter Gál 7972386412 Fix shifting a negative value when using BigInts (#4429)
When shifting a negative BigInt value if the
shift count is very "big" the result should be -1.

eg.:
```
(-2n >> (2n*32n)) === -1n
```

Note: the `-2n >> (2n*31n)` already returned `-1n` prior this change.

JerryScript-DCO-1.0-Signed-off-by: Peter Gal [email protected]
2021-01-07 12:45:10 +01:00
Robert Fancsik 6dfd02a08c Bound function 'length' property should be early initialized (#4421)
This patch fixes #4402.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-07 12:10:54 +01:00
Robert Fancsik fc701aef6d Fix reference count management in %TypedArray%.prototype.reduce{Right} (#4419)
This patch fixes #4397.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-01-07 11:59:16 +01:00
Péter Gál 61d172aaaf Don't use property list pointer to store Proxy flags (#4415)
Proxy flags (IsCallable, IsConstructor) can't be stored on the
property list compressed pointer. As adding a Proxy to a WeakSet
would add a property to the Proxy object causing failures down the line.

The prototype internal "slot" can be used to store there flags as
it is not used in case of Proxies (as per standard).

JerryScript-DCO-1.0-Signed-off-by: Peter Gal [email protected]
2021-01-07 11:53:59 +01:00