Commit Graph

86 Commits

Author SHA1 Message Date
Ruben Ayrapetyan bcddffbefb Preparations to lazy conversion of Number to String: introducing ECMA_STRING_CONTAINER_HEAP_NUMBER container type for ecma_string_t. 2014-08-18 16:10:54 +04:00
Ruben Ayrapetyan 04112c6fea Implementing opfunc_call_1. 2014-08-15 20:10:22 +04:00
Ruben Ayrapetyan b582d56ecb Implementing opfunc_decl_1, opfunc_decl_2. 2014-08-15 18:30:47 +04:00
e.gavrin af798a7142 Fix mistype in opfunc_greater_or_equal_than and opfunc_less_or_equal_than opcodes 2014-08-14 20:42:28 +04:00
Ruben Ayrapetyan 1d70fe0a37 Fixing ecma_op_abstract_equality_compare 2014-08-14 20:03:50 +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 c831912ae5 Replacing ecma_array_first_chunk_t with ecma_string_t for ecma-strings. 2014-08-13 19:21:25 +04:00
Ruben Ayrapetyan eee1daec91 Introducing ecma_compare_zt_string_to_zt_string interface that is __strcmp for ecma_char_t* zero-terminated strings. 2014-08-12 18:51:49 +04:00
e.gavrin b3b1ba0206 Formatting fixes in libcoreint 2014-08-12 01:13:32 +04:00
Ruben Ayrapetyan e53be2b441 Renaming ecma_get_pointer, ecma_set_pointer, ecma_set_pointer_non_null macroses to uppercase names. 2014-08-11 19:13:59 +04:00
Ruben Ayrapetyan cc4d55803c Fix func_decl_0: correctly set interpreter's opcode counter. 2014-08-07 19:35:11 +04:00
Ruben Ayrapetyan e3cd8ee942 Generational mark and sweep GC. 2014-08-07 14:54:32 +04:00
Ruben Ayrapetyan e4ce585823 Implementing 'nop' opcode handler. 2014-08-05 15:53:17 +04:00
Ruben Ayrapetyan 020325d199 __HOST -> __TARGET_HOST_X64 2014-07-31 22:23:05 +04:00
Ilmir Usmanov 1d41e8a355 Add 'exit' intrinsic 2014-07-31 21:52:25 +04:00
Ruben Ayrapetyan bfad8e897d Implementing ECMA-262 v5 10.2.1.2 operations (object environment record's CreateMutableBinding, SetMutableBinding, etc.). 2014-07-31 17:13:20 +04:00
Ruben Ayrapetyan b50e091b08 Renaming opcode_idx_t to opcode_counter_t. 2014-07-30 21:54:53 +04:00
Ruben Ayrapetyan 4ebf551525 Renaming interp_bytecode_idx to op_idx_t. 2014-07-30 21:52:17 +04:00
Ruben Ayrapetyan c344cc7422 Correct implementation of opfunc_call_0 that was commited in c8dc00f4558efeb4bc0c2cd5d21e778294cb0d3a. The comment to that revision is incorrect: it specifies that opfunc_func_decl_0 should be rewritten; it is mistake, really it was about opfunc_call_0. 2014-07-30 21:46:02 +04:00
Ruben Ayrapetyan e540590ddd Partial implementation of function call routine ([[Call]]). 2014-07-30 20:34:04 +04:00
Ruben Ayrapetyan df224408fc Introducing ecma_get_magic_string that returns pointer to requested magic string that is used in an ECMA routine. 2014-07-30 17:56:53 +04:00
Ruben Ayrapetyan d4d446cd4f Temporary implementation of 'func_decl_0' opcode handler. Should be rewritten from scratch after 'Function object creation' routine is fully implemented. 2014-07-30 15:44:28 +04:00
Ruben Ayrapetyan ccb0701469 Removing 'ret' opcode from unimplemented opcodes' list. 2014-07-30 15:42:32 +04:00
Ruben Ayrapetyan fe54e4dfd8 Implementation of 'ret' opcode handler. 2014-07-30 15:41:47 +04:00
Ruben Ayrapetyan e6f0057456 Partial implementation of func_decl_0 opcode handler. 2014-07-30 15:40:41 +04:00
Ruben Ayrapetyan c1d0a4dd13 Introducing interp_bytecode_idx type for opcode indexes. 2014-07-30 14:34:31 +04:00
Ruben Ayrapetyan 3ee0e8a8a5 Style fixes regarding 'empty' value: introducing ecma_is_empty_completion_value, reducing usage of the 'empty' value, listing possible usage cases of the 'empty' value in the comment to it's definition. 2014-07-28 21:21:31 +04:00
Ruben Ayrapetyan ff2609eb88 Implementing {pre,post}_{incr,decr} opcodes. 2014-07-25 18:07:18 +04:00
e.gavrin 43a8bbd576 fixed led processing and wait 2014-07-25 17:47:09 +04:00
Ruben Ayrapetyan 6301cba0c3 Implementing equal_value, not_equal_value, less_than, greater_than opcodes. 2014-07-24 21:09:02 +04:00
Ruben Ayrapetyan b2ae827fbd Partially implementing ECMA 'Absract relational comparison' (11.8.5). 2014-07-24 20:31:57 +04:00
Ilmir Usmanov 1f3b5a4c29 Merge 2014-07-24 19:50:37 +04:00
e.gavrin c2f82eefc0 add blink_toggle_once 2014-07-24 19:27:19 +04:00
Ruben Ayrapetyan 89834cd616 Printing of called function's name in 'call_1' opcode handler. 2014-07-24 18:30:49 +04:00
Ruben Ayrapetyan b7a3a13bc9 Implementing register variables. 2014-07-24 18:13:32 +04:00
Ilmir Usmanov 1790739b93 Add 'reg_var_decl' opcode 2014-07-24 15:45:55 +04:00
Ruben Ayrapetyan 2718d8e918 Fixing is_false_jmp, is_true_jmp opcodes; adding them to var_decl and assignment unit tests as partial checks. 2014-07-23 22:22:50 +04:00
Ruben Ayrapetyan 826c6aeca2 Implementing is_false_jmp, is_true_jmp opcodes. 2014-07-23 21:58:15 +04:00
Ruben Ayrapetyan 13b6d13c3c Implementing jmp_down, jmp_up opcodes. 2014-07-23 21:00:03 +04:00
Ilmir Usmanov f1dd405933 Merge 2014-07-23 20:50:29 +04:00
Ilmir Usmanov 764efa41b8 Fix parsing of for-loops. 2014-07-23 20:47:31 +04:00
Ruben Ayrapetyan 8d180e9be1 Minor style fixes. 2014-07-23 20:41:21 +04:00
Ruben Ayrapetyan 1796b9d903 Renaming rest camelCase-named identifiers according to underscore_named_value-naming. 2014-07-23 14:07:45 +04:00
Ruben Ayrapetyan bc0c7824c2 Renaming ecma_* identifiers from 'camelCase' to 'underscore_naming'. 2014-07-23 12:54:56 +04:00
Ruben Ayrapetyan b3b4c74cbe Renaming mem_* identifiers from 'camelCase' to 'underscore_naming'. 2014-07-23 12:54:45 +04:00
Ruben Ayrapetyan 2d4ed154ee Removing m_ prefix from identifiers (m_ValueType -> ValueType, ...). 2014-07-23 11:41:58 +04:00
Ilmir Usmanov 18fcf4bd77 Merge with 'geppetto': Generate bytecode while parsing 2014-07-22 21:18:19 +04:00
Ilmir Usmanov efb7009cfb Generate bytecode while parsing 2014-07-22 20:49:51 +04:00