659 Commits

Author SHA1 Message Date
Ruben Ayrapetyan
f237a8d5e1 Adding stubs for Math object's routines. 2014-09-23 16:23:36 +04:00
Ruben Ayrapetyan
288478926e Implementing Math object's value properties. 2014-09-23 15:32:32 +04:00
Ruben Ayrapetyan
ae244f0148 Common built-in object's constructor. 2014-09-23 15:29:08 +04:00
Ruben Ayrapetyan
fd7f153747 Additional assertions in jrt_{get/set}_bit_field_value. 2014-09-23 15:23:50 +04:00
Ruben Ayrapetyan
1fed738217 Replacing ecma_builtin_is_*_object interfaces with ecma_builtin_is (object, builtin_id), and ecma_builtin_get_*_object with ecma_builtin_get (builtin_id). 2014-09-22 21:46:26 +04:00
Ruben Ayrapetyan
5f9a068a61 Adding magic strings for the Math object's properties names. 2014-09-22 21:34:11 +04:00
Ilmir Usmanov
615903dbf5 Fix call expression without args bytecode generation 2014-09-22 20:21:44 +04:00
Ruben Ayrapetyan
49486757ca Implementing 'Object.defineProperty' built-in routine. 2014-09-22 20:07:29 +04:00
Ruben Ayrapetyan
1e642fd527 Implementing ToPropertyDescriptor and FromPropertyDescriptor ECMA operations. 2014-09-22 19:31:35 +04:00
Ruben Ayrapetyan
a287406e1f Implementing 'new Object(...)' built-in constructor. 2014-09-22 18:19:34 +04:00
Ruben Ayrapetyan
d7314a7300 Adding stubs for the Object object. 2014-09-22 15:56:50 +04:00
Ruben Ayrapetyan
a3ca61fe0e Setting Function's [[Get]] method to default [[Get]] method as they're behaviours for Function objects are equivalent. 2014-09-22 15:49:49 +04:00
Ruben Ayrapetyan
94f7f710a6 Fixing attributes of several properties of the Global object. 2014-09-22 15:35:35 +04:00
Ruben Ayrapetyan
e55ceb22f5 Implementing [[HasInstance]] for non-bound functions. 2014-09-19 21:14:14 +04:00
Ruben Ayrapetyan
34984d31de Adding comment to parameter of ecma_number_make_infinity. 2014-09-19 18:13:39 +04:00
Ruben Ayrapetyan
f46853bdd8 Introducing interfaces for invoking built-in functions and constructors.
Implementing property instantiation routine dispatcher for Global object.
Adding instantiation for 'undefined', 'NaN', 'Infinity' and built-in routine
properties of the Global Object. Implementing isNaN and isFinite built-in routines.
2014-09-19 18:10:49 +04:00
Ruben Ayrapetyan
1dd631178f Renaming ecma_get_object_has_non_instantiated_builtins -> ecma_get_object_is_builtin, ecma_set_object_has_non_instantiated_builtins -> ecma_set_object_is_builtin. 2014-09-19 17:51:40 +04:00
Ruben Ayrapetyan
d44b13e0cd Adding magic strings for the Global object's properties names. 2014-09-19 17:45:52 +04:00
Ruben Ayrapetyan
f478e161e6 Fixing ecma_string_to_zt_string and ecma_copy_zt_string_to_buffer routines. 2014-09-19 16:15:42 +04:00
Ruben Ayrapetyan
7fc3b178d8 Introducing ecma_is_string_magic, ecma_init and ecma_finalize interfaces, 'magic-string' container type for ecma-strings. Renaming ecma_is_magic_string to ecma_is_zt_string_magic. Moving magic-string related routines to ecma-helpers-string.c. 2014-09-19 12:08:19 +04:00
Ruben Ayrapetyan
9a667596de Implementing constructor of Function object for built-in routines. 2014-09-18 19:48:43 +04:00
Ruben Ayrapetyan
d9e0f2936d Adding jerry_unreachable and jerry_unimplemented routines that print file name and line for corresponding unreachable, unimplemented marks. 2014-09-18 17:08:32 +04:00
Ruben Ayrapetyan
55d9b12176 Introducing built-in routines dispatcher and stubs for the Global object's routines. 2014-09-18 16:25:33 +04:00
Ruben Ayrapetyan
30008f8dc5 Splitting ERR_GENERAL error code in ERR_FAILED_INTERNAL_ASSERTION and ERR_UNIMPLEMENTED_CASE; introducing ERR_FAILED_ASSERTION_IN_SCRIPT error code for handling non-zero script's exit values. 2014-09-18 14:02:34 +04:00
Ruben Ayrapetyan
f402e42d2f Moving Global object related routines to libecmabuiltins component. Introducing ecma_init_builtins and ecma_finalize_builtins routines. 2014-09-18 13:55:56 +04:00
Ruben Ayrapetyan
11cf22f06c Introducing 'ecmabuiltins' component and interface for instantiating built-in properties. 2014-09-17 21:12:05 +04:00
Ilmir Usmanov
56e6d2a380 Add if_else.js test. Fix bytecode generation. 2014-09-17 20:21:30 +04:00
Ruben Ayrapetyan
2edc921be7 Introducing has_non_instantiated_built_in_properties flag in ecma_object_t and 'built-in function' object type. 2014-09-17 20:05:15 +04:00
Ilmir Usmanov
70cc5128cc Add test try_catch_finally.js. Fix parser and interpreter 2014-09-17 18:58:16 +04:00
Ruben Ayrapetyan
51b7dc0d69 Turning off performance measurement during pre-commit testing. 2014-09-17 18:04:53 +04:00
Ruben Ayrapetyan
24fc505440 Introducing ecma_is_magic_string routine. 2014-09-17 18:00:11 +04:00
Ruben Ayrapetyan
70d76efc98 Adding cppcheck utility to repository. 2014-09-17 15:50:55 +04:00
Ruben Ayrapetyan
b5a579cc41 Pulling before pre-push testing instead of just before pushing in ./tools/push.sh. 2014-09-17 15:38:06 +04:00
Ruben Ayrapetyan
aa6a45962d Reducing scope of variable in deserialize_num_by_id to satisfy cppcheck's requirements. 2014-09-17 15:37:39 +04:00
Ruben Ayrapetyan
59ef3bf074 Little refactoring of control paths in general objects' [[DefineOwnProperty]] to satisfy cppcheck's requirements. 2014-09-17 15:37:12 +04:00
Ruben Ayrapetyan
5df12d2e04 Fixing NULL pointer dereference in PutValue routine. 2014-09-17 15:24:48 +04:00
Ruben Ayrapetyan
318a62e9b3 Adding debug.linux-valgrind.check and release.linux-musl-valgrind.check to precommit testing. 2014-09-17 12:56:48 +04:00
Ruben Ayrapetyan
6f23dd879d Increasing test timeout for valgrind runs. 2014-09-17 12:56:16 +04:00
Ruben Ayrapetyan
64613b5513 Reducing number of iterations in tests/jerry/nested_function.js 10000 -> 1000. 2014-09-17 12:55:22 +04:00
Ilmir Usmanov
d4cd8be349 Fix asserts in opfunc_*jmp_down functions. 2014-09-16 22:36:26 +04:00
Ilmir Usmanov
e77bd4f4e5 Add try-catch-finally support: parse and generate opcodes for this construct
Fix varg generation: generate *_n opcodes with parameters in following meta opcodes
Add stack internal structure: dimanically allocated stack.
Use dynamically allocated memory in parser: every local and global variables are stored in dinamically allocated stacks.
Use dynamically allocated memory in serializer: opcodes are also stored in stack.
Change is_true_jmp and is_false_jmp opcodes to relative.
Change *jmp* opcodes to be able to store opcode_counter_t instead of idx_t.
2014-09-16 21:32:59 +04:00
Ruben Ayrapetyan
cd41b236d9 Statistics of memory usage during interpretation. 2014-09-16 21:19:07 +04:00
Ruben Ayrapetyan
e8991abadb Fixing __printf for format strings with '+' specifier like '%+5d'. 2014-09-16 20:53:02 +04:00
Ruben Ayrapetyan
fbcd393962 Adding configuration flag indicating whether Global Environment is bound to Global Object or it is simple declarative lexical environment. 2014-09-08 19:16:30 +04:00
Ruben Ayrapetyan
dafbaa742e Adding configuration option for ECMA exception support. 2014-09-08 19:09:34 +04:00
Ruben Ayrapetyan
4d34bab9a0 Adding memory leak checks to unit tests. 2014-09-05 20:35:33 +04:00
Ruben Ayrapetyan
c5dd81cf76 Fixing memory leak in opfunc_throw. 2014-09-05 20:28:02 +04:00
Ruben Ayrapetyan
5a9d4563ec Fixing performance degradation that occured in commit 9b040f31d2a2e1e4d43dd347d5e81282997dd2b5. 2014-09-05 16:27:43 +04:00
Ruben Ayrapetyan
b9fd80ce36 Fixing object declaration and function expression opcode handlers; adding unit test that declares object and operates on the object's properties. 2014-09-04 21:02:29 +04:00
Ruben Ayrapetyan
5630352f36 Adding arm-linux-perf notes ref to tools/pull.sh and tools/log.sh. 2014-09-04 17:29:54 +04:00