Commit Graph
100 Commits
Author SHA1 Message Date
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
Ruben Ayrapetyan 3d9635300b Moving ecma initialization/finalization from run_int to jerry_init/jerry_cleanup. 2015-02-24 15:12:47 +03:00
Ruben Ayrapetyan c12ec35b2d Extension API: description of structures used for describing extension object; jerry_extend_with - stub for extension interface routine. 2015-02-20 20:37:07 +03:00
Ruben Ayrapetyan d4af5702a4 Increasing heap size to 256K. 2015-02-19 17:51:24 +03:00
Ruben Ayrapetyan 4e93ef421d Support of ecma-value with compressed pointer of more than 14-bit size. 2015-02-19 17:44:51 +03:00
Ruben Ayrapetyan d0c62bb507 Storing named accessor property's pointer to getter and setter objects in separate pool chunk. 2015-02-19 17:26:10 +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 a751ab4f9d Changing garbage collector to non-generational. 2015-02-18 20:22:38 +03:00
Ruben Ayrapetyan d1f6760f01 Accessing getter and setter fields of named data accessor property descriptor through ecma_{get,set}_named_accessor_property_{getter,setter}. 2015-02-18 17:38:46 +03:00
Ruben Ayrapetyan 8b38cd036b Enabling vera++ run during precommit testing. 2015-02-17 19:56:41 +03:00
Ruben Ayrapetyan ef004ef843 Revert "Enabling vera++ run during precommit testing."
This reverts commit 4c71200344dbebff7df2d9497ebdc7e02bd87eab.
2015-02-17 19:56:07 +03:00
Ruben Ayrapetyan 6379d8f4ad Enabling vera++ run during precommit testing. 2015-02-17 19:49:53 +03:00
Ruben Ayrapetyan f42faabe89 Fixing style according to rules defined in vera++ scripts. 2015-02-17 19:47:00 +03:00
Ruben Ayrapetyan 88353e93cf Renaming core -> jerry-core. 2015-02-17 19:08:55 +03:00
Ruben Ayrapetyan b6d018d019 Enable cppcheck run during precommit testing 2015-02-17 18:43:54 +03:00
Ruben Ayrapetyan a4155f7be8 Fixing cppcheck warnings. 2015-02-17 18:43:48 +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 51088ff2cb Enable LTO for unit tests. 2015-02-16 19:35:15 +03:00
Ruben Ayrapetyan 03c81e96e9 Turning on unit tests build and run during precommit. 2015-02-16 19:35:15 +03:00
Ruben Ayrapetyan 86a5cc63c6 Turn off print of script source in release build (in --show-opcodes mode). 2015-02-16 14:55:04 +03:00
Ruben Ayrapetyan 2667281745 Adding VALGRIND={ON,OFF} make option. 2015-02-16 14:02:32 +03:00
Ruben Ayrapetyan 8dc4950590 Renaming src directory to core; moving main modules to top-level directory. 2015-02-13 22:19:05 +03:00
Ruben Ayrapetyan b3cfd40478 Fix parse of "-v" option. 2015-02-13 22:12:07 +03:00
Ruben Ayrapetyan 32dc41e795 Remove stripping of debug binaries. 2015-02-13 22:11:38 +03:00
Ruben Ayrapetyan 43ea53b1d7 Jerry is now split to several components: core, libc, plugins.
The components are build independently and then are linked with main module corresponding to target platform.
Core is supposed to be platform-independent, while libc and plugins are dependent on specific architecture / platform.

The commit disables unit tests building and running during precommit.
That is supposed to be fixed in a subsequent commit.

Also, the commit disables building and running valgrind targets during precommit.
Build is supposed to be turned on by an option that should be introduced later.
Valgrind-checked runs are supposed to be performed in asynchronous mode.
2015-02-13 21:54:27 +03:00
Ruben Ayrapetyan 62a3ac93d9 Fix invocation of memcpy in add_current_token_to_string_cache (NULL pointer shouldn't be passed to memcpy). 2015-02-13 16:38:59 +03:00
Ruben Ayrapetyan 3755db04d2 Remove references to __TARGET_* defines from Jerry core. 2015-02-12 20:16:35 +03:00
Ruben Ayrapetyan 7e4c16e4e6 Rename Jerry's libc functions: __function_name -> function_name. 2015-02-12 20:15:56 +03:00
Ruben Ayrapetyan af77eac8e4 Move Jerry's libc to jerry-libc directory. 2015-02-11 21:33:45 +03:00
Ruben Ayrapetyan 6dfade808f Fix search of libc and libgcc in CMakeLists.txt 2015-02-11 21:27:03 +03:00
Ruben Ayrapetyan 17f51e0ba6 Refinement of completion status codes and fatal error handlers. 2015-02-11 20:53:14 +03:00
Ruben Ayrapetyan 398501afeb Remove CONFIG_ECMA_EXCEPTION_SUPPORT configuration flag. 2015-02-11 18:57:03 +03:00
Ruben Ayrapetyan 35fa39ceb8 Initial version of Embedded API. 2015-02-11 17:47:58 +03:00
Ruben Ayrapetyan ccc0453f34 Splitting main.cpp into jerry.cpp, main_linux.cpp and main_mcu.cpp; leaving __TARGET* defines usage only in jrt and plugins. 2015-02-11 14:10:14 +03:00
Ruben Ayrapetyan f3ff78b81b Refinement of tools directory. 2015-02-10 20:21:01 +03:00
Ruben Ayrapetyan d2459398f5 Refinement of build output structure. 2015-02-10 19:34:30 +03:00