Commit Graph
100 Commits
Author SHA1 Message Date
Zoltan Herczeg 89e367bbfd Optimize typed array access (#4806)
Use uint32 indexes instead of double indexes.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-11-02 11:07:56 +01:00
Zoltan Herczeg 960b99766c Allocate buffers when the buffer pointer is requested (#4812)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-11-02 09:36:55 +01:00
Zoltan Herczeg a024eb2118 Add allocate/free callbacks to ArrayBuffers (#4801)
Larger buffer allocations will throw error instead of calling jerry_fatal.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-10-28 13:51:34 +02:00
Zoltan Herczeg b52c114423 Implement eval check for ECMAScript code (#4788)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-10-15 22:25:20 +02:00
Zoltan Herczeg d4231e7251 Split main promise event filter into multiple filters (#4792)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-10-11 12:48:50 +02:00
Zoltan Herczeg c696bc9327 Implement vm throw capture status management for API errors (#4783)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-10-07 11:35:49 +02:00
Zoltan Herczeg 7c21fb89b2 Reorder list of function built-in properties (#4791)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-10-07 09:52:07 +02:00
Zoltan Herczeg d98ff6fd30 Support getting script object in the backtrace callback. (#4789)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-10-06 11:09:01 +02:00
Zoltan Herczeg 7d355b0f8e Change error message description (#4785)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-10-01 12:24:20 +02:00
Zoltan Herczeg 2a82da62ad Implement source info retrieval API function (#4780)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-29 12:34:38 +02:00
Zoltan Herczeg 8b3eb93167 Add property key filters for general object property enumeration (#4778)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-28 11:01:15 +02:00
Zoltan Herczeg 14ff5bfb52 Add property key filters for built-in functions (#4776)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-23 14:21:47 +02:00
Zoltan Herczeg 35058cde31 Fix incorrect line info computation (#4775)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-22 12:35:24 +02:00
Zoltan Herczeg ca185acded Implement built-in flag support for arguments (#4774)
Duplicate check can be removed from property enumeration.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-22 11:33:13 +02:00
Zoltan Herczeg 053bfa0f9f Support resource name and user value for implicit class constructors (#4771)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-17 16:28:10 +02:00
Zoltan Herczeg 430289b27d Fix built-in types (#4772)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-17 08:18:28 +02:00
Zoltan Herczeg 77c2602205 Implement import.meta object (#4766)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-15 17:44:16 +02:00
Zoltan Herczeg 386ec44d4d Double the maximum number of object references (#4768)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-15 11:08:57 +02:00
Zoltan Herczeg d08b5be57f Remove built-in flag from object type (#4763)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-13 19:25:22 +02:00
Zoltan Herczeg 723b26392d Fix property enumeration order of built-in properties (#4761)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-13 15:32:14 +02:00
Zoltan Herczeg 2c2539c6b8 Throw SyntaxError when module resolving is failed (#4765)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-09 22:11:42 +02:00
Zoltan Herczeg fea10bb7e3 Add name to the function property names (#4760)
Furthermore prototype should be the first property.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-03 12:42:06 +02:00
Zoltan Herczeg 1523ca3b26 Fix prototype of the values returned by Promise.allSettled (#4758)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-03 12:15:06 +02:00
Zoltan Herczeg e1ce7dd727 Fix invalid typed array construction (#4757)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-02 12:13:00 +02:00
Zoltan Herczeg f94a3c80bd Fix line info computation (#4756)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-09-01 18:39:38 +02:00
Zoltan Herczeg 6649940ea6 Implement function.toString operation (#4752)
May increase the memory consumtpion heavily.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-08-31 13:37:25 +02:00
Zoltan Herczeg 8cbe1b59c1 Implement getter function for external string user pointer (#4742)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-08-30 14:04:13 +02:00
Zoltan Herczeg e7ffb70ae0 Rework external string free operation (#4690)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-08-17 08:31:30 +02:00
Zoltan Herczeg 74e5ccd434 Improve storing the line info data during parsing (#4735)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-08-17 08:29:30 +02:00
Zoltan Herczeg 3ed93cfb51 Support parsing of scripts / functions stored in string values (#4728)
Function arguments must be passed as string values.
Snapshots are generated from compiled code rather than source code.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-08-11 17:37:12 +02:00
Zoltan Herczeg 444806d78a Implement vm_throw callback (#4726)
Slightly improve the description of vm_exec_stop callback.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-08-10 15:50:26 +02:00
Zoltan Herczeg c438d5fa92 Support string iterator for strings longer than 64K (#4727)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-08-03 10:44:19 +02:00
Zoltan Herczeg 951044c036 Change resource name to a string. (#4724)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-27 13:40:19 +02:00
Zoltan Herczeg d69fe41085 Improve garbage collection of scripts and modules (#4722)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-26 14:03:43 +02:00
Zoltan Herczeg d4178ae386 Support dynamic import calls (#4652)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-24 09:26:46 +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 9ff25dbc12 Replace jerry_load_function_snapshot function with a flag (#4719)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-07-16 16:09:51 +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
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
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
Zoltan Herczeg 5729dd8cec Object.assign should copy undefined values (#4688)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-06-10 10:59:54 +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 67a61bc211 Support this binding retrieval for backtrace frames (#4669)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-05-17 11:41:29 +02:00
Zoltan Herczeg 5180680030 Support line info for class fields (#4670)
Furthermore fix function info for call frames.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-05-17 11:15:02 +02:00
Zoltan Herczeg 26f604ce1e Change error message format of DefineProperty (#4672)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-05-17 11:14:38 +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 b4bea25f13 Export assignment expression must not track variables (#4660)
Only export the result of the assignment expression. This value cannot be changed later.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-21 08:56:50 +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 10002aef60 Throw ReferenceError when a property of a native module is not found (#4659)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-04-20 11:04:26 +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
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
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
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
Zoltan Herczeg edd2f20397 Remove jerry_port_track_promise_rejection (#4613)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-03-11 19:58:44 +01:00
Zoltan Herczeg e739f11ed2 Return early when checking logical operators (#4626)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-03-11 19:35:39 +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
Zoltan Herczeg 29b7c8f8ff Implement jerry_get_own_property API function (#4612)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-03-03 18:02:40 +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
Zoltan Herczeg 17ed855df5 Default handlers should count as resolvers (#4611)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-25 12:27:21 +01:00
Zoltan Herczeg c27047da03 Add filters and more events to Promise callback. (#4605)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-24 10:31:08 +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 1cf2989a64 Add new.target argument to Promise create (#4606)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-24 08:50:05 +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
Zoltan Herczeg 01e0388d77 Add notification callback for Promise operations (#4595)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-18 11:29:52 +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
Zoltan Herczeg ec872818c2 Add implementation specific date parsing (#4576)
It is compatible with Firefox and Chrome.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-09 15:03:06 +01:00
Zoltan Herczeg 53aed02762 Fix null getters/setters in jerry_property_descriptor_from_ecma (#4573)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-09 15:01:50 +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
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
Zoltan Herczeg 3623ac789d Introduce generic backtrace capturing (#4555)
Remove jerry_get_backtrace_from function

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-02-04 16:33:59 +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
Zoltan Herczeg e191a5cf47 Increase the maximum reference count of objects when cpointer 32 is enabled (#4550)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-29 14:45:27 +01:00
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
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
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
Zoltan Herczeg 3dc6ed0dd5 Fix internal property listing in ecma_op_object_own_property_keys (#4461)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-13 15:13:43 +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
Zoltan Herczeg 6f0391dd66 Unify internal property creation (#4373)
Furthermore free up a bit in the property descriptor.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-12 13:12:44 +01:00
Zoltan Herczeg 128f18a225 Fix mutable binding creation for realms with proxy this binding (#4370)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-07 11:09:33 +01:00
Zoltan Herczeg 7baaafa405 Fix the return value of jerry_to_property_descriptor function (#4371)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2021-01-07 11:09:07 +01:00
Zoltan Herczeg 9676500add Implement get proxy target (#4367)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-12-18 10:58:48 +01:00
Zoltan Herczeg e2be8f4c79 Get the 'this' binding of a realm value (#4365)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-12-16 13:21:20 +01:00
Zoltan Herczeg 29be24f056 Fix var and function declaration in eval (#4360)
Fixes #4149

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-12-14 11:30:45 +01:00
Zoltan Herczeg fe29bf7390 Allow changing the 'this' binding of a realm (#4357)
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg [email protected]
2020-12-14 10:05:30 +01:00