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