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
Ruben Ayrapetyan
718bbe26f9
Refinement of project structure.
...
- components renaming and moving:
- liballocator -> mem;
- libcoreint -> vm;
- libecmaobjects -> ecma/base;
- libecmaoperations -> ecma/operations;
- libecmabuiltins -> ecma/builtins;
- libjsparser -> parser/js;
- libintstructs -> parser/collections;
- liboptimizer -> parser/js;
- libperipherals -> ../plugins/lib_device_stm;
- libruntime -> jrt;
- generated.h now is created as intermediate during build;
- benchmarks -> tests/benchmarks;
- docs -> documentation;
- demo-applications removed (loop_demo.js -> tests/blinky.js).
2015-02-10 19:00:32 +03:00
Ruben Ayrapetyan
b7e374fedc
Switching to CMake for build.
2015-02-09 20:56:01 +03:00
Ruben Ayrapetyan
fa6402334f
Renaming sources *.c -> *.cpp.
2015-02-09 18:21:44 +03:00
Ruben Ayrapetyan
ba348831ca
Reverting changes related to on-stack GC-root introduction (except of passing ecma_value_t by const reference).
...
This reverts commits:
31e1405f39d72f8b885e92256b0dc29ecab1a99,
7cb43840b59c539d9b043990ed658ae15a9defc3,
1ab57a4493689806035a9853b0030cc6fea65590,
c24b511ca60587e0db12d46a7e7567c86c3649bc,
b2caf3e8b31b4b6b16499108ee3aabdcb94f0717,
44f9c307fb6204bfd2181b19a9d94cabddf04de9.
2015-02-09 17:43:29 +03:00
Ruben Ayrapetyan
35aa8238c2
Updating 'may reference younger object' in ecma_create_ for outer lexical environment / prototype objects; setting provideThis to false for declarative lexical environments.
...
Although provideThis is not used for declarative lexical environments, setting it to false to prevent valgrind's false positive about uninitialized flag value.
2015-02-09 17:41:25 +03:00
Ruben Ayrapetyan
5a2d6f4308
Replacing JERRY_NVALGRIND with the opposite JERRY_VALGRIND.
2015-02-05 17:58:55 +03:00
Ruben Ayrapetyan
fb6e205d0d
Moving to replacement of on-stack ecma_object_t* with managed ecma_object_ptr_t.
2015-02-04 18:14:04 +03:00