Ruben Ayrapetyan
|
cd41b236d9
|
Statistics of memory usage during interpretation.
|
2014-09-16 21:19:07 +04:00 |
|
Ruben Ayrapetyan
|
e8991abadb
|
Fixing __printf for format strings with '+' specifier like '%+5d'.
|
2014-09-16 20:53:02 +04:00 |
|
Ruben Ayrapetyan
|
fbcd393962
|
Adding configuration flag indicating whether Global Environment is bound to Global Object or it is simple declarative lexical environment.
|
2014-09-08 19:16:30 +04:00 |
|
Ruben Ayrapetyan
|
dafbaa742e
|
Adding configuration option for ECMA exception support.
|
2014-09-08 19:09:34 +04:00 |
|
Ruben Ayrapetyan
|
4d34bab9a0
|
Adding memory leak checks to unit tests.
|
2014-09-05 20:35:33 +04:00 |
|
Ruben Ayrapetyan
|
c5dd81cf76
|
Fixing memory leak in opfunc_throw.
|
2014-09-05 20:28:02 +04:00 |
|
Ruben Ayrapetyan
|
5a9d4563ec
|
Fixing performance degradation that occured in commit 9b040f31d2a2e1e4d43dd347d5e81282997dd2b5.
|
2014-09-05 16:27:43 +04:00 |
|
Ruben Ayrapetyan
|
b9fd80ce36
|
Fixing object declaration and function expression opcode handlers; adding unit test that declares object and operates on the object's properties.
|
2014-09-04 21:02:29 +04:00 |
|
Ruben Ayrapetyan
|
5630352f36
|
Adding arm-linux-perf notes ref to tools/pull.sh and tools/log.sh.
|
2014-09-04 17:29:54 +04:00 |
|
Ruben Ayrapetyan
|
3bb990d782
|
Fixing LIBC_MUSL build for ARM Linux host (adjusting heap limit under LIBC_MUSL).
|
2014-09-04 16:47:39 +04:00 |
|
Ruben Ayrapetyan
|
31b5451b50
|
Moving label descriptor from ecma_completion_value_t to separate structure on heap (fixing performance degradation that occured in commit 5d92544db57203603a6ed53b5c18562065a70b77).
|
2014-09-04 14:27:40 +04:00 |
|
Ruben Ayrapetyan
|
50371ddf20
|
Implementing Array construction routine; adding unit test on array operations.
|
2014-09-03 17:30:03 +04:00 |
|
Ruben Ayrapetyan
|
76de0e9a06
|
Improving precision of ecma_number_to_string in case number can be represented as UInt32.
|
2014-09-03 15:05:58 +04:00 |
|
Ruben Ayrapetyan
|
b275218e63
|
Fixing [[DefineOwnProperty]] routine of general object.
|
2014-09-02 22:34:50 +04:00 |
|
Ruben Ayrapetyan
|
d45748a001
|
Implementing [[Get]] routine for function objects.
|
2014-09-02 22:34:38 +04:00 |
|
Ruben Ayrapetyan
|
57058c30ef
|
Implementing rest unimplemented cases in ecma comparison routines.
|
2014-09-02 22:18:28 +04:00 |
|
Ruben Ayrapetyan
|
3dc9a5838a
|
Fixing ecma_uint32_to_string helper.
|
2014-09-02 21:55:04 +04:00 |
|
Ruben Ayrapetyan
|
9acbaafc8e
|
Implementing ecma-strings relational comparison helper.
|
2014-09-02 21:10:50 +04:00 |
|
Ruben Ayrapetyan
|
0a6e1a83f8
|
Renaming ecma_compare_ecma_string_to_ecma_string to ecma_compare_ecma_strings.
|
2014-09-02 20:16:41 +04:00 |
|
Ruben Ayrapetyan
|
11d772fda4
|
Implementing unimplemented cases in ecma comparison routines.
|
2014-09-02 19:57:55 +04:00 |
|
Ruben Ayrapetyan
|
c581f10b94
|
Changing return value of ecma_op_abstract_equality_compare to ecma_completion_value_t.
|
2014-09-02 19:07:43 +04:00 |
|
Ruben Ayrapetyan
|
c9f954ec2e
|
Implementing several unimplemented cases in ecma conversion routines.
|
2014-09-02 18:49:45 +04:00 |
|
Ruben Ayrapetyan
|
aa86a3643b
|
Implementing remainder operation according to ECMA. Checking that implementations of other arithmetic operations already conform to ECMA and removing corresponding TODOs from them.
|
2014-09-02 15:09:36 +04:00 |
|
Ruben Ayrapetyan
|
afc21fad8e
|
Simple implementation of string concatenations comparison.
|
2014-09-02 13:31:56 +04:00 |
|
Ruben Ayrapetyan
|
4d9602ba0d
|
Supporting string concatenations that are longer than 64k.
|
2014-09-01 22:11:54 +04:00 |
|
Ruben Ayrapetyan
|
813831a23b
|
Decimal conversion of Number to zt-string (still not precise enough). Zt-string copy and length calculation helpers.
|
2014-09-01 21:12:02 +04:00 |
|
Ruben Ayrapetyan
|
e35f54fe86
|
Implementing ECMA String to Number conversion helper.
|
2014-08-29 22:46:38 +04:00 |
|
Ruben Ayrapetyan
|
23b62bce54
|
Replacing doxygen header for ECMA modules 'addtogroup ecma ---TODO---' -> 'addtogroup ecma ECMA'.
|
2014-08-29 18:35:44 +04:00 |
|
Ruben Ayrapetyan
|
32d111fecf
|
Changing pool's chunk size to 8 bytes. Adding configurable value for minimum chunks in a pool allocated by pools' manager: CONFIG_MEM_LEAST_CHUNK_NUMBER_IN_POOL = 32.
|
2014-08-29 18:21:22 +04:00 |
|
Ruben Ayrapetyan
|
32f20a02a3
|
Adding missing may_ref_younger flags updates and assertion check for the flags value.
|
2014-08-29 18:06:20 +04:00 |
|
Ruben Ayrapetyan
|
1d02085dc6
|
Packing ecma_object_t to 8 bytes.
|
2014-08-29 17:38:05 +04:00 |
|
Ruben Ayrapetyan
|
8e14f32806
|
Introducing getters/setters for ecma_object_t structure.
|
2014-08-29 15:53:07 +04:00 |
|
Ruben Ayrapetyan
|
f7968e617d
|
Adding several completion value construction and comparison helpers.
|
2014-08-29 12:51:06 +04:00 |
|
Ruben Ayrapetyan
|
164350b369
|
Introducing constructor for label completion values (for 'break' and 'continue' completion types).
|
2014-08-28 23:08:31 +04:00 |
|
Ruben Ayrapetyan
|
227c09fb3e
|
Adding target counter and depth level to 'break' and 'continue' completion values.
|
2014-08-28 22:56:29 +04:00 |
|
Ruben Ayrapetyan
|
16cbe0c63b
|
Removing try_get_string_by_idx and get_number_by_idx.
|
2014-08-28 21:19:44 +04:00 |
|
Ruben Ayrapetyan
|
b36f997ef2
|
Determining if global code is strict code by checking if first opcode is 'meta' opcode of OPCODE_META_TYPE_STRICT_CODE type; setting 'configurableBindings' in 'var_decl' opcode to true if current code is eval code.
|
2014-08-28 20:29:42 +04:00 |
|
Ruben Ayrapetyan
|
b529fc2da9
|
Processing unhandled exception by exiting engine with ERR_UNHANDLED_EXCEPTION; determining if function's code is strict by checking for appearance of 'meta' opcode of OPCODE_META_TYPE_STRICT_CODE type at the beginning of the function's code.
|
2014-08-28 20:21:47 +04:00 |
|
Ruben Ayrapetyan
|
ddb2e6e9d5
|
Introducing and implementing 'throw' and 'try' opcode handlers.
|
2014-08-28 18:57:34 +04:00 |
|
Ruben Ayrapetyan
|
647f6b3c67
|
Renaming OPCODE_META_TYPE_OPCODE_COUNTER -> OPCODE_META_TYPE_FUNCTION_END.
|
2014-08-28 16:49:03 +04:00 |
|
Ruben Ayrapetyan
|
9d45f68370
|
Introducing 'opcode counter' type for 'meta' opcode; replacing 'jmp_down' opcodes that are used as pointers only with 'meta' opcodes of the introduced type.
|
2014-08-28 15:17:49 +04:00 |
|
Ruben Ayrapetyan
|
5d2b535cec
|
Implementing 'with' opcode; replacing 'end_with' opcode with 'meta' opcode of corresponding type.
|
2014-08-27 21:38:53 +04:00 |
|
Ruben Ayrapetyan
|
f08c242156
|
Implementing 'obj_decl' opcode; replacing 'prop', 'prop_get_decl', 'prop_set_decl' with 'meta' opcodes of corresponding types.
|
2014-08-27 20:43:31 +04:00 |
|
Ruben Ayrapetyan
|
d286a93e2c
|
Replacing 'varg' opcode with 'meta' opcode with corresponding type.
|
2014-08-27 19:35:56 +04:00 |
|
Ruben Ayrapetyan
|
2feb159fd8
|
Implementing 'array_decl' opcode handler.
|
2014-08-27 18:28:26 +04:00 |
|
Ruben Ayrapetyan
|
76121926d1
|
Splitting 'delete' opcode to 'delete_var' and 'delete_prop'. Implementing corresponding opcode handlers.
|
2014-08-27 17:12:59 +04:00 |
|
Ruben Ayrapetyan
|
05185bb2e9
|
Implementing 'native_call' opcode handler.
|
2014-08-27 15:38:31 +04:00 |
|
Ruben Ayrapetyan
|
bc2f827447
|
Implementing 'unreachable' handler for 'meta' opcode.
|
2014-08-27 13:45:27 +04:00 |
|
Ruben Ayrapetyan
|
f8907573dd
|
Implementing 'func_expr_n' opcode handler.
|
2014-08-26 22:15:40 +04:00 |
|
Ruben Ayrapetyan
|
6cfcedb053
|
Evaluation of expressions passed in arguments lists just before corresponding 'varg' opcodes.
|
2014-08-26 21:39:54 +04:00 |
|
Ruben Ayrapetyan
|
6f58335f23
|
Replacing 'varg_list' (3 args) with 'varg' (1 arg).
|
2014-08-26 20:50:41 +04:00 |
|
Ruben Ayrapetyan
|
32ba30ddef
|
Extracting interpreter loop from run_int_from_pos.
|
2014-08-26 20:20:33 +04:00 |
|
Ruben Ayrapetyan
|
bf5bda11ed
|
Implementing 'construct_n' opcode handler.
|
2014-08-26 17:47:14 +04:00 |
|
Ruben Ayrapetyan
|
9573b7234d
|
Implementing 'func_decl_n' and 'func_call_n' opcodes' handlers.
|
2014-08-26 17:30:23 +04:00 |
|
Ruben Ayrapetyan
|
02f31fbcfb
|
Adding 'func_expr_n' opcode; replacing arg1 and arg2 of 'func_decl_n' opcode with arg_list.
|
2014-08-26 15:58:57 +04:00 |
|
Ruben Ayrapetyan
|
7a80b7f4f1
|
Renaming 'construct_decl' opcode to 'construct_n'.
|
2014-08-26 12:50:23 +04:00 |
|
Ruben Ayrapetyan
|
dc3f529307
|
Implementing 'typeof' opcode handler.
|
2014-08-26 12:43:13 +04:00 |
|
Ruben Ayrapetyan
|
704c26ff80
|
Setting ThisBinding of the Global Environment to the Global Object.
|
2014-08-26 12:43:10 +04:00 |
|
Ruben Ayrapetyan
|
9a203c580e
|
Implementing 'this' opcode handler.
|
2014-08-26 12:17:29 +04:00 |
|
Ruben Ayrapetyan
|
38fdcba69c
|
Implementing opfunc_addition with a string-operand.
|
2014-08-26 11:26:47 +04:00 |
|
Ruben Ayrapetyan
|
c72555d25f
|
Introducing new type of ecma-string: concatenation of two ecma-strings (comparison is not implemented). loop_arithmetics_1kk.js: 2.8968 -> 2.8464.
|
2014-08-26 11:11:20 +04:00 |
|
Ruben Ayrapetyan
|
d0963f6d3d
|
Fixing deref and comparison for uint32-represented ecma-strings. loop_arithmetics_1kk.js: 2.8448 -> 2.9056.
|
2014-08-26 11:06:06 +04:00 |
|
Ruben Ayrapetyan
|
2194f80d71
|
Revert "Fixing deref and comparison for uint32-represented ecma-strings."
This reverts commit c3adae65625c4fcf25049a3a67e1f1862b443c35.
|
2014-08-26 11:05:19 +04:00 |
|
Ruben Ayrapetyan
|
6ca0942b74
|
Fixing deref and comparison for uint32-represented ecma-strings.
|
2014-08-26 10:26:47 +04:00 |
|
Ruben Ayrapetyan
|
aeb363075b
|
Adding const qualifier to ecma_string_t* in ecma-string comparison and property search routines.
|
2014-08-25 20:28:26 +04:00 |
|
Ruben Ayrapetyan
|
ebfacc82d3
|
Removing is_length_valid from ecma-string descriptor.
|
2014-08-25 20:11:24 +04:00 |
|
Ruben Ayrapetyan
|
8998189bc0
|
Storing Number as UInt32 in ecma-string if the Number may be represented as UInt32. Calculating length for Number-represented ecma-strings in ecma-string constructor. loop_arithmetics_1kk.js: 2.9112 -> 2.8536.
|
2014-08-25 20:03:33 +04:00 |
|
Ruben Ayrapetyan
|
57965bf160
|
Moving {get,set}_variable_value and do_strict_eval_arguments_check from opcodes-ecma-support.h to opcodes-helpers-variables.c. loop_arithmetics_1kk.js: 3.0848 -> 2.9584.
|
2014-08-25 18:54:46 +04:00 |
|
Ruben Ayrapetyan
|
6fbf3e4eed
|
Implementing accessor properties operations in general objects' [[Get]] and [[Put]] routines.
|
2014-08-22 21:27:46 +04:00 |
|
Ruben Ayrapetyan
|
90c006771f
|
One more fix in Function objects' [[Construct]] routine
|
2014-08-22 21:16:43 +04:00 |
|
Ruben Ayrapetyan
|
e6c10655c5
|
Fixing Function objects'[[Construct]] routine
|
2014-08-22 21:01:58 +04:00 |
|
Ruben Ayrapetyan
|
a341fe044b
|
call_0, call_1 opcode handlers: wrapping function calls using ECMA_FUNCTION_CALL helper
|
2014-08-22 20:50:40 +04:00 |
|
Ruben Ayrapetyan
|
bf1841ce54
|
Full implementation of GetValue, PutValue operations.
|
2014-08-22 20:27:07 +04:00 |
|
Ruben Ayrapetyan
|
6801f22bd9
|
Introducing ECMA_FUNCTION_CALL helper macro for handling return completion values of function calls.
|
2014-08-22 20:26:23 +04:00 |
|
Ruben Ayrapetyan
|
80e6cd3a60
|
Fixing ecma_create_arguments_object: adding deref for allocated ecma-string
|
2014-08-22 18:47:46 +04:00 |
|
Ruben Ayrapetyan
|
077392e5c5
|
Fixing ecma_compare_zt_string_to_zt_string
|
2014-08-22 18:44:54 +04:00 |
|
Ruben Ayrapetyan
|
f266b84016
|
Adding configuration header file for engine's parameters/limitations
|
2014-08-22 18:29:39 +04:00 |
|
Ruben Ayrapetyan
|
dca9bcc387
|
Removing ECMA_TYPE__COUNT enum value; fixing comment to ecma_copy_value
|
2014-08-22 17:50:57 +04:00 |
|
Ruben Ayrapetyan
|
a8486b01ed
|
Partial implementation of 'Object' object construction routine
|
2014-08-22 17:18:29 +04:00 |
|
Ruben Ayrapetyan
|
3bcf02137e
|
Adding stub for Array construction routine
|
2014-08-22 17:17:17 +04:00 |
|
Ruben Ayrapetyan
|
5713373279
|
Partial implementation of [[Construct]] routine for Function objects
|
2014-08-22 16:56:00 +04:00 |
|
Ruben Ayrapetyan
|
50a1532801
|
Implementing opfunc_instanceof using ecma_op_has_instance for [[HasInstance]] call
|
2014-08-22 15:39:23 +04:00 |
|
Ruben Ayrapetyan
|
7a20454047
|
Using ToString for property name conversion in opfunc_in
|
2014-08-22 15:26:05 +04:00 |
|
Ruben Ayrapetyan
|
b1b6ae5a41
|
Partial implementation of [[HasInstance]] ecma-object's operation
|
2014-08-22 15:24:09 +04:00 |
|
Ruben Ayrapetyan
|
9cc27115fa
|
Using ToString for property name conversion in opfunc_getter, opfunc_setter
|
2014-08-22 15:07:21 +04:00 |
|
Ruben Ayrapetyan
|
f7cdb454ed
|
Implementing ToString operation (ecma_op_to_string)
|
2014-08-22 14:40:58 +04:00 |
|
Ruben Ayrapetyan
|
148d9c4cb6
|
Disabling creation of testing notes during pre-push testing
|
2014-08-21 20:14:54 +04:00 |
|
Ruben Ayrapetyan
|
7d38fee700
|
Implementing comparison of ecma-strings for different types of string containers.
|
2014-08-21 19:54:11 +04:00 |
|
Ruben Ayrapetyan
|
bb55d895c4
|
./tools/pull.sh: pulling notes with git pull --rebase. tools/push.sh: make pull just before pushing; pushing master and notes with one command.
|
2014-08-21 18:21:35 +04:00 |
|
Ruben Ayrapetyan
|
2851c59d97
|
Add noopt=1 option to override OPTION_OPTIMIZE to disable.
|
2014-08-21 17:48:26 +04:00 |
|
Ruben Ayrapetyan
|
902f8c3414
|
Reducing build time: make debug.linux 8.778s -> 6.426s; make unittests: 32.230s -> 9.259s.
|
2014-08-21 17:28:14 +04:00 |
|
Ruben Ayrapetyan
|
616c96d3bb
|
Implementing ecma_string_to_zt_string for number-represented string and strings that are stored in literal table
|
2014-08-21 16:46:45 +04:00 |
|
Ruben Ayrapetyan
|
a96705701d
|
Implementing prototype of ToString (Number) routine - ecma_number_to_zt_string; adding unit tests for the routine.
|
2014-08-21 14:43:43 +04:00 |
|
Ruben Ayrapetyan
|
5095bd31c9
|
Ecma-number decoding helpers
|
2014-08-20 19:20:03 +04:00 |
|
Ruben Ayrapetyan
|
284e7fc91b
|
Renaming prop_access opcode to prop_getter; introducing prop_setter opcode; implementing property getter/setter opcode handlers.
|
2014-08-20 16:34:03 +04:00 |
|
Ruben Ayrapetyan
|
fe34bf7e01
|
Fixing: deallocation of number-represented ecma-string; [[Get]] of Arguments object for index arguments.
|
2014-08-20 13:47:51 +04:00 |
|
Ruben Ayrapetyan
|
f9ff4e1ba3
|
Reducing includes of system headers in jerry-libc.c (LIBC_RAW).
|
2014-08-19 20:51:30 +04:00 |
|
Ruben Ayrapetyan
|
50554a81e4
|
Implementing Arguments object construction, [[Get]], [[GetOwnProperty]], [[DefineOwnProperty]], [[Delete]] routines.
|
2014-08-19 19:17:03 +04:00 |
|
Ruben Ayrapetyan
|
d5f50ebd04
|
Add dbgsyms=1 option to override OPTION_DEBUG_SYMS to enable, OPTION_STRIP to disable.
|
2014-08-19 19:17:03 +04:00 |
|
Ruben Ayrapetyan
|
d393d0c041
|
Fixing check of git push status code in tools/push.sh
|
2014-08-18 21:14:35 +04:00 |
|