89 Commits

Author SHA1 Message Date
Ruben Ayrapetyan
6b0b669c14 Support passing of string and object arguments to plugins' bound functions. 2015-03-25 18:35:37 +03:00
Ruben Ayrapetyan
79695bf3cd Extension description syntax; extension instantiation, field values and calls with arguments (except strings); example of a simple extension.
String arguments support is supposed to be added in a subsequent commit.
2015-02-25 16:51:21 +03:00
Ruben Ayrapetyan
bb18970151 Changing GC mark phase to be non-recursive. It is noticeably slower on some test cases, but doesn't cause stack overflow. 2015-02-19 14:34:34 +03:00
Ruben Ayrapetyan
92a9d6db45 Moving precommit testing scripts from Makefile[.mk] to tools/runners/run-precommit-check-for-target.sh and tools/precommit.sh; deleting Makefile.mk. 2015-02-17 15:28:13 +03:00
Ruben Ayrapetyan
557df54f9d Registering temporary variables arrays in ecma-stack frames, starting mark traverse from them during GC. 2015-01-15 18:45:37 +03:00
Ilmir Usmanov
c1ebb8db50 Fix expression statement parsing in case of statement starts with keyword 2014-12-12 16:36:18 +03:00
Ilmir Usmanov
4b7871bdde Fix 'op=' assignment bytecode dumping in case of arrays 2014-12-10 19:20:33 +03:00
Ruben Ayrapetyan
d2f6b36cf7 Implementing Math.sin and Math.cos built-in routines. 2014-12-04 11:39:23 +03:00
Ilmir Usmanov
8c7dc08d93 Add literals - replacements of strings and numbers in parser. 2014-10-31 21:22:52 +04:00
Ruben Ayrapetyan
05cf2dbe04 Providing cp_minimal build mode.
In the mode built-in objects except Global, Object, Object.prototype, Function,
Function.prototype, [[ThrowTypeError]] and CompactProfileError are disabled.

Making default builds (without cp cp_minimal modes set) to not define CONFIG_ECMA_COMPACT_PROFILE.
Removing some tests that depend on 'eval'-like functionality or CompactProfileError built-in from pre-commit testing.
2014-10-31 18:37:55 +03:00
Ruben Ayrapetyan
bd5f4c0c69 Adding test for some limitations that take effect in strict mode. 2014-10-30 18:22:52 +03:00
Ruben Ayrapetyan
4160262ce8 Implementing EvalError, RangeError, SyntaxError, URIError built-ins and corresponding prototype built-in objects. 2014-10-30 14:28:44 +03:00
Ruben Ayrapetyan
66cb7e316d Implementing ReferenceError and ReferenceError.prototype built-ins. 2014-10-29 21:28:56 +03:00
Ruben Ayrapetyan
6991b26e04 Implementing TypeError and TypeError.prototype built-ins. Fixing Error.prototype.toString implementation. 2014-10-29 21:15:36 +03:00
Ruben Ayrapetyan
4e6f5c7716 Implementing Error and Error.prototype built-in objects. 2014-10-29 18:49:31 +03:00
Ilmir Usmanov
4735570b31 Add SyntaxErrors on parsing ObjectDeclarations. 2014-10-28 13:39:25 +04:00
Ruben Ayrapetyan
1a6ca3108b Turning some strict comparisons in tests/jerry/math_log.js and tests/jerry/sqrt.js into range check comparisons. 2014-10-23 20:34:43 +04:00
Ruben Ayrapetyan
7f4a70ccb5 Improving precision of zt-string to ecma-number conversion. 2014-10-23 15:46:42 +04:00
Ilmir Usmanov
ec6572d501 Add support of function expressions scopes. Uncomment tests. 2014-10-21 22:22:04 +04:00
Ilmir Usmanov
62a42fa087 Add fail tests. Fix parser. 2014-10-21 20:35:07 +04:00
Ruben Ayrapetyan
e54023caf2 Throwing CompactProfileError in cases required by Compact Profile. 2014-10-16 21:26:23 +04:00
Ilmir Usmanov
bd7fd40a32 Fix 'function' declaration parsing 2014-10-16 21:12:03 +04:00
Ilmir Usmanov
16556eb830 Fix 'switch' bytecode generation. Remove __strtof. Fix opcodes pretty-printing. 2014-10-16 15:33:54 +04:00
Ruben Ayrapetyan
e8d728f8ce Fixing typeof for boolean arguments. 2014-10-15 18:02:10 +04:00
Ruben Ayrapetyan
47ed774232 Fixing obj_decl opcode handler to handle property name argument as index of register variable containing a declared property's name. 2014-10-15 17:33:58 +04:00
Ilmir Usmanov
af5cf79d3c Use tmps as property names 2014-10-15 16:40:56 +04:00
Ruben Ayrapetyan
7dcbeec487 Fixing typeof with null argument. 2014-10-15 16:11:04 +04:00
Ilmir Usmanov
a9856dcf9a Add support of NaN in opfunc_unary_minus 2014-10-15 15:33:00 +04:00
Ilmir Usmanov
032031a861 Add unary_plus and unary_minus opcodes 2014-10-15 15:20:49 +04:00
Ilmir Usmanov
c8686d9d9b Fix test 2014-10-15 10:53:40 +04:00
Ilmir Usmanov
7a156334bb Fix vargs pretty-printing 2014-10-15 10:53:40 +04:00
Ruben Ayrapetyan
38b47eaba7 Reducing number of iterations in nested_function.js: 1000 -> 100. 2014-10-13 19:34:16 +04:00
Ilmir Usmanov
8a517ab03e Add support of octal integer literals 2014-10-13 17:45:20 +04:00
Ilmir Usmanov
c33afca360 Add support of 'default' clause in 'switch' statement 2014-10-13 16:32:17 +04:00
Ilmir Usmanov
9775d23274 Support 'delete' and 'void' operators in parser. 2014-10-08 14:52:38 +04:00
Ilmir Usmanov
62cc3cc604 Fix && and || parsing 2014-10-06 14:35:26 +04:00
Ilmir Usmanov
3d5fd214f3 Add switch-case 2014-10-06 14:35:26 +04:00
Ilmir Usmanov
af00691d1d Add this_arg dumping in parser 2014-10-02 19:31:29 +04:00
Ilmir Usmanov
6561c3fe6c Add support of array initialization like [1,,,'4'] 2014-09-30 19:44:45 +04:00
Ruben Ayrapetyan
47d384c565 Partial implementation of the Array.prototype built-in object. 2014-09-26 20:07:45 +04:00
Ruben Ayrapetyan
bef5289cb6 Adding stubs for Function and Function.prototype built-ins. 2014-09-26 19:26:17 +04:00
Ruben Ayrapetyan
ba2eeb84af Implementing String.prototype.toString and String.prototype.valueOf built-in routines. 2014-09-25 21:04:24 +04:00
Ilmir Usmanov
cde880b1cf Fix 'break' parsing 2014-09-25 18:06:21 +04:00
Ruben Ayrapetyan
c2ca158d19 Implementing Array built-in. 2014-09-25 14:58:45 +04:00
Ruben Ayrapetyan
3efdcfa2ea Implementing String built-in object. 2014-09-24 21:40:11 +04:00
Ruben Ayrapetyan
10ee3c4fb1 Implementing Math.pow built-in. 2014-09-24 18:49:41 +04:00
Ruben Ayrapetyan
44a2f7ba39 Implementing Math.log built-in. 2014-09-24 17:10:42 +04:00
Ruben Ayrapetyan
85a3a9a690 Implementing Math.exp built-in. 2014-09-24 16:01:57 +04:00
Ilmir Usmanov
0738ec6a54 Add generation of prop_setter. 2014-09-24 15:30:37 +04:00
Ilmir Usmanov
8bcc37d0f8 Fix prop_getter, construct_n, array_n generation. 2014-09-23 22:53:35 +04:00