737 Commits

Author SHA1 Message Date
Ruben Ayrapetyan
005b5370fc Switching to g++ and corresponding changes according to C++ requirements. 2015-01-16 17:27:02 +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
Ruben Ayrapetyan
6bb39bb8ea Introducing 'try to give memory back' callback for heap allocator to use upon allocation request that can not be satisfied by the allocator. 2014-12-18 22:25:22 +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
Ilmir Usmanov
dc8ab27900 Split parser into parser itself, opcodes dumper and syntax errors checker.
Add internal hash map of literal indexes:
  In this hash map key is pair of block number and literal's unique identifier in the block, and the value is a literal index that unique in the whole program.
  Block is a continues array of opcodes. So, bytecode is splitted into blocks.
  Each block has its own uid counter. To get literal index the interpreter looks up it in the hash map.
  Thus, now JS program is able to have more than 255 identifiers/string literals.
  The first 128 (0-127) uids are reserved for block's uid counter, the other 128 (128-255) are reserved for tmp variables.
2014-12-10 18:31:59 +03:00
Ilmir Usmanov
fc9e83d290 Remove obsolete unit tests. 2014-12-10 18:29:43 +03:00
Ruben Ayrapetyan
d2f6b36cf7 Implementing Math.sin and Math.cos built-in routines. 2014-12-04 11:39:23 +03:00
Ruben Ayrapetyan
c21e186f2c Static definition of pool's area size and number of chunks in a pool; alignment of mem_block_header_t and mem_pool_state_t to MEM_ALIGNMENT. 2014-11-26 19:23:26 +03:00
Ruben Ayrapetyan
bd60d1874b Implementing resize of heap blocks.
- adding mem_heap_try_resize_block routine that tries to resize
   block using free space that is located right after the resized block;
 - placing long-term blocks from start of heap space and short-term - from end
   of the space to increase probability of success of resizing just allocated
   long-term block;
 - adding mem_heap_try_resize_block invocation to 'test_heap' unit test.
2014-11-11 15:44:31 +03:00
Ruben Ayrapetyan
7c488ea11a Fixing tests of internal test suite. 2014-11-06 17:47:36 +03:00
Ruben Ayrapetyan
e33e6a77cb Adding tests that depend on number precision to tests/jerry-test-suite/precommit_test_list. 2014-10-31 21:29:30 +03:00
Ruben Ayrapetyan
4d04cb4658 Removing tests that depend on features, which are unsupported in Compact Profile minimal build, from tests/jerry-test-suite/compact_profile_list list. 2014-10-31 21:05:41 +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
bf9ef27e2f Removing two tests that fail because of float32 precision limitations from tests/jerry-test-suite/precommit_test_list. 2014-10-24 20:39:41 +04:00
Ruben Ayrapetyan
0016adf957 Revert "Removing three tests that fail because of float32 precision limitations from tests/jerry-test-suite/precommit_test_list."
This reverts commit 7761650a96460ab39381d3b8983132b05364a489.
2014-10-24 20:38:41 +04:00
Ruben Ayrapetyan
ed32abb011 Removing three tests that fail because of float32 precision limitations from tests/jerry-test-suite/precommit_test_list. 2014-10-24 20:29:29 +04:00
Ruben Ayrapetyan
e4629cca51 Improving precision of number to zt-string conversion, adding search for the shortest representation of number during the conversion. 2014-10-24 19:15:31 +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
33aeac458a Removing tests/jerry-test-suite/15/15.07/15.07.03/15.07.03.02/15.07.03.02-002.js and tests/jerry-test-suite/15/15.07/15.07.03/15.07.03.02/15.07.03.02-003.js from tests/jerry-test-suite/float_precision_exceptions_list. 2014-10-23 15:46:46 +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
ae048a7630 Running internal test suite during precommit testing. 2014-10-20 21:45:21 +04:00
Ruben Ayrapetyan
a8ed76591a Removing tests/jerry-test-suite/15/15.03/15.03.04/15.03.04.02/15.03.04.02-002.js that depends on
TypeErro built-in support from CompactProfile-compatible test list (tests/jerry-test-suite/compact_profile_list)
and adding it to tests/jerry-test-suite/unsupported_list.
2014-10-20 17:31:41 +04:00
Ruben Ayrapetyan
1796138a27 Fixing some tests from internal test suite. 2014-10-20 17:31:41 +04:00
Ruben Ayrapetyan
3f54dc16e0 Removing tests/jerry-test-suite/15/15.05/15.05.04/15.05.04.07/15.05.04.07-003.js that depends on String.prototype.indexOf support from
CompactProfile-compatible test list (tests/jerry-test-suite/compact_profile_list)
and adding it to tests/jerry-test-suite/unsupported_list.
2014-10-20 17:31:40 +04:00
Ruben Ayrapetyan
9c20969cfc Fixing some tests from internal test suite. 2014-10-20 17:31:40 +04:00
Ruben Ayrapetyan
c7f1e6b007 Adding three tests that depend on Number.prototype.toString support to tests/jerry-test-suite/unsupported_list and removing them from CompactProfile compatible tests list (tests/jerry-test-suite/compact_profile_list). 2014-10-20 17:31:40 +04:00
Ruben Ayrapetyan
f666750ce7 List of internal tests suite's tests that are not excluded by Compact Profile. 2014-10-20 14:38:41 +04:00
Ruben Ayrapetyan
ba4dca2e98 Fixing some tests from internal test suite. 2014-10-20 14:15:01 +04:00
Ruben Ayrapetyan
69a1cab26b Update unsupported_list: removed 'float32 precision' block and added 'other built-ins' block. 2014-10-20 13:55:49 +04:00
Ruben Ayrapetyan
03df80efe0 Fixing a test from internal test suite. 2014-10-16 21:46:37 +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
99d21743b0 Fix tests from test-suite 2014-10-16 20:42:24 +04:00
Ilmir Usmanov
2a5cbe5975 Fix tests from jerry-test-suite. 2014-10-16 18:03:35 +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
e25f1297ff Adding a test that is not working due to insufficient float32 precision to corresponding section of tests/jerry-test-suite/unsupported_list. 2014-10-16 11:37:24 +04:00
Ruben Ayrapetyan
b98363ce05 Adding rest tests with for-in loops to tests/jerry-test-suite/unsupported_list. 2014-10-16 11:27:28 +04:00
Ruben Ayrapetyan
5b242d6cc5 Fixing some tests from internal test suite. 2014-10-16 11:23:34 +04:00
Ruben Ayrapetyan
2eedfdc334 Fixing some tests from internal test suite. 2014-10-16 11:01:39 +04:00
Ruben Ayrapetyan
1de6eb8707 Fixing paths in tests/jerry-test-suite/unsupported_list. 2014-10-16 10:46:53 +04:00