43 Commits

Author SHA1 Message Date
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
dfcc3a0986 Add retval opcode handler. 2014-08-21 20:01:50 +04:00
Ruben Ayrapetyan
9d33a91822 Storing literals' indexes instead of literals' contents in ecma-strings if possible. 2014-08-18 20:52:02 +04:00
Ruben Ayrapetyan
b582d56ecb Implementing opfunc_decl_1, opfunc_decl_2. 2014-08-15 18:30:47 +04:00
e.gavrin
d40c21b616 Fixes for interpreter.* 2014-08-12 00:53:40 +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
99c15ef802 Implementing object model, memory allocators finalization routines. Adding assertion that all memory was freed before exit. 2014-08-07 19:24:32 +04:00
Ruben Ayrapetyan
e3cd8ee942 Generational mark and sweep GC. 2014-08-07 14:54:32 +04:00
Ruben Ayrapetyan
2c85a55c85 Introducing Global Environment constructor; using Global Environment as starting lexical environment. 2014-07-31 17:21:47 +04:00
Ruben Ayrapetyan
c364461b80 Splitting ecma_create_lexical_environment to ecma_create_decl_lex_env and ecma_create_object_lex_env. 2014-07-31 14:48:28 +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
e540590ddd Partial implementation of function call routine ([[Call]]). 2014-07-30 20:34:04 +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
63a757a5a7 Connecting try_get_str_by_idx with deserialize_string_by_id and get_number_by_idx with deserialize_num_by_id. 2014-07-24 18:28:46 +04:00
Ruben Ayrapetyan
b7a3a13bc9 Implementing register variables. 2014-07-24 18:13:32 +04:00
Ruben Ayrapetyan
bc0c7824c2 Renaming ecma_* identifiers from 'camelCase' to 'underscore_naming'. 2014-07-23 12:54:56 +04:00
Ruben Ayrapetyan
cc513e9f35 Adding assertion that interpreter doesn't receive non-empty normal ecma completion value. 2014-07-22 19:01:11 +04:00
Ruben Ayrapetyan
7a0612d441 Adding is_strict flag to interpreter context. 2014-07-21 20:24:48 +04:00
Ruben Ayrapetyan
2590b032e1 Fixing get_number_by_idx. 2014-07-21 19:41:12 +04:00
Ruben Ayrapetyan
84131d9a28 Introducing get_number_by_idx interface for retrieving literal number value by it's identifier. Change ecma_Number_t type from double to float. 2014-07-21 19:16:08 +04:00
Ruben Ayrapetyan
ef51126aab Adding boolean return value, indicating whether script execution finished with success or failure, to run_int. Moving opcode loop from run_int to run_int_from_pos. 2014-07-18 12:27:17 +04:00
Ruben Ayrapetyan
819b947445 Introducing try_get_string_by_idx interface for retrieving literal string value by it's identifier. 2014-07-17 21:07:25 +04:00
e.gavrin
a61d31e9bf fix style error: Variable xxx hides enumerator with same name 2014-07-16 23:20:27 +04:00
e.gavrin
73bf0f9be1 remove unused gen_bytecode and save_op_data 2014-07-16 23:03:58 +04:00
Ilmir Usmanov
99464d6ca7 Quickfix 2014-07-10 11:26:52 +04:00
Ilmir Usmanov
2d4b325d24 Fix warnings 2014-07-10 11:01:40 +04:00
e.gavrin
7c55a15002 uncomment assert (opcode <=4) 2014-07-09 19:58:28 +04:00
Ilmir Usmanov
a2350cb88e Change parser to stack-only version 2014-07-09 18:05:19 +04:00
Ilmir Usmanov
f46d5b440c Merge line-by-line parser 2014-07-09 16:17:42 +04:00
e.gavrin
f18a5f5e31 opcodes + refined int structure 2014-07-08 13:18:00 +04:00
e.gavrin
21db33fa97 added opcodes 2014-07-07 23:18:49 +04:00
e.gavrin
8ab8adb031 fixed 2014-07-07 11:55:10 +04:00
e.gavrin
2091bfb9e4 opcodes 2014-07-04 23:51:42 +04:00
e.gavrin
aace544c55 fixed Makefile and tests, wrapped interpreter and opcodes 2014-07-04 21:34:44 +04:00
e.gavrin
7759e4b99f fixes 2014-07-04 19:08:21 +04:00
e.gavrin
e3e0167249 remove output from lexer, fixes 2014-07-04 17:11:06 +04:00
e.gavrin
052efb86a9 jmps 2014-07-03 19:22:36 +04:00
e.gavrin
b05eb83966 fixed dump opcode struct 2014-07-03 18:27:49 +04:00
e.gavrin
3fde3400f4 manualy generated blinky opcodes 2014-07-03 16:23:25 +04:00
e.gavrin
eb38816fc4 new generated file + genscript + skeleton of interpreter 2014-07-02 16:42:03 +04:00