e.gavrin
3c815cc68a
Add test from chapter 11. Part1.
2014-10-08 15:06:17 +04:00
Ilmir Usmanov
9775d23274
Support 'delete' and 'void' operators in parser.
2014-10-08 14:52:38 +04:00
e.gavrin
2ebc8ef6fd
Fix tests
2014-10-07 22:28:15 +04:00
Ilmir Usmanov
3d3da5d481
Preparser: new pass to order var_decls prior to parser
2014-10-07 20:14:41 +04:00
e.gavrin
7f8f03ad20
Add test on chapter 15
2014-10-07 17:43:18 +04:00
Ilmir Usmanov
62cc3cc604
Fix && and || parsing
2014-10-06 14:35:26 +04:00
Ilmir Usmanov
3d5fd214f3
Add switch-case
2014-10-06 14:35:26 +04:00
e.gavrin
a79c816553
Add jerry-test-suite for chapters 7,8,10,12,13
2014-10-05 20:34:47 +04:00
Ilmir Usmanov
af00691d1d
Add this_arg dumping in parser
2014-10-02 19:31:29 +04:00
Ilmir Usmanov
6561c3fe6c
Add support of array initialization like [1,,,'4']
2014-09-30 19:44:45 +04:00
Ruben Ayrapetyan
47d384c565
Partial implementation of the Array.prototype built-in object.
2014-09-26 20:07:45 +04:00
Ruben Ayrapetyan
bef5289cb6
Adding stubs for Function and Function.prototype built-ins.
2014-09-26 19:26:17 +04:00
Ruben Ayrapetyan
ba2eeb84af
Implementing String.prototype.toString and String.prototype.valueOf built-in routines.
2014-09-25 21:04:24 +04:00
Ilmir Usmanov
cde880b1cf
Fix 'break' parsing
2014-09-25 18:06:21 +04:00
Ruben Ayrapetyan
c2ca158d19
Implementing Array built-in.
2014-09-25 14:58:45 +04:00
Ruben Ayrapetyan
3efdcfa2ea
Implementing String built-in object.
2014-09-24 21:40:11 +04:00
Ruben Ayrapetyan
10ee3c4fb1
Implementing Math.pow built-in.
2014-09-24 18:49:41 +04:00
Ruben Ayrapetyan
44a2f7ba39
Implementing Math.log built-in.
2014-09-24 17:10:42 +04:00
Ruben Ayrapetyan
85a3a9a690
Implementing Math.exp built-in.
2014-09-24 16:01:57 +04:00
Ilmir Usmanov
0738ec6a54
Add generation of prop_setter.
2014-09-24 15:30:37 +04:00
Ilmir Usmanov
8bcc37d0f8
Fix prop_getter, construct_n, array_n generation.
2014-09-23 22:53:35 +04:00
Ruben Ayrapetyan
9b69ea4d6d
Implementing Math.sqrt.
2014-09-23 21:56:44 +04:00
Ilmir Usmanov
f17ca4c455
Fix post_* opcodes generation
2014-09-23 20:32:22 +04:00
Ruben Ayrapetyan
6c422fec2e
Implementing Math.min and Math.max built-ins.
2014-09-23 18:44:27 +04:00
Ruben Ayrapetyan
c5fd835931
Implementing Math.abs and Math.round built-ins.
2014-09-23 17:22:01 +04:00
Ilmir Usmanov
8a5b956e38
Simplify serializer/deserializer. Reduce memory usage in lexer. Create HashTable data structure. Finish preparations for introducing new strings addressation.
2014-09-23 16:45:10 +04:00
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