1076 Commits

Author SHA1 Message Date
Ruben Ayrapetyan
f08c242156 Implementing 'obj_decl' opcode; replacing 'prop', 'prop_get_decl', 'prop_set_decl' with 'meta' opcodes of corresponding types. 2014-08-27 20:43:31 +04:00
Ruben Ayrapetyan
d286a93e2c Replacing 'varg' opcode with 'meta' opcode with corresponding type. 2014-08-27 19:35:56 +04:00
Ruben Ayrapetyan
2feb159fd8 Implementing 'array_decl' opcode handler. 2014-08-27 18:28:26 +04:00
Ruben Ayrapetyan
76121926d1 Splitting 'delete' opcode to 'delete_var' and 'delete_prop'. Implementing corresponding opcode handlers. 2014-08-27 17:12:59 +04:00
Ruben Ayrapetyan
05185bb2e9 Implementing 'native_call' opcode handler. 2014-08-27 15:38:31 +04:00
Ruben Ayrapetyan
bc2f827447 Implementing 'unreachable' handler for 'meta' opcode. 2014-08-27 13:45:27 +04:00
Ruben Ayrapetyan
f8907573dd Implementing 'func_expr_n' opcode handler. 2014-08-26 22:15:40 +04:00
Ruben Ayrapetyan
6cfcedb053 Evaluation of expressions passed in arguments lists just before corresponding 'varg' opcodes. 2014-08-26 21:39:54 +04:00
Ruben Ayrapetyan
6f58335f23 Replacing 'varg_list' (3 args) with 'varg' (1 arg). 2014-08-26 20:50:41 +04:00
Ruben Ayrapetyan
32ba30ddef Extracting interpreter loop from run_int_from_pos. 2014-08-26 20:20:33 +04:00
Ruben Ayrapetyan
bf5bda11ed Implementing 'construct_n' opcode handler. 2014-08-26 17:47:14 +04:00
Ruben Ayrapetyan
9573b7234d Implementing 'func_decl_n' and 'func_call_n' opcodes' handlers. 2014-08-26 17:30:23 +04:00
Ruben Ayrapetyan
02f31fbcfb Adding 'func_expr_n' opcode; replacing arg1 and arg2 of 'func_decl_n' opcode with arg_list. 2014-08-26 15:58:57 +04:00
Ruben Ayrapetyan
7a80b7f4f1 Renaming 'construct_decl' opcode to 'construct_n'. 2014-08-26 12:50:23 +04:00
Ruben Ayrapetyan
dc3f529307 Implementing 'typeof' opcode handler. 2014-08-26 12:43:13 +04:00
Ruben Ayrapetyan
704c26ff80 Setting ThisBinding of the Global Environment to the Global Object. 2014-08-26 12:43:10 +04:00
Ruben Ayrapetyan
9a203c580e Implementing 'this' opcode handler. 2014-08-26 12:17:29 +04:00
Ruben Ayrapetyan
38fdcba69c Implementing opfunc_addition with a string-operand. 2014-08-26 11:26:47 +04:00
Ruben Ayrapetyan
c72555d25f Introducing new type of ecma-string: concatenation of two ecma-strings (comparison is not implemented). loop_arithmetics_1kk.js: 2.8968 -> 2.8464. 2014-08-26 11:11:20 +04:00
Ruben Ayrapetyan
d0963f6d3d Fixing deref and comparison for uint32-represented ecma-strings. loop_arithmetics_1kk.js: 2.8448 -> 2.9056. 2014-08-26 11:06:06 +04:00
Ruben Ayrapetyan
2194f80d71 Revert "Fixing deref and comparison for uint32-represented ecma-strings."
This reverts commit c3adae65625c4fcf25049a3a67e1f1862b443c35.
2014-08-26 11:05:19 +04:00
Ruben Ayrapetyan
6ca0942b74 Fixing deref and comparison for uint32-represented ecma-strings. 2014-08-26 10:26:47 +04:00
Ruben Ayrapetyan
aeb363075b Adding const qualifier to ecma_string_t* in ecma-string comparison and property search routines. 2014-08-25 20:28:26 +04:00
Ruben Ayrapetyan
ebfacc82d3 Removing is_length_valid from ecma-string descriptor. 2014-08-25 20:11:24 +04:00
Ruben Ayrapetyan
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. 2014-08-25 20:03:33 +04:00
Ruben Ayrapetyan
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. 2014-08-25 18:54:46 +04:00
e.gavrin
4ffbdd2c3f __opcode -> opcode_t 2014-08-23 02:01:56 +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
e.gavrin
0eece0be5a Remove not needed opcode-support.[c,h] 2014-08-23 00:24:49 +04:00
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
Ruben Ayrapetyan
6fbf3e4eed Implementing accessor properties operations in general objects' [[Get]] and [[Put]] routines. 2014-08-22 21:27:46 +04:00
Ruben Ayrapetyan
90c006771f One more fix in Function objects' [[Construct]] routine 2014-08-22 21:16:43 +04:00
Ruben Ayrapetyan
e6c10655c5 Fixing Function objects'[[Construct]] routine 2014-08-22 21:01:58 +04:00
Ruben Ayrapetyan
a341fe044b call_0, call_1 opcode handlers: wrapping function calls using ECMA_FUNCTION_CALL helper 2014-08-22 20:50:40 +04:00
Ruben Ayrapetyan
bf1841ce54 Full implementation of GetValue, PutValue operations. 2014-08-22 20:27:07 +04:00
Ruben Ayrapetyan
6801f22bd9 Introducing ECMA_FUNCTION_CALL helper macro for handling return completion values of function calls. 2014-08-22 20:26:23 +04:00
Ruben Ayrapetyan
80e6cd3a60 Fixing ecma_create_arguments_object: adding deref for allocated ecma-string 2014-08-22 18:47:46 +04:00
Ruben Ayrapetyan
077392e5c5 Fixing ecma_compare_zt_string_to_zt_string 2014-08-22 18:44:54 +04:00
Ruben Ayrapetyan
f266b84016 Adding configuration header file for engine's parameters/limitations 2014-08-22 18:29:39 +04:00
Ruben Ayrapetyan
dca9bcc387 Removing ECMA_TYPE__COUNT enum value; fixing comment to ecma_copy_value 2014-08-22 17:50:57 +04:00
Ruben Ayrapetyan
a8486b01ed Partial implementation of 'Object' object construction routine 2014-08-22 17:18:29 +04:00
Ruben Ayrapetyan
3bcf02137e Adding stub for Array construction routine 2014-08-22 17:17:17 +04:00
Ruben Ayrapetyan
5713373279 Partial implementation of [[Construct]] routine for Function objects 2014-08-22 16:56:00 +04:00
Ruben Ayrapetyan
50a1532801 Implementing opfunc_instanceof using ecma_op_has_instance for [[HasInstance]] call 2014-08-22 15:39:23 +04:00
Ruben Ayrapetyan
7a20454047 Using ToString for property name conversion in opfunc_in 2014-08-22 15:26:05 +04:00
Ruben Ayrapetyan
b1b6ae5a41 Partial implementation of [[HasInstance]] ecma-object's operation 2014-08-22 15:24:09 +04:00
Ruben Ayrapetyan
9cc27115fa Using ToString for property name conversion in opfunc_getter, opfunc_setter 2014-08-22 15:07:21 +04:00
Ruben Ayrapetyan
f7cdb454ed Implementing ToString operation (ecma_op_to_string) 2014-08-22 14:40:58 +04:00
e.gavrin
7bda6e9d01 Add opcode handlers for logical_[not, or, and]] 2014-08-22 01:27:37 +04:00