Commit Graph

  • 4ebf551525 Renaming interp_bytecode_idx to op_idx_t. Ruben Ayrapetyan 2014-07-30 21:52:17 +04:00
  • 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. Ruben Ayrapetyan 2014-07-30 21:46:02 +04:00
  • e540590ddd Partial implementation of function call routine ([[Call]]). Ruben Ayrapetyan 2014-07-30 20:34:04 +04:00
  • 221fb47a77 Implementing steps 16 - 19 of 'Function object creation' routine; creating ecma_op_get_throw_type_error stub. Ruben Ayrapetyan 2014-07-30 18:27:48 +04:00
  • 45a3d52d70 Fixing [[DefineOwnProperty]]: correctly setting up value of data named property; correctly increasing reference counters of getter and setter. Ruben Ayrapetyan 2014-07-30 18:24:14 +04:00
  • df224408fc Introducing ecma_get_magic_string that returns pointer to requested magic string that is used in an ECMA routine. Ruben Ayrapetyan 2014-07-30 17:56:53 +04:00
  • b059212e32 Implementing IsCallable operation. Ruben Ayrapetyan 2014-07-30 17:48:28 +04:00
  • d4d446cd4f Temporary implementation of 'func_decl_0' opcode handler. Should be rewritten from scratch after 'Function object creation' routine is fully implemented. Ruben Ayrapetyan 2014-07-30 15:44:28 +04:00
  • ccb0701469 Removing 'ret' opcode from unimplemented opcodes' list. Ruben Ayrapetyan 2014-07-30 15:42:32 +04:00
  • fe54e4dfd8 Implementation of 'ret' opcode handler. Ruben Ayrapetyan 2014-07-30 15:41:47 +04:00
  • e6f0057456 Partial implementation of func_decl_0 opcode handler. Ruben Ayrapetyan 2014-07-30 15:40:41 +04:00
  • f05719d622 Partial implementation of ECMA Function object creation routine. Ruben Ayrapetyan 2014-07-30 15:36:21 +04:00
  • 7bca73b8be Removing build targets from 'all' because check targets call build targets themself. Ruben Ayrapetyan 2014-07-30 15:08:50 +04:00
  • 52495b2cc1 Generating version info without header file. Ruben Ayrapetyan 2014-07-30 15:08:02 +04:00
  • c6baf89035 Merge branch 'master' of git-server:jerry e.gavrin 2014-07-30 14:43:13 +04:00
  • ab4e59700f add message on top main with info about branch/revision data e.gavrin 2014-07-30 14:43:02 +04:00
  • c1d0a4dd13 Introducing interp_bytecode_idx type for opcode indexes. Ruben Ayrapetyan 2014-07-30 14:34:31 +04:00
  • 0dd67e4799 Introducing ecma_object_class_t type that describes ecma-defined object classes (value of ECMA_INTERNAL_PROPERTY_CLASS internal property); adding outer lexical environment's reference counter increment in ecma_create_lexical_environment; updating ecma_create_object to support object type field (that is not connected with ecma-defined object class, but is internal implementation defined type of an object). Ruben Ayrapetyan 2014-07-30 14:24:01 +04:00
  • f8743a1375 Switching from 'echa_char_t*' to 'const ecma_char_t*' where appropriate. Ruben Ayrapetyan 2014-07-30 14:20:20 +04:00
  • 56daef38eb Fixing debug.stm32f4: uncommented memcpy and memset aliases, placed them under #ifndef LIBC_MUSL. Ruben Ayrapetyan 2014-07-30 13:57:40 +04:00
  • d8c721f57a Fix not working ulimit while using musl=1. Add color flag, that enables -fdiagnostics-color=always if specified e.gavrin 2014-07-30 00:22:14 +04:00
  • 076af9e1d3 add musl support for host systems using musl=1 flag e.gavrin 2014-07-29 23:28:11 +04:00
  • 8c5309d131 Add jump after function declaration and function expression header Ilmir Usmanov 2014-07-29 20:22:12 +04:00
  • 7d20bb3361 Merge branch 'master' into geppetto Ilmir Usmanov 2014-07-29 17:49:23 +04:00
  • e497875c06 Change strings offset size from 8 bits to 16 bits Ilmir Usmanov 2014-07-29 17:49:13 +04:00
  • 8d387cd32f Introducing make parameters todo, fixme and echo: todo/fixme enable printing of todo/fixme pragma messages if set to 1 (that are disabled by default after this commit); echo enables compilation/linking command line echoing if set to 1. Ruben Ayrapetyan 2014-07-29 14:52:42 +04:00
  • 299c94ee85 Implementation of general objects' [[GetOwnProperty]], [[GetProperty]], [[CanPut]], [[HasProperty]], [[Delete]]; partial implementation of general objects' [[Get]], [[Put]], [[DefineOwnProperty]]. Ruben Ayrapetyan 2014-07-29 14:32:01 +04:00
  • 5aaa853b9f Stable and tested demo ^^ e.gavrin 2014-07-29 12:23:04 +04:00
  • f4cdf1d266 Stable demo e.gavrin 2014-07-29 12:21:30 +04:00
  • ac22173ddd Merge branch 'master' of git-server:jerry Ilmir Usmanov 2014-07-29 11:55:37 +04:00
  • bc9d80147a Reduce lexer's memory consumption Ilmir Usmanov 2014-07-29 11:55:16 +04:00
  • 4cefa6950e Fix ecma_op_define_own_property argument list: the routine now takes property descriptor as an argument instead of property. Ruben Ayrapetyan 2014-07-28 21:57:27 +04:00
  • b073701da4 Introducing ECMA property descriptor (8.10) type and helpers for it: constructor and destructor. Ruben Ayrapetyan 2014-07-28 21:54:42 +04:00
  • 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. Ruben Ayrapetyan 2014-07-28 21:21:31 +04:00
  • 177a2d1382 Merge branch 'geppetto' Ilmir Usmanov 2014-07-28 19:39:25 +04:00
  • 1b6638f073 Add ERR_MEMORY exit code to show that there was not enough memory; fix debug.stm build Ilmir Usmanov 2014-07-28 19:39:11 +04:00
  • cae07c0832 Implementing stubs for ecma objects' common internal properties and methods (ECMA-262 v5, Table 8). Ruben Ayrapetyan 2014-07-28 18:14:24 +04:00
  • d927d3e320 Fixes after review: simplification Ilmir Usmanov 2014-07-28 17:59:46 +04:00
  • 306f111a28 Add 'make testparser' option to test parser only Ilmir Usmanov 2014-07-28 17:28:18 +04:00
  • 24403c618e Merge branch 'geppetto' Ilmir Usmanov 2014-07-28 15:56:56 +04:00
  • 06473f0db2 Add Dolphin's .directory files to ignore Ilmir Usmanov 2014-07-28 15:56:28 +04:00
  • 7840a846e8 Fix: removing extra semi-colon after FIXME. Ruben Ayrapetyan 2014-07-28 15:46:12 +04:00
  • 7984c7e65f Fixing comment about an object's maximum reference counter. Adding runtime check for the counter's overflow. Ruben Ayrapetyan 2014-07-28 15:17:01 +04:00
  • 27f6d2b552 Fixing test_poolman that is failing after 6b050cc03719bfdb49b68eeb5deeed61bc51ff5a. Ruben Ayrapetyan 2014-07-25 20:23:34 +04:00
  • f1a0e616b1 Resident set size measurement script. Ruben Ayrapetyan 2014-07-25 20:16:43 +04:00
  • 09c1f91bb3 Printing heap's block headers before beginning of unit test. Ruben Ayrapetyan 2014-07-25 20:00:59 +04:00
  • 43ad060aa0 add js fuzz e.gavrin 2014-07-25 19:44:00 +04:00
  • 65b4968a69 fix text e.gavrin 2014-07-25 19:24:19 +04:00
  • e3c8af68f5 Enhancement of heap memory usage statistics output. Ruben Ayrapetyan 2014-07-25 19:16:52 +04:00
  • 5e4078095a Print heap memory usage statistics before exit (host version). Ruben Ayrapetyan 2014-07-25 19:09:10 +04:00
  • d90dccde9a Reducing heap's chunk size to 64 bytes, heap size to 2.5K; RAM size to 8K in stm32f4 linker script. Ruben Ayrapetyan 2014-07-25 19:03:45 +04:00
  • 78f92d8377 fix generated with appropriate example, limit ram with 48KB e.gavrin 2014-07-25 18:34:13 +04:00
  • 222e9e680c Adding assertion checks in serializer_dump_opcode and serializer_rewrite_opcode to avoid buffer overrun. Ruben Ayrapetyan 2014-07-25 18:19:36 +04:00
  • ff2609eb88 Implementing {pre,post}_{incr,decr} opcodes. Ruben Ayrapetyan 2014-07-25 18:07:18 +04:00
  • cfdef23303 Adding compilation flag '-Wfatal-errors'. Ruben Ayrapetyan 2014-07-25 18:06:45 +04:00
  • 43a8bbd576 fixed led processing and wait e.gavrin 2014-07-25 17:47:09 +04:00
  • 5da1df37de add led_on, led_off, led_toggle, led_blink_one to lib e.gavrin 2014-07-25 16:29:12 +04:00
  • 8745c47192 Merge branch 'geppetto' Ilmir Usmanov 2014-07-25 14:16:52 +04:00
  • 40007126fa Fix memory corruptions in lexer, which occured while parsing cse.js; remove lexer.log and parser.log files Ilmir Usmanov 2014-07-25 14:16:29 +04:00
  • 361e5a6f38 Use -gdwarf-3 by default, -gdwarf-4 if dwarf4=1 option is passed to make. Ruben Ayrapetyan 2014-07-25 13:51:35 +04:00
  • 1d42426fa4 Merge branch 'master' of git-server:jerry e.gavrin 2014-07-25 13:18:44 +04:00
  • 8094de86d1 add wait for stm, move fake_exit to peripheraks e.gavrin 2014-07-25 13:18:31 +04:00
  • c9c26251a4 Add savings bytecode in memory on target Ilmir Usmanov 2014-07-25 12:37:29 +04:00
  • 518ff9a864 Merge branch 'master' into geppetto Ilmir Usmanov 2014-07-24 21:51:17 +04:00
  • 7077e42c85 Improving performance of building unittests. Ruben Ayrapetyan 2014-07-24 21:41:04 +04:00
  • 8fadaf5277 Merge branch 'master' into geppetto Ilmir Usmanov 2014-07-24 21:40:59 +04:00
  • c6c2abce0e Merge Ilmir Usmanov 2014-07-24 21:40:30 +04:00
  • 7f918612c1 Removing 'dev.*' targets. Ruben Ayrapetyan 2014-07-24 21:19:34 +04:00
  • 6301cba0c3 Implementing equal_value, not_equal_value, less_than, greater_than opcodes. Ruben Ayrapetyan 2014-07-24 21:09:02 +04:00
  • 20b04a5ed7 Adding ecma-try-catch-macro.h that should have been a part of previous commit. Ruben Ayrapetyan 2014-07-24 20:33:58 +04:00
  • b2ae827fbd Partially implementing ECMA 'Absract relational comparison' (11.8.5). Ruben Ayrapetyan 2014-07-24 20:31:57 +04:00
  • 61550f2029 Fixing opcode unit tests. Ruben Ayrapetyan 2014-07-24 20:04:27 +04:00
  • 1f3b5a4c29 Merge Ilmir Usmanov 2014-07-24 19:50:37 +04:00
  • 3b0fef6e04 Add opcodes for increment and decrement; add optimizer Ilmir Usmanov 2014-07-24 19:27:58 +04:00
  • c2f82eefc0 add blink_toggle_once e.gavrin 2014-07-24 19:27:19 +04:00
  • 89834cd616 Printing of called function's name in 'call_1' opcode handler. Ruben Ayrapetyan 2014-07-24 18:30:49 +04:00
  • 63a757a5a7 Connecting try_get_str_by_idx with deserialize_string_by_id and get_number_by_idx with deserialize_num_by_id. Ruben Ayrapetyan 2014-07-24 18:28:46 +04:00
  • b7a3a13bc9 Implementing register variables. Ruben Ayrapetyan 2014-07-24 18:13:32 +04:00
  • c837c7d435 Optimize reg_var_decl memory usage Ilmir Usmanov 2014-07-24 16:54:59 +04:00
  • 389cd34bc0 Enable address sanitizer + color output e.gavrin 2014-07-24 15:57:10 +04:00
  • 1790739b93 Add 'reg_var_decl' opcode Ilmir Usmanov 2014-07-24 15:45:55 +04:00
  • b4404578ca Lazy initialization in deserializer Ilmir Usmanov 2014-07-24 15:24:51 +04:00
  • ea4278184c Rename deserializer_get_* -> deserialize_* Ilmir Usmanov 2014-07-24 12:17:59 +04:00
  • 60fa1d1178 Add checks of dumped literals and identifiers. Fix deserializer and serializer. Ilmir Usmanov 2014-07-24 11:55:14 +04:00
  • 597b5fe5c2 Merge branch 'master' of git-server:jerry Ilmir Usmanov 2014-07-23 22:56:06 +04:00
  • ed4e2a20e4 Add deserializer Ilmir Usmanov 2014-07-23 22:55:45 +04:00
  • 2718d8e918 Fixing is_false_jmp, is_true_jmp opcodes; adding them to var_decl and assignment unit tests as partial checks. Ruben Ayrapetyan 2014-07-23 22:22:50 +04:00
  • d659b703a1 Style fix in ecma_make_reference. Ruben Ayrapetyan 2014-07-23 21:59:32 +04:00
  • 826c6aeca2 Implementing is_false_jmp, is_true_jmp opcodes. Ruben Ayrapetyan 2014-07-23 21:58:15 +04:00
  • b923468720 Merge branch 'geppetto' Ilmir Usmanov 2014-07-23 21:34:43 +04:00
  • db9d18bd26 Don't dump trash Ilmir Usmanov 2014-07-23 21:34:25 +04:00
  • 13b6d13c3c Implementing jmp_down, jmp_up opcodes. Ruben Ayrapetyan 2014-07-23 21:00:03 +04:00
  • f1dd405933 Merge Ilmir Usmanov 2014-07-23 20:50:29 +04:00
  • 764efa41b8 Fix parsing of for-loops. Ilmir Usmanov 2014-07-23 20:47:31 +04:00
  • 8d180e9be1 Minor style fixes. Ruben Ayrapetyan 2014-07-23 20:41:21 +04:00
  • 2ff5d14b06 new test e.gavrin 2014-07-23 19:44:29 +04:00
  • 26c00acd50 Refinement of src/main.c. Ruben Ayrapetyan 2014-07-23 19:08:06 +04:00
  • 0b76dfb6df Merge branch 'master' of git-server:jerry e.gavrin 2014-07-23 18:59:21 +04:00
  • e5cdf93d2d Dump script line before bytecode (Only on host). Fix parsing literals: assing literal to temp before usage. Ilmir Usmanov 2014-07-23 18:43:03 +04:00
  • d57da2aa8a Num literals outside of assignments (in lists) are not allowed Ilmir Usmanov 2014-07-23 17:52:02 +04:00