Commit Graph

  • 16cbe0c63b Removing try_get_string_by_idx and get_number_by_idx. Ruben Ayrapetyan 2014-08-28 21:19:44 +04:00
  • b36f997ef2 Determining if global code is strict code by checking if first opcode is 'meta' opcode of OPCODE_META_TYPE_STRICT_CODE type; setting 'configurableBindings' in 'var_decl' opcode to true if current code is eval code. Ruben Ayrapetyan 2014-08-28 20:29:42 +04:00
  • b529fc2da9 Processing unhandled exception by exiting engine with ERR_UNHANDLED_EXCEPTION; determining if function's code is strict by checking for appearance of 'meta' opcode of OPCODE_META_TYPE_STRICT_CODE type at the beginning of the function's code. Ruben Ayrapetyan 2014-08-28 20:21:32 +04:00
  • ddb2e6e9d5 Introducing and implementing 'throw' and 'try' opcode handlers. Ruben Ayrapetyan 2014-08-28 18:57:34 +04:00
  • 647f6b3c67 Renaming OPCODE_META_TYPE_OPCODE_COUNTER -> OPCODE_META_TYPE_FUNCTION_END. Ruben Ayrapetyan 2014-08-28 16:49:03 +04:00
  • 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. Ruben Ayrapetyan 2014-08-28 15:17:49 +04:00
  • 5d2b535cec Implementing 'with' opcode; replacing 'end_with' opcode with 'meta' opcode of corresponding type. Ruben Ayrapetyan 2014-08-27 21:38:53 +04:00
  • f08c242156 Implementing 'obj_decl' opcode; replacing 'prop', 'prop_get_decl', 'prop_set_decl' with 'meta' opcodes of corresponding types. Ruben Ayrapetyan 2014-08-27 20:43:31 +04:00
  • d286a93e2c Replacing 'varg' opcode with 'meta' opcode with corresponding type. Ruben Ayrapetyan 2014-08-27 19:35:53 +04:00
  • 2feb159fd8 Implementing 'array_decl' opcode handler. Ruben Ayrapetyan 2014-08-27 18:28:26 +04:00
  • 76121926d1 Splitting 'delete' opcode to 'delete_var' and 'delete_prop'. Implementing corresponding opcode handlers. Ruben Ayrapetyan 2014-08-27 17:12:59 +04:00
  • 05185bb2e9 Implementing 'native_call' opcode handler. Ruben Ayrapetyan 2014-08-27 15:38:31 +04:00
  • bc2f827447 Implementing 'unreachable' handler for 'meta' opcode. Ruben Ayrapetyan 2014-08-27 13:45:27 +04:00
  • f8907573dd Implementing 'func_expr_n' opcode handler. Ruben Ayrapetyan 2014-08-26 22:15:40 +04:00
  • 6cfcedb053 Evaluation of expressions passed in arguments lists just before corresponding 'varg' opcodes. Ruben Ayrapetyan 2014-08-26 21:39:54 +04:00
  • 6f58335f23 Replacing 'varg_list' (3 args) with 'varg' (1 arg). Ruben Ayrapetyan 2014-08-26 20:50:41 +04:00
  • 32ba30ddef Extracting interpreter loop from run_int_from_pos. Ruben Ayrapetyan 2014-08-26 20:20:33 +04:00
  • bf5bda11ed Implementing 'construct_n' opcode handler. Ruben Ayrapetyan 2014-08-26 17:47:14 +04:00
  • 9573b7234d Implementing 'func_decl_n' and 'func_call_n' opcodes' handlers. Ruben Ayrapetyan 2014-08-26 17:30:23 +04:00
  • 02f31fbcfb Adding 'func_expr_n' opcode; replacing arg1 and arg2 of 'func_decl_n' opcode with arg_list. Ruben Ayrapetyan 2014-08-26 15:58:57 +04:00
  • 7a80b7f4f1 Renaming 'construct_decl' opcode to 'construct_n'. Ruben Ayrapetyan 2014-08-26 12:50:23 +04:00
  • dc3f529307 Implementing 'typeof' opcode handler. Ruben Ayrapetyan 2014-08-26 12:43:13 +04:00
  • 704c26ff80 Setting ThisBinding of the Global Environment to the Global Object. Ruben Ayrapetyan 2014-08-26 12:43:10 +04:00
  • 9a203c580e Implementing 'this' opcode handler. Ruben Ayrapetyan 2014-08-26 12:17:21 +04:00
  • 38fdcba69c Implementing opfunc_addition with a string-operand. Ruben Ayrapetyan 2014-08-26 11:26:44 +04:00
  • c72555d25f Introducing new type of ecma-string: concatenation of two ecma-strings (comparison is not implemented). loop_arithmetics_1kk.js: 2.8968 -> 2.8464. Ruben Ayrapetyan 2014-08-26 10:59:03 +04:00
  • d0963f6d3d Fixing deref and comparison for uint32-represented ecma-strings. loop_arithmetics_1kk.js: 2.8448 -> 2.9056. Ruben Ayrapetyan 2014-08-26 11:06:06 +04:00
  • 2194f80d71 Revert "Fixing deref and comparison for uint32-represented ecma-strings." Ruben Ayrapetyan 2014-08-26 11:05:19 +04:00
  • 6ca0942b74 Fixing deref and comparison for uint32-represented ecma-strings. Ruben Ayrapetyan 2014-08-25 21:46:05 +04:00
  • aeb363075b Adding const qualifier to ecma_string_t* in ecma-string comparison and property search routines. Ruben Ayrapetyan 2014-08-25 20:28:26 +04:00
  • ebfacc82d3 Removing is_length_valid from ecma-string descriptor. Ruben Ayrapetyan 2014-08-25 20:09:08 +04:00
  • 8998189bc0 Storing Number as UInt32 in ecma-string if the Number may be represented as UInt32. Calculating length for Number-represented ecma-strings in ecma-string constructor. loop_arithmetics_1kk.js: 2.9112 -> 2.8536. Ruben Ayrapetyan 2014-08-25 19:58:55 +04:00
  • 57965bf160 Moving {get,set}_variable_value and do_strict_eval_arguments_check from opcodes-ecma-support.h to opcodes-helpers-variables.c. loop_arithmetics_1kk.js: 3.0848 -> 2.9584. Ruben Ayrapetyan 2014-08-25 18:51:37 +04:00
  • 4ffbdd2c3f __opcode -> opcode_t e.gavrin 2014-08-23 02:01:56 +04:00
  • a99907670b OPCODE define replaced with opcode_t. T_IDX define replaced with idx_t. e.gavrin 2014-08-23 00:53:41 +04:00
  • 0eece0be5a Remove not needed opcode-support.[c,h] e.gavrin 2014-08-23 00:24:49 +04:00
  • d80cb10361 Refine opcodes OP_LIST macro. Removed ambiguous lists of opcodes in several files. The only list is in opcodes.h e.gavrin 2014-08-23 00:13:42 +04:00
  • d4a9d9430e Refactoring of libcoreint part1 e.gavrin 2014-08-22 21:13:35 +04:00
  • 6fbf3e4eed Implementing accessor properties operations in general objects' [[Get]] and [[Put]] routines. Ruben Ayrapetyan 2014-08-22 21:27:46 +04:00
  • 90c006771f One more fix in Function objects' [[Construct]] routine Ruben Ayrapetyan 2014-08-22 21:16:43 +04:00
  • e6c10655c5 Fixing Function objects'[[Construct]] routine Ruben Ayrapetyan 2014-08-22 21:01:58 +04:00
  • a341fe044b call_0, call_1 opcode handlers: wrapping function calls using ECMA_FUNCTION_CALL helper Ruben Ayrapetyan 2014-08-22 20:50:40 +04:00
  • bf1841ce54 Full implementation of GetValue, PutValue operations. Ruben Ayrapetyan 2014-08-22 20:27:07 +04:00
  • 6801f22bd9 Introducing ECMA_FUNCTION_CALL helper macro for handling return completion values of function calls. Ruben Ayrapetyan 2014-08-22 20:26:23 +04:00
  • 80e6cd3a60 Fixing ecma_create_arguments_object: adding deref for allocated ecma-string Ruben Ayrapetyan 2014-08-22 18:47:46 +04:00
  • 077392e5c5 Fixing ecma_compare_zt_string_to_zt_string Ruben Ayrapetyan 2014-08-22 18:44:54 +04:00
  • f266b84016 Adding configuration header file for engine's parameters/limitations Ruben Ayrapetyan 2014-08-22 18:27:25 +04:00
  • dca9bcc387 Removing ECMA_TYPE__COUNT enum value; fixing comment to ecma_copy_value Ruben Ayrapetyan 2014-08-22 17:50:57 +04:00
  • a8486b01ed Partial implementation of 'Object' object construction routine Ruben Ayrapetyan 2014-08-22 17:18:29 +04:00
  • 3bcf02137e Adding stub for Array construction routine Ruben Ayrapetyan 2014-08-22 17:17:17 +04:00
  • 5713373279 Partial implementation of [[Construct]] routine for Function objects Ruben Ayrapetyan 2014-08-22 16:54:23 +04:00
  • 50a1532801 Implementing opfunc_instanceof using ecma_op_has_instance for [[HasInstance]] call Ruben Ayrapetyan 2014-08-22 15:39:23 +04:00
  • 7a20454047 Using ToString for property name conversion in opfunc_in Ruben Ayrapetyan 2014-08-22 15:25:34 +04:00
  • b1b6ae5a41 Partial implementation of [[HasInstance]] ecma-object's operation Ruben Ayrapetyan 2014-08-22 15:24:09 +04:00
  • 9cc27115fa Using ToString for property name conversion in opfunc_getter, opfunc_setter Ruben Ayrapetyan 2014-08-22 15:07:21 +04:00
  • f7cdb454ed Implementing ToString operation (ecma_op_to_string) Ruben Ayrapetyan 2014-08-22 14:40:58 +04:00
  • 7bda6e9d01 Add opcode handlers for logical_[not, or, and]] e.gavrin 2014-08-22 01:27:37 +04:00
  • 8e4ff93436 Add instanceof opcode handler. Untested. e.gavrin 2014-08-22 00:29:42 +04:00
  • 3dc1f8df77 Add in opcode handler. Untested. e.gavrin 2014-08-21 23:59:58 +04:00
  • b822c704e5 Add b_not opcode handler. Fixes in shift opcodes and in test e.gavrin 2014-08-21 22:52:34 +04:00
  • 7dea812364 Add shift opcodes handlers e.gavrin 2014-08-21 21:38:50 +04:00
  • 148d9c4cb6 Disabling creation of testing notes during pre-push testing Ruben Ayrapetyan 2014-08-21 20:13:17 +04:00
  • dfcc3a0986 Add retval opcode handler. e.gavrin 2014-08-21 20:00:12 +04:00
  • 7d38fee700 Implementing comparison of ecma-strings for different types of string containers. Ruben Ayrapetyan 2014-08-21 19:54:11 +04:00
  • bb55d895c4 ./tools/pull.sh: pulling notes with git pull --rebase. tools/push.sh: make pull just before pushing; pushing master and notes with one command. Ruben Ayrapetyan 2014-08-21 18:21:25 +04:00
  • 2851c59d97 Add noopt=1 option to override OPTION_OPTIMIZE to disable. Ruben Ayrapetyan 2014-08-21 17:47:06 +04:00
  • c6a41c167e Add native_call opcode. e.gavrin 2014-08-21 17:28:28 +04:00
  • 902f8c3414 Reducing build time: make debug.linux 8.778s -> 6.426s; make unittests: 32.230s -> 9.259s. Ruben Ayrapetyan 2014-08-21 17:28:14 +04:00
  • 616c96d3bb Implementing ecma_string_to_zt_string for number-represented string and strings that are stored in literal table Ruben Ayrapetyan 2014-08-21 16:46:45 +04:00
  • 1261820838 Add meta opcode. e.gavrin 2014-08-21 16:07:05 +04:00
  • 5b2b04f5f9 Various opcode's refinements: obj[0,1, 2, n]->obj_decl, array[0, 1, 2, n]->array_decl, func_expr[0, 1, n]->removed, varg[1_end, 2_end, 3_end, 3]->varg_list. e.gavrin 2014-08-21 15:46:17 +04:00
  • a96705701d Implementing prototype of ToString (Number) routine - ecma_number_to_zt_string; adding unit tests for the routine. Ruben Ayrapetyan 2014-08-21 14:43:43 +04:00
  • 5095bd31c9 Ecma-number decoding helpers Ruben Ayrapetyan 2014-08-20 19:20:03 +04:00
  • 284e7fc91b Renaming prop_access opcode to prop_getter; introducing prop_setter opcode; implementing property getter/setter opcode handlers. Ruben Ayrapetyan 2014-08-20 16:33:33 +04:00
  • fe34bf7e01 Fixing: deallocation of number-represented ecma-string; [[Get]] of Arguments object for index arguments. Ruben Ayrapetyan 2014-08-20 13:47:51 +04:00
  • f9ff4e1ba3 Reducing includes of system headers in jerry-libc.c (LIBC_RAW). Ruben Ayrapetyan 2014-08-19 20:51:30 +04:00
  • 50554a81e4 Implementing Arguments object construction, [[Get]], [[GetOwnProperty]], [[DefineOwnProperty]], [[Delete]] routines. Ruben Ayrapetyan 2014-08-19 19:16:19 +04:00
  • d5f50ebd04 Add dbgsyms=1 option to override OPTION_DEBUG_SYMS to enable, OPTION_STRIP to disable. Ruben Ayrapetyan 2014-08-19 13:15:52 +04:00
  • a2fe594d0f Merge branch 'geppetto' Ilmir Usmanov 2014-08-19 16:22:39 +04:00
  • 126b8814a8 Add rules to check switch-cases Ilmir Usmanov 2014-08-19 16:22:05 +04:00
  • 0fb8076d2a fix formatting issues in src/*. Ignore #define.. in jerry_funcname_space_parentheses.tcl e.gavrin 2014-08-19 15:03:05 +04:00
  • abd686242a Reorder fields in rss_measure.sh e.gavrin 2014-08-19 13:31:40 +04:00
  • 27b24a45f2 Refine rss_measure.sh e.gavrin 2014-08-19 02:13:18 +04:00
  • 98e544459d Add shared_clean/dirty collection to rss_measure script e.gavrin 2014-08-18 22:48:03 +04:00
  • 7f77a1aafd Add private_clean/dirty collection to rss_measure script e.gavrin 2014-08-18 22:26:36 +04:00
  • d393d0c041 Fixing check of git push status code in tools/push.sh Ruben Ayrapetyan 2014-08-18 21:14:35 +04:00
  • 9d33a91822 Storing literals' indexes instead of literals' contents in ecma-strings if possible. Ruben Ayrapetyan 2014-08-18 20:52:02 +04:00
  • 8bc41358ec Replacing const ecma_char_t* with ecma_string_t*; supporting number-represented string in ecma_string_t. Ruben Ayrapetyan 2014-08-18 18:32:16 +04:00
  • 15b65a27fb Moving type conversion helpers from libecmaoperations to libecmaobjects. Ruben Ayrapetyan 2014-08-18 16:26:22 +04:00
  • bcddffbefb Preparations to lazy conversion of Number to String: introducing ECMA_STRING_CONTAINER_HEAP_NUMBER container type for ecma_string_t. Ruben Ayrapetyan 2014-08-18 16:10:54 +04:00
  • 471bbd9fc4 Test for function calls with args. Ruben Ayrapetyan 2014-08-15 20:14:02 +04:00
  • 04112c6fea Implementing opfunc_call_1. Ruben Ayrapetyan 2014-08-15 20:10:22 +04:00
  • 116a80f8ae Ilmir's fix of register variables counting. Ruben Ayrapetyan 2014-08-15 19:46:02 +04:00
  • b582d56ecb Implementing opfunc_decl_1, opfunc_decl_2. Ruben Ayrapetyan 2014-08-15 18:30:47 +04:00
  • 4de3da90a5 Implementing function's argument variables instantiation during function call. Implementing function declaration routine. Ruben Ayrapetyan 2014-08-15 17:30:11 +04:00
  • 04c6cb30c7 Adding ecma_is_lexical_environment_global helper. Ruben Ayrapetyan 2014-08-15 17:26:49 +04:00
  • 21a84afc4f Adding ecma_is_property_enumerable, ecma_is_property_configurable helpers. Ruben Ayrapetyan 2014-08-15 17:22:29 +04:00
  • 8f08c1c70e Fixing collections' construction and iteration routines. Ruben Ayrapetyan 2014-08-15 17:21:21 +04:00
  • 2a199cc6a7 Iterators for ecma-values collections Ruben Ayrapetyan 2014-08-15 15:58:34 +04:00
  • cf098ad4ac Adding missing 'break's in ecma_op_{create,initialize}_immutable_binding. Ruben Ayrapetyan 2014-08-14 21:36:33 +04:00