Commit Graph
100 Commits
Author SHA1 Message Date
Ruben Ayrapetyan 2270db9414 Removing 'nestings' from parser.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-06-05 20:18:29 +03:00
Ruben Ayrapetyan d99d779486 Support labelled statements.
Related issue: #52

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-06-05 19:02:08 +03:00
Ruben Ayrapetyan 2de49cdba7 Fix of 'case' / 'default' statements skip during parse of SwitchStatement.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-06-05 18:52:09 +03:00
Ruben Ayrapetyan ac87616f05 Fixing break / continue, nested into 'try', 'with' blocks.
Related issue: #128

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-06-04 17:39:48 +03:00
Ruben Ayrapetyan 8433df3097 Introducing interpreter run scopes.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-06-04 17:39:48 +03:00
Ruben Ayrapetyan 712f8b0c9a Introducing 'try' and 'with' nestings in parser.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-06-04 17:39:48 +03:00
Ruben Ayrapetyan 3ec6948bae Fix parsing of 'default' switch-case label in 'parse_switch_statement'.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-06-04 17:34:44 +03:00
Ruben Ayrapetyan 4c10a6d057 Restoring lost review fixes for pull request #102 (instantiation of Arguments object).
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-06-03 15:58:07 +03:00
Ruben Ayrapetyan 67161c890b Adding missing copyright notices to tests, prepared by Szeged.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-06-03 15:48:43 +03:00
Ruben Ayrapetyan 8b28cac99e Implementing escape sequences support with the exception of "\0" ("<NUL>") character and cases that depend on Unicode support.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-29 14:03:11 +03:00
Ruben Ayrapetyan 7025f97fdd Adding routine for conversion of any character sequence (not only strings contained in source code buffer) to lexer token.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-29 13:46:07 +03:00
Ruben Ayrapetyan da7e9d9871 Fixing retrieval of [[Class]] properties for built-in function objects, optimizing memory related to [[Class]] property.
- introduced ecma_object_get_class_name interface;
 - removed creation of [[Class]] internal property for types of objects that unambiguously determine the [[Class]] value.

Related issue: #112

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-29 12:52:24 +03:00
Ruben Ayrapetyan bc7c28ce12 Changing ecma_new_ecma_string_from_number to check if the string to create is equal to a magic string, and, if so, to invoke corresponding magic string construction.
Related issue: #113

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-29 12:31:33 +03:00
Ruben Ayrapetyan 77df022468 Adding jerry-test-suite tests on Arguments object to precommit testing and removing them from unsupported list.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-28 19:12:54 +03:00
Ruben Ayrapetyan d4537eb0d1 Instantiation of Arguments object.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-28 19:12:54 +03:00
Ruben Ayrapetyan ed4ff8e5bb Introducing a function object's flag indicating whether Arguments object should be instantiated upon call of the function.
The Arguments object is supposed to be unnecessary if function's code:
  - doesn't reference 'arguments' identifier;
  - doesn't reference 'eval' identifier (so, it doesn't perform direct call to eval).

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-28 19:12:54 +03:00
Ruben Ayrapetyan b1a31c8144 Adding scope's code flags indicating whether the scope's code reference 'arguments' and 'eval' identifiers.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-28 19:12:54 +03:00
Ruben Ayrapetyan cb600da269 Introducing 'scope flags' opcode containing set of flags that indicate various properties of a scope; replacing 'strict mode' meta opcode with a flag in the flags set.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-28 19:12:54 +03:00
Ruben Ayrapetyan e984bc30ea Fix of 'strict mode' meta type handling in opfunc_meta.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-28 19:12:54 +03:00
Ruben Ayrapetyan 3a9bf24001 Update of several 'vm' component interfaces naming.
init_int -> vm_init;
 run_int -> vm_run_global;
 run_int_loop -> vm_loop;
 run_int_from_pos -> vm_run_from_pos;
 read_opcode -> vm_get_opcode.

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-28 19:12:54 +03:00
Ruben Ayrapetyan ecbc2850ff Support 'make push' for non-master branches.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-15 20:55:26 +03:00
Ruben Ayrapetyan 5c76b3f558 Fixing ecma_op_from_property_descriptor semantics (type check for input property descriptor was implemented incorrectly).
Related issue: https://github.com/Samsung/jerryscript/issues/70

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-15 19:18:19 +03:00
Ruben Ayrapetyan 584149112d Recordset dynamic storage.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-15 18:31:18 +03:00
Ruben Ayrapetyan b5d8444c2c Introducing chunked lists (list of nodes that exactly fit the heap chunk size).
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-15 14:52:13 +03:00
Ruben Ayrapetyan 82f9afcde9 Speeding up procedure for getting start of a heap block's data space for one-chunked blocks, removing general blocks support from the procedure.
- heap area is aligned on heap chunk size;
 - mem_heap_get_block_start is renamed to mem_heap_get_chunked_block_start,
   now this interface is applicable only to one-chunked blocks,
   and is significantly faster - instead of iterating list of heap blocks
   to find block header, it just aligns value of pointer to heap chunk size.

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-15 14:45:19 +03:00
Ruben Ayrapetyan 99ecdd4a44 Introducing one-chunked heap blocks - special type for heap blocks that are guaranteed to fit into one heap chunk.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-14 21:29:43 +03:00
Ruben Ayrapetyan 198afd0072 Signed-off-by checker in precommit testing script.
Related issue: #15 (https://github.com/Samsung/jerryscript/issues/15).

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-13 23:22:26 +03:00
Ruben Ayrapetyan 51ddb25344 Adding missing long-term allocation requests to heap unit test.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-13 22:38:51 +03:00
Ruben Ayrapetyan 593b1d793f Removing magic number from mem_block_header_t.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-13 22:21:18 +03:00
Ruben Ayrapetyan c4e7f56562 Introducing MEM_CP_{GET_[NON_NULL_]POINTER, SET_[NON_NULL_]POINTER} getters / setters for compressed pointers.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-13 22:05:21 +03:00
Ruben Ayrapetyan b8e43286cc Increasing per-test timeout from 5s to 30s in precommit testing.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-09 22:41:20 +03:00
Ruben Ayrapetyan b05d239cf7 Supplementing ECMA_TRY_CATCH with assertion that 'return_value' contains empty completion value prior to execution of ECMA_TRY_CATCH statement.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-08 22:34:57 +03:00
Ruben Ayrapetyan 2852d93af6 Fixing toolchain_external.cmake build configuration: generalizing it from Nuttx OS.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-08 21:02:33 +03:00
Ruben Ayrapetyan 290eb2f9b0 Adding support to specify interfaces for external libraries other than libc.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-08 21:02:31 +03:00
Ruben Ayrapetyan 1f5a4f2690 Adding missing API availability assertion.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-05-05 17:37:31 +03:00
Ruben Ayrapetyan 9b9e537d35 Printing memory consumption notes in tools/log.sh (make log).
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:51 +03:00
Ruben Ayrapetyan ee77c4269d Fixing RSS measurement in tools/mem_stats.sh: using mem_stats build for heap usage statistics and non-mem_stats build for RSS measurement.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:51 +03:00
Ruben Ayrapetyan f3983be337 Fixing heap usage limit condition of starting GC.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:51 +03:00
Ruben Ayrapetyan f6b3943ffd Introducing dynamically adjustable heap usage limit, so that GC tries to free heap space, when heap usage reached the limit.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:51 +03:00
Ruben Ayrapetyan 9a7a644f50 Removing mem_heap_try_to_resize_block interface.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:51 +03:00
Ruben Ayrapetyan 8c4765892f Memory consumption measurement script.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:51 +03:00
Ruben Ayrapetyan 9b256b9bc9 Renaming --mem-stats-at-exit option to --mem-stats; adding --mem-stats-separate option for dumping memory statistics and resetting memory usage peak values after parse.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:51 +03:00
Ruben Ayrapetyan 9b0125086f Introducing minimal footprint build modifier (mfp).
The modifier disables lookup cache and adds GC invocation after each opcode execution.

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:50 +03:00
Ruben Ayrapetyan 7d90d8caba Adding configuration option for disabling ECMA lookup cache.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:50 +03:00
Ruben Ayrapetyan 4c77cddec3 Adding configuration option to execute GC after each opcode.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:50 +03:00
Ruben Ayrapetyan a057b77e26 Removing measurements of metrics other than maximum RSS of non-executable areas from tools/rss_measure.sh.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:50 +03:00
Ruben Ayrapetyan d14c9f6b85 Making data and stack non-executable.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:50 +03:00
Ruben Ayrapetyan d8adf0de2c Splitting --mem-stats option to --mem-stats-at-exit and --mem-stats-per-opcode.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:50 +03:00
Ruben Ayrapetyan bb258ad1e2 Supporting build with gcc/g++ version 4.7.
Build was tested on arm-linux-gnueabi-gcc/g++ 4.7.3.

JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:54:50 +03:00
Ruben Ayrapetyan 6d9bea824d Fixing tools/push.sh (removing commented code for adding / removing notes, restoring unintentionally removed variable with message text).
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:53:00 +03:00
Ruben Ayrapetyan c2ec0414db Fixing tools/push.sh (removing collection of build environment information and commented performance measurement code).
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 18:47:03 +03:00
Ruben Ayrapetyan ef461e383a Fixing scripts and configuration of cppcheck and vera++, adding some vera++ rules.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 15:16:35 +03:00
Ruben Ayrapetyan 1669c3ed3d Fixing STM32 and Nuttx build.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 15:16:35 +03:00
Ruben Ayrapetyan 5e3c9b59ef Adding script for automatic download of prerequisites.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-30 15:16:31 +03:00
Ruben Ayrapetyan b867822908 Fixing tools/generator.sh: escaping '"' character.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-29 20:38:44 +03:00
Ruben Ayrapetyan 19aea7a502 Fixing bash scripts: moving '#!/bin/bash' to top.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan [email protected]
2015-04-29 20:36:41 +03:00
Ruben Ayrapetyan cde7805356 Interface jerry_api_eval for performing eval operation. 2015-04-18 21:48:57 +03:00
Ruben Ayrapetyan 3899fe9096 Stub for eval operation with partial implementation. 2015-04-18 21:48:54 +03:00
Ruben Ayrapetyan b451cb3312 Introducing vm_get_this_binding and vm_get_lex_env interfaces for retrieving information about current execution context. 2015-04-18 21:46:13 +03:00
Ruben Ayrapetyan 175f8912b2 Passing ecma_value_t by value instead of by reference. 2015-04-18 21:46:13 +03:00
Ruben Ayrapetyan b81e535e1c Providing interface for getting reference to Global lexical environment. 2015-04-18 21:46:13 +03:00
Ruben Ayrapetyan 3218a87a7f Replacing 'uname -p' with 'uname -m' in Makefile. 2015-04-13 20:38:02 +03:00
Ruben Ayrapetyan 259e871681 Fix of uninitialized value warning in ecma_builtin_jerry_dispatch_routine (converting switch-case to if chain). 2015-04-13 16:20:48 +03:00
Ruben Ayrapetyan 8ee3ee5e4c Fix of exit completion value handling in ECMA_TRY_CATCH. 2015-04-10 11:36:01 +03:00
Ruben Ayrapetyan 9262a08835 Printing names of branches in 'make log'. 2015-04-10 11:35:36 +03:00
Ruben Ayrapetyan 810e3c7ae8 Implementation of Function.prototype.call. 2015-04-10 10:24:27 +03:00
Ruben Ayrapetyan 18079fb4d3 Implementing API for invocation of a function object as a constructor. 2015-04-10 09:55:04 +03:00
Ruben Ayrapetyan 36424c0fd2 Removing contexts arguments from Jerry API; introducing jerry_push_ctx and jerry_pop_ctx interfaces; putting context-related API part under #ifdef CONFIG_JERRY_ENABLE_CONTEXTS (supposed to be implemented later, when becomes necessary). 2015-04-08 15:37:23 +03:00
Ruben Ayrapetyan 469ef4e622 Implementing API for associating native handle (uintptr_t) values with JS objects. 2015-04-07 13:01:01 +03:00
Ruben Ayrapetyan fc2dbf3b0b Introducing mem_heap_get_block_start routine for determining beginning of data space in a heap-allocated block. 2015-04-07 12:58:15 +03:00
Ruben Ayrapetyan 6594a7359b Supporting return values in functions of plugins. 2015-04-07 12:42:55 +03:00
Ruben Ayrapetyan c350a2bade Fixing jerry_api_set_object_field_value and jerry_api_call_function descriptions. 2015-04-06 16:27:47 +03:00
Ruben Ayrapetyan 4dbc6a9d1a Implementing [[Construct]] for external function objects. 2015-04-06 12:31:29 +03:00
Ruben Ayrapetyan 8e4bcca568 Jerry API for creating external function objects bound to native code. 2015-04-03 23:42:49 +03:00
Ruben Ayrapetyan 83730cd6bb Implementing dispatcher for calling native handlers associated with external function objects; implementing interface for unified storage of native pointers in ecma objects. 2015-04-03 23:38:52 +03:00
Ruben Ayrapetyan 5611c16117 Fixing assertion in jrt_set_bit_field_value. 2015-04-03 23:14:23 +03:00
Ruben Ayrapetyan c81651dbe9 Introducing mem_cpointer_t type for compressed pointers. 2015-04-02 16:56:36 +03:00
Ruben Ayrapetyan 3da56908aa Fixing ecma_builtin_jerry_dispatch_routine: returning 'undefined' instead of 'empty' completion value. 2015-04-02 16:27:16 +03:00
Ruben Ayrapetyan a32b149a1a Fixing handling of 'undefined' value in jerry_api_convert_ecma_value_to_api_value. 2015-04-02 15:52:25 +03:00
Ruben Ayrapetyan 28f6741358 Jerry API development.
Details:
  - support of this binding in function calls;
  - jerry_api_is_function and jerry_api_is_constructor interfaces.
2015-04-02 13:18:59 +03:00
Ruben Ayrapetyan bfb23ee967 Changing tools/runners/run-test-suite-test262.sh to produce combined report and output ok / fail statistics. 2015-04-01 18:12:15 +03:00
Ruben Ayrapetyan 9ef65ef45a Fixing missing initializer warning for unused fields in extension declarations. 2015-04-01 17:27:49 +03:00
Ruben Ayrapetyan 90f017d000 Adding --graph and --branches options to git log invocation in tools/log.sh ('make log'). 2015-04-01 13:45:29 +03:00
Ruben Ayrapetyan eb3686a49d Adding jerry_api_is_constructor interface that check if specified object is a function object that implement [[Construct]] method; changing jerry_api_is_function to recognize bound and built-in functions; optimizing jerry_api_call_function. 2015-04-01 12:39:29 +03:00
Ruben Ayrapetyan ef2265ee41 Jerry API implementation. 2015-03-31 13:56:59 +03:00
Ruben Ayrapetyan 33cfaa73b3 Implementation of unimplemented Jerry API parts; adding Jerry API unit test based on test prepared by Ilyong. 2015-03-30 20:54:55 +03:00
Ruben Ayrapetyan eb7dce272a Update of --mem-stats flag fix: leaving MEM_STATS definition only in jerry-core. 2015-03-30 20:00:55 +03:00
Ruben Ayrapetyan 9746b2fd76 Jerry API for calling functions C -> Jerry, creating objects, reading / writing object's properties (currently, only interface declaration, without implementation). 2015-03-27 18:05:27 +03:00
Ruben Ayrapetyan 80d9328c1f Providing option for disabling LTO build mode. 2015-03-27 14:19:33 +03:00
Ruben Ayrapetyan 34cf1b8e8f Fixing Jerry interface declaration: making routines to be exported in C-linkage mode (i.e., adding 'extern "C"'). 2015-03-27 12:05:08 +03:00
Ruben Ayrapetyan 3d2374acd5 Check that the only .gitignore file in repository is the ./.gitignore during precommit testing. 2015-03-26 21:43:23 +03:00
Ruben Ayrapetyan 4cf575c40c Adding missing Nuttx headers, removing .gitignore files from ./third-party/nuttx, fixing default Nuttx include path in Makefile. 2015-03-26 21:36:55 +03:00
Ruben Ayrapetyan 9bcf734bd1 Adding build directory targets to .PHONY list in Makefile. 2015-03-26 17:46:42 +03:00
Ruben Ayrapetyan cf1960dbbd Support for 32-bit Linux in Jerry's libc. 2015-03-26 15:53:28 +03:00
Ruben Ayrapetyan 6b0b669c14 Support passing of string and object arguments to plugins' bound functions. 2015-03-25 18:35:37 +03:00
Ruben Ayrapetyan c8f78c5d28 Nuttx build support. 2015-03-23 12:10:27 +03:00
Ruben Ayrapetyan 5e125187e5 Introducing jerry-libc's interface include directory. 2015-03-19 20:55:00 +03:00
Ruben Ayrapetyan 1ec7ffcbab Turning on flto for all builds to produce target-independent core library. 2015-03-19 19:08:16 +03:00
Ruben Ayrapetyan d83d8e0b36 Removing build of multiple identical jerry-libc and plugins libraries copies. Fixing parallel build / precommit invocation without using the workaround. 2015-03-19 19:06:02 +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