Commit Graph
59 Commits
Author SHA1 Message Date
Szilagyi Adam 651b62584a Use stringbuilder in jerry_debugger_exception_object_to_string (#3586)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-03-04 18:06:40 +01:00
Szilagyi Adam 23974e2389 Use stringbuilder in ecma_raise_standard_error_with_format (#3585)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-03-04 18:05:08 +01:00
Szilagyi Adam 76bbb088e9 Optimize Array.prototype.fill for fast-array cases (#3569)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-03-03 15:48:50 +01:00
Szilagyi Adam aa17a4fa5d Implement ecma_stringbuilder_create_raw method for stringbuilder (#3584)
With this new method, we can create a stringbuilder from a raw string

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-03-02 15:39:12 +01:00
Szilagyi Adam a6acf2d417 Fix value release in ecma_builtin_array_prototype_object_copy_within (#3583)
Fixes #3580

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-03-02 10:28:02 +01:00
Szilagyi Adam 6430d1a3a3 Use stringbuilder in static_snapshot_error_unsupported_literal (#3574)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-02-24 11:34:07 +01:00
Szilagyi Adam cdbabc8c30 Use stringbuilder in ecma_builtin_try_to_instantiate_property (#3575)
Also removed the ecma_append_magic_string_to_string method,
because it doesn't get used anymore.

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-02-24 11:19:04 +01:00
Szilagyi Adam acbdb4184f Use stringbuilder in ecma_builtin_typedarray_prototype_join (#3573)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-02-24 11:15:36 +01:00
Szilagyi Adam b0a575b049 Use stringbuilder in vm_get_backtrace (#3566)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-02-20 13:01:04 +01:00
Szilagyi Adam f8da3d5e9d Remove vm_init_loop (#3551)
For every bytecode in the above function, i created a new VM_OC group code
to be able to execute them in the vm_loop. With this update, the expectation
is a faster runtime.

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-02-19 16:49:35 +01:00
Szilagyi Adam 181570ff41 Implement EscapeRegExpPattern method (#3543)
the algorithm is based on ECMA-262 v6, 21.2.3.2.4

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-02-18 09:49:54 +01:00
Szilagyi Adam 44e63e038d Use stringbuilder in ecma_get_symbol_descriptive_string (#3560)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-02-18 09:47:53 +01:00
Szilagyi Adam 4d67ac3225 Use stringbuilder in ecma_builtin_string_prototype_object_concat (#3557)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-02-13 17:42:07 +01:00
Szilagyi Adam 8cd5d06620 Update ecma_op_typedarray_from to use iterable objects (#3501)
Added steps 6-8 from ECMA-262 v6, 22.2.2.1.1

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-02-13 15:53:41 +01:00
Szilagyi Adam 2fe06f82f1 Add strict mode check to for-in and for-of header in parser_parse_for_statement_start (#3513)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-01-28 13:24:30 +01:00
Szilagyi Adam c407e8a04c Refactor ecma_builtin_error_prototype_object_to_string to use stringbuilder (#3503)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-01-10 15:40:00 +01:00
Szilagyi Adam aedd55b1f8 Add unscopables check to ecma_op_get_value_lex_env_base (#3476)
Also added a special test case for this to symbol-unscopables.js

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-01-07 15:13:28 +01:00
Szilagyi Adam 22e52e45af Fix value release in ecma_builtin_typedarray_prototype_map (#3491)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-01-07 14:25:59 +01:00
Szilagyi Adam 40b38f70ef Refactor ecma_regexp_exec_helper arguments (#3484)
We use pointers instead of ecma_value_t

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-01-06 14:38:09 +01:00
Szilagyi Adam 183600dff2 Refactor ecma_op_same_value (#3486)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2020-01-06 14:33:46 +01:00
Szilagyi Adam 7bfbc701d8 Implement Symbol.unscopables (#3405)
Added a new property for Array.prototype based on ECMA-262 v6, 22.1.3.31
Also upgraded the HasBinding operation with ECMA-262 v6, 8.1.1.2.1 steps 7-9

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-12-19 16:34:23 +01:00
Szilagyi Adam e2893f26a1 Add iterator closing for ecma_op_container_create (#3457)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-12-19 11:40:29 +01:00
Szilagyi Adam b6f2ff1ba7 Implement binary literal parsing (#3439)
This patch will allow the user to use binary literals starting with 0b or 0B,
these literals will be evaluated in parsing time resulting an integer

Co-authored-by: Robert Fancsik [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-12-17 11:42:29 +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
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
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
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
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
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
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
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
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
Szilagyi Adam 452c78182d Implement String.prototype.codePointAt method (#3291)
The algorithm is based on ECMA-262 v6, 21.1.3.3

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-11-11 15:54:49 +01:00
Szilagyi Adam 798655a871 Implement Array.prototype's copyWithin method (#3269)
The algorithm is based on ECMA-262 v6, 22.1.3.3

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-11-08 15:41:20 +01:00
Szilagyi Adam 35d9b1ab17 Implement String.fromCodePoint method (#3281)
The algorithm is based on ECMA-262 v6, 21.1.2.2

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-11-08 13:48:05 +01:00
Szilagyi Adam cc9a657425 Optimize array shift/unshift for fast-array cases (#3235)
Performance results:
Intel: 13m11s -> 0m10s
ARM: over 20m -> 2m27s

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-30 16:59:20 +01:00
Szilagyi Adam 222e774cc2 Optimize array indexOf/lastIndexOf for fast-array cases (#3233)
Performance result:
Intel: 0m27s -> 0m23,5s
ARM: 5m13s -> 4m20s

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-30 16:49:13 +01:00
Szilagyi Adam 6639bbc580 Optimize array reverse for fast-array cases. (#3231)
Performace result:
Intel: 5m30s -> 0m3,9s
ARM: over 15m -> 1m14s

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-30 16:44:29 +01:00
Szilagyi Adam d801fc70bb Optimize array slice for fast-array cases (#3213)
Performance results:
Intel: 0m27s -> 0m7s
ARM: 5m42s -> 1m26s

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-30 16:43:17 +01:00
Szilagyi Adam 072aedb4ef Fix wrong error handling in ecma_builtin_function_helper_get_function_arguments (#3257)
Fixes #3252

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-28 14:23:53 +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
Szilagyi Adam 09c5d98e25 Optimize array push/pop for fast-array cases (#3187)
Performance results:
ARM: 1m19s -> 0m57s
Intel: 0m7,5s -> 0m5s

Binary size increase: 168 bytes

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-16 16:41:01 +02:00
Szilagyi Adam 5320f5a396 Use stringbuilder in typedArry toLocaleString (#3207)
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-16 16:37:19 +02:00
Szilagyi Adam 848a9854c3 Add missing value release in typedArray toLocaleString (#3200)
Fixes #3162

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-07 16:28:30 +02:00
Szilagyi Adam 0f754ff33c Fix count variable calculation in typedarray copyWithin (#3158)
Fixes #3130

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-07 11:31:44 +02:00
Szilagyi Adam c3510fc03d Improve typedArray get, set (#3023)
Here are the following changes:
  - The getter and setter methods are callback based now, and we can use
    them with the proper typedArray id
  - The typedArray set_element and get_element methods are using memcpy now.
  - There is a new struct which contains basic informations from typedArray,
    and we are using this in most of the prototype methods.
  - Eliminated ecma_op_typedarray_set_index_prop and
    ecma_op_typedarray_get_index_prop, because these methods
    also calculated the same informations which are in the new
    struct, so we use the new method instead.

Co-authored-by: Robert Fancsik [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-10-02 16:39:26 +02:00
Szilagyi Adam 711b06d018 Add new check for a special corner case to typedarray lastIndexOf (#3156)
Fixes #3129
We need to check if we use the lastIndexOf method  and if the second
argument is a number, negative, and its absolute value is bigger
than the length, then  we should return with -1.

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-09-27 16:56:24 +02:00
Szilagyi Adam 0eae2f6207 Add new check to typedarray copyWithin (#3108)
We should check if the start index is equal or greater than the end index,
if thats the case, we should return with the original typedArray.

Fixes #3107

JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-09-17 17:24:47 +02:00
Szilagyi Adam 6e79bb148e Add toLocaleString for TypedArrays (#2987)
The algorithm is based on ECMA-262 v6, 22.2.3.27

Co-authored-by: Tibor Dusnoki [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-09-13 13:40:56 +02:00
Szilagyi Adam 24196b69da Add copyWithin and slice function to TypedArray (#2984)
The algorithm's are based on ECMA-262 v6, 22.2.3.5 and 22.2.3.23

Co-authored-by: Tibor Dusnoki [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-09-05 02:12:24 +02:00
Szilagyi Adam f0578b2c25 Add indexOf and lastIndexOf function to typedArray (#2938)
The algorithm's are based on ECMA-262 v6, 22.2.3.13, 22.2.3.16

Co-authored-by: Tibor Dusnoki [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-08-30 14:01:30 +02:00
Szilagyi Adam 97e348528a New trim helper function (#3014)
Created a new trim helper function which is used in every situation where we need to trim a string

Co-authored-by: Tibor Dusnoki [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-08-26 17:30:21 +02:00
Szilagyi Adam ea577d6ed0 Add keys, values, entires functions for typedArray (#2925)
Extended the typedArray functionality based on ES2015

Co-authored-by: Tibor Dusnoki [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-07-24 15:48:28 +02:00
Szilagyi Adam 1ea77cc490 Fix buffer-overflow in ecma_op_typedarray_set_with_typedarray (#2922)
Wrong method were used to get the source buffer pointer
Fixes #2851

Co-authored-by: Tibor Dusnoki [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-07-01 13:09:39 +02:00
Szilagyi Adam 03202995a0 Add missing release to ecma_op_container_foreach (#2912)
The result of the callback function was not freed
Fixes #2910

Co-authored-by: Tibor Dusnoki [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-06-21 19:02:06 +02:00
Szilagyi Adam 7b65167e81 Fix allocation problems when using import and export (#2919)
Construct ecma_string only when there is no parser error using lit_object's index in parser_module_parse_export_caluse and parser_module_parse_import_clause
Fixes #2908

Co-authored-by: Tibor Dusnoki [email protected]
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-06-21 14:21:08 +02:00
Szilagyi Adam 6e9cf4d459 Release operands properly in opfunc_addition (#2909)
Right and left value release wasn't complete
Fixes #2901
Fixes #2902

Co-authored-by: Tibor Dusnoki <[email protected]>
JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi [email protected]
2019-06-19 12:29:58 +02:00