631 Commits

Author SHA1 Message Date
Ilmir Usmanov
615903dbf5 Fix call expression without args bytecode generation 2014-09-22 20:21:44 +04:00
Ilmir Usmanov
56e6d2a380 Add if_else.js test. Fix bytecode generation. 2014-09-17 20:21:30 +04:00
Ilmir Usmanov
70cc5128cc Add test try_catch_finally.js. Fix parser and interpreter 2014-09-17 18:58:16 +04:00
Ruben Ayrapetyan
64613b5513 Reducing number of iterations in tests/jerry/nested_function.js 10000 -> 1000. 2014-09-17 12:55:22 +04:00
Ilmir Usmanov
d4cd8be349 Fix asserts in opfunc_*jmp_down functions. 2014-09-16 22:36:26 +04:00
Ilmir Usmanov
e77bd4f4e5 Add try-catch-finally support: parse and generate opcodes for this construct
Fix varg generation: generate *_n opcodes with parameters in following meta opcodes
Add stack internal structure: dimanically allocated stack.
Use dynamically allocated memory in parser: every local and global variables are stored in dinamically allocated stacks.
Use dynamically allocated memory in serializer: opcodes are also stored in stack.
Change is_true_jmp and is_false_jmp opcodes to relative.
Change *jmp* opcodes to be able to store opcode_counter_t instead of idx_t.
2014-09-16 21:32:59 +04:00
Ruben Ayrapetyan
cd41b236d9 Statistics of memory usage during interpretation. 2014-09-16 21:19:07 +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
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
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
57058c30ef Implementing rest unimplemented cases in ecma comparison routines. 2014-09-02 22:18:28 +04:00
Ruben Ayrapetyan
9acbaafc8e Implementing ecma-strings relational comparison helper. 2014-09-02 21:10:50 +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
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
ddb2e6e9d5 Introducing and implementing 'throw' and 'try' opcode handlers. 2014-08-28 18:57:34 +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
dc3f529307 Implementing 'typeof' opcode handler. 2014-08-26 12:43:13 +04:00
Ruben Ayrapetyan
38fdcba69c Implementing opfunc_addition with a string-operand. 2014-08-26 11:26:47 +04:00
e.gavrin
a99907670b OPCODE define replaced with opcode_t. T_IDX define replaced with idx_t. 2014-08-23 00:53:41 +04:00
e.gavrin
0eece0be5a Remove not needed opcode-support.[c,h] 2014-08-23 00:24:49 +04:00
e.gavrin
d80cb10361 Refine opcodes OP_LIST macro. Removed ambiguous lists of opcodes in several files. The only list is in opcodes.h 2014-08-23 00:16:56 +04:00
e.gavrin
d4a9d9430e Refactoring of libcoreint part1 2014-08-23 00:16:56 +04:00
e.gavrin
7bda6e9d01 Add opcode handlers for logical_[not, or, and]] 2014-08-22 01:27:37 +04:00
e.gavrin
b822c704e5 Add b_not opcode handler. Fixes in shift opcodes and in test 2014-08-21 22:52:34 +04:00
e.gavrin
7dea812364 Add shift opcodes handlers 2014-08-21 21:39:05 +04:00
e.gavrin
dfcc3a0986 Add retval opcode handler. 2014-08-21 20:01:50 +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
471bbd9fc4 Test for function calls with args. 2014-08-15 20:14:02 +04:00
Ruben Ayrapetyan
0447d128d0 Implementing b_and, b_or, b_xor opcode handlers. 2014-08-14 19:56:55 +04:00
e.gavrin
a075051d6f Add opfunc_equal_value_type and opfunc_not_equal_value_type opcode handlers. Add test. 2014-08-14 18:04:43 +04:00
e.gavrin
7803e073c4 Add opfuncs for greater_or_equal_than and less_or_equal_than opcodes. Add test. 2014-08-14 16:36:53 +04:00
Ruben Ayrapetyan
4bacc6c957 Adding literal variable to tests/jerry/variables.js. 2014-08-13 19:30:37 +04:00
e.gavrin
871c36feb7 Enable variables.js test 2014-08-13 18:10:04 +04:00
Ilmir Usmanov
2e1da4cae5 Quickfix N2 2014-08-12 22:48:24 +04:00
e.gavrin
464bf578cc Remove unneeded test 2014-08-12 00:20:39 +04:00
Ilmir Usmanov
5373b60955 Reformat 2014-08-11 23:17:45 +04:00
e.gavrin
14d8b0d55e Add new runtime tests 2014-08-11 19:08:54 +04:00
Ruben Ayrapetyan
4fb0080701 Adding test nested_function.js. 2014-08-08 23:20:34 +04:00
Ruben Ayrapetyan
7b04e9eaeb Compacting pool header to 8 bytes. Replaced typed pool chunks with fixed-size untyped ones. loop_arithmetics_1kk.js benchmark: 2.98517 -> 2.9443. 2014-08-08 23:11:06 +04:00
Ruben Ayrapetyan
0194e63331 Removing pool bitmaps; optimizing search for free pool chunks. loop_arithmetics_1kk.js benchmark: 4.134s -> 3.479s. 2014-08-08 14:26:28 +04:00
Ruben Ayrapetyan
4ff5042abc Enabling full testing mode during pre-commit. 2014-08-06 15:54:37 +04:00
Ilmir Usmanov
4a7bb710fa Add 'assert' intrinsic 2014-08-06 14:17:53 +04:00
Ilmir Usmanov
bfe2293d43 Replace repeated var_decls with nop 2014-08-05 14:52:03 +04:00
Ilmir Usmanov
3b624be051 Fix adjusting jumps 2014-08-05 11:51:49 +04:00
e.gavrin
b1f940c863 add new benchmark and new test 2014-07-31 23:44:18 +04:00