Commit Graph
585 Commits
Author SHA1 Message Date
Gergo Csizi d9360f51d0 Add SharedArrayBuffer support (#4689)
JerryScript-DCO-1.0-Signed-off-by: Gergo Csizi [email protected]
2021-07-23 17:29:06 +02:00
Zoltan Herczeg 713d90b5a0 Support shared user data for scripts (#4710)
The same data is returned for the script and all of its functions,
including those which are created by an eval call.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-20 10:33:23 +02:00
Zoltan Herczeg 252d68936f Improve line info construction (#4718)
- Simplify small encoding
- Better line info for some corner cases

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-16 16:08:38 +02:00
Péter Gál d5a7839632 Improve Proxy recrusion check in their internal methods. (#4568)
In some parts of Proxy internal methods the compiler can do a bit of
tail call optimalization which would be ok, but the current stack limit
check framework in Jerry uses the stack pointer to calculate the stack depth.
This way of stack depth calculation is affected by the tail call optimalization
(as the stack does not increase).

By disabling the tail call optimalization at given points the stack limit calculation
will work as expected. This causes a bit of stack overhead, but the Proxy in it self
is a fairly big chunk of code and this stack limit would only be relevant if the Proxy
already does recusion which already very edge case.

The stack limit (--stack-limit=..) should be enabled to correctly report such stack
depth errors.

JerryScript-DCO-1.0-Signed-off-by: Peter Gal [email protected]
2021-07-15 14:02:53 +02:00
Zoltan Herczeg 998e49a969 Rework storing the line/column/bytecode info (#4707)
This information is stored in a separate memory block instead
of being part of the byte code. Snapshot does not supported.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-15 13:45:10 +02:00
Zoltan Herczeg 4be05a74eb Remove ecma_parse_options_t in favor of jerry_parse_options_t (#4713)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-15 13:44:52 +02:00
Tóth Béla 305741a608 Merge Map and Set Guards with Container (#4709)
Remove JERRY_BUILTIN_MAP/SET/WEAKMAP/WEAKSET
and replace them with JERRY_BUILTIN_CONTAINER.

JerryScript-DCO-1.0-Signed-off-by: Bela Toth [email protected]
2021-07-12 11:20:38 +02:00
Zoltan Herczeg 7f6a699700 Implement namespace exports in modules (#4708)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-09 07:23:28 +02:00
Zoltan Herczeg d1204ab1c9 Rework resolving references and namespace creation in modules (#4695)
- Properties of namespace objects are ordered in lexical order
- The namespace object is created and imports are bound during linking phase
- Namespace imports are changed to read-only
- Reduced memory consumption

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-06 14:50:19 +02:00
Tóth Béla 9471515dae Add container related API function (#4666)
The new function returns with an array, containing the
elements of the given Container or Container iterator.

JerryScript-DCO-1.0-Signed-off-by: Bela Toth [email protected]
2021-06-16 07:41:13 +02:00
Jiawen Geng 7be339ad61 Fix typo in property hashmap define (#4664)
Fixes jerryscript-project/jerryscript#4648

JerryScript-DCO-1.0-Signed-off-by: Jiawen Geng [email protected]
2021-05-26 12:26:11 +02:00
Zoltan Herczeg 431a28b902 Fix native error check (#4674)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-05-21 12:36:07 +02:00
Zoltan Herczeg 3c512d937b Add getter for Proxy handler objects (#4676)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-05-21 12:35:53 +02:00
Zoltan Herczeg e042998f02 Support function object retrieval for async functions (#4668)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-05-11 12:22:37 +02:00
Zoltan Herczeg 823a8b128d Fix error throw in jerry_define_own_property (#4662)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-27 09:42:20 +02:00
Zoltan Herczeg 8aaabd8b01 Do not mark the unused items of a WeakMap (#4663)
The new method is slower, but correctly release unused objects.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-27 09:42:03 +02:00
Zoltan Herczeg dead11cdd0 Fix external pointer allocation issues. (#4658)
The allocations during the update of external pointers may trigger
the GC. Due to a new feature, the GC uses the external pointer data
to mark objects, which caused crashes in some cases.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-20 11:53:58 +02:00
Zoltan Herczeg 4f15332e95 Export default in namespace object (#4657)
Fix a crash when the exported value is a reference.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-19 18:31:59 +02:00
Zoltan Herczeg ec3ed65b56 Add reference support for native pointers. (#4615)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-19 14:47:17 +02:00
Tóth Béla cc1a263657 Continue replacing duplicate ecma definitions (#4644)
JerryScript-DCO-1.0-Signed-off-by: Bela Toth [email protected]
2021-04-19 13:44:01 +02:00
Zoltan Herczeg 1f2a8d4ac1 Add notification callback for module state changes (#4656)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-16 17:50:57 +02:00
Zoltan Herczeg a7a4cb29e4 Native modules should be unlinked state after creation (#4655)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-16 15:55:12 +02:00
Zoltan Herczeg 7b6743403f Support native modules (#4649)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-13 16:26:38 +02:00
Zoltan Herczeg 05a4e45ece Fix uninitialized data in create native property (#4650)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-13 15:17:25 +02:00
Zoltan Herczeg 053389de80 Add info to external pointer free callback. (#4642)
Furthermore reduce memory consumption when only
one external pointer is assigned to an object.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-13 09:51:39 +02:00
Zoltan Herczeg b3ec217b50 Create namespace with references for modules (#4646)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-12 15:58:56 +02:00
Zoltan Herczeg ef35c0329c Remove class id storing for class objects (#4645)
The two bytes which stored the id is free to use. Currently the only exception is containers.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-08 14:46:16 +02:00
kisbg 2381078e80 Add constant error messages (#4640)
added two new file ecma-errors.h and ecma-erros.c

it contains the most used errors messages.

JerryScript-DCO-1.0-Signed-off-by: bence gabor kis [email protected]
2021-04-07 12:46:12 +02:00
Zoltan Herczeg d85020f709 Remove pseudo array object type from the project (#4643)
A new class type enum is introduced to describe the class of objects.
This enum is organized to improve property resolve and GC performance.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-06 18:46:48 +02:00
Zoltan Herczeg 4377ef684d Add module C API functions (#4636)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-03-31 19:40:58 +02:00
Tóth Béla 6677fa0a12 Replace duplicate ecma definitions (#4637)
JerryScript-DCO-1.0-Signed-off-by: Bela Toth [email protected]
2021-03-31 11:52:33 +02:00
Zoltan Herczeg 6c484f3529 Rework module linking (#4632)
The module linking process from jerry_parse is moved out into
a new jerry_module_link function, and jerry_parse is limited to
create unlinked modules.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-03-30 15:40:09 +02:00
Zoltan Herczeg 874a6a49d5 Extract type defintions from jerryscript-core.h into jerryscript-types.h (#4634)
The function declarations in jerryscript-core.h should not be visible
internally, only the type declarations in jerryscript-types.h

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-03-24 05:51:59 +01:00
kisbg 22ebb00a4c Implement Promise.any and AggregateError Object (#4623)
JerryScript-DCO-1.0-Signed-off-by: Bence Gabor Kis [email protected]
2021-03-22 12:42:20 +01:00
Zoltan Herczeg 546422161e Add custom configuration to jerry_parse and its variants (#4620)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-03-10 09:56:48 +01:00
Zoltan Herczeg 7a2665621b Reorganize property descriptor flags (#4622)
Furthermore rename JERRY_PROP_IS_THROW to JERRY_PROP_SHOULD_THROW
and add more invalid descriptor checks.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-03-10 08:17:20 +01:00
kisbg dc3ae4ff06 Implement Promise.allsettled (#4616)
Also i updated the promise race and all method to the latest standart

The two jerry/es.next test-cases has been update to support the latest standart

JerryScript-DCO-1.0-Signed-off-by: bence gabor kis [email protected]
2021-03-08 11:43:42 +01:00
Zoltan Herczeg a95e3e37e1 Add more skip check options for Proxy objects (#4614)
Reorganize the flags to follow the list in ES2020 section 9.5

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-03-03 17:12:36 +01:00
kisbg 129ca4946c Implement WeakRef Object (#4546)
Related test262 test-cases has been removed from skip list.
Execpt two test-case since they need other feature to work (Finalization registry and async GC)

JerryScript-DCO-1.0-Signed-off-by: Bence Gabor Kis [email protected]
2021-03-01 13:46:54 +01:00
Zoltan Herczeg a3bdd36556 Reduce memory consumption of Promise objects (#4607)
No need to keep a reference to resolver functions.
Unused resolvers are cleaned up sooner by GC.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-24 08:51:23 +01:00
Zoltan Herczeg 5c35370327 Create special objects for scripts instead of functions (#4610)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-23 15:34:09 +01:00
Dániel Bátyai 2240a9153a Optimize the copying/freeing of ecma values (#4602)
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai [email protected]
2021-02-22 08:32:10 +01:00
Zoltan Herczeg 112ad83aaa Rework external function handlers (#4599)
Instead of a fixed number of arguments, a call info structure is passed
to the handlers, which can be extended in the future without breaknig the
API. This structure holds new.target value, so its getter function is removed.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-17 17:52:19 +01:00
Robert Fancsik 488a0bf7e8 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 [email protected]
2021-02-17 16:07:54 +01:00
Yonggang Luo 818cc8ddab Split globalThis to be configurable. (#4575)
JERRY_BUILTIN_GLOBAL_THIS can be enabled without JERRY_ESNEXT

JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-02-09 16:20:05 +01:00
Zoltan Herczeg 6fd0dfec35 Fix template memory leak when debugger is running (#4572)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-09 14:59:45 +01:00
Yonggang Luo c2e016ec06 Add space between JERRY_ATTR_PURE and type (#4583)
JerryScript-DCO-1.0-Signed-off-by: Yonggang Luo [email protected]
2021-02-09 09:45:08 +01:00
Zoltan Herczeg b1f73e698a Fix deleting native pointers (#4570)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-05 19:35:30 +01:00
Robert Fancsik 0628ae1e7b Remove the ENABLED/DISABLED macros (#4515)
The removal of these macros enabled cppcheck to reveal new errors.
These errors are also fixed by the patch.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
2021-02-04 23:47:05 +01:00
Zoltan Herczeg 9ca046b670 Add non-standard behaviour support for Proxies (#4562)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-04 15:58:16 +01:00