Parts:
* Rename ecma_string_to_utf8_string() to ecma_string_copy_to_utf8_buffer.
* Introduce ecma_string_to_utf8_bytes(), which wraps the usual 'function call-assertion' pair,
and check strict equality of size of the string and the buffer.
JerryScript-DCO-1.0-Signed-off-by: Zsolt Borbély zsborbely.u-szeged@partner.samsung.com
Skip put result phase for opcodes which put their
result onto the stack or they don't have result at all.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
The number of delete opcodes is reduced to two from six. The
range of numbers which can be included in the byte code is
doubled from (-127,127) to (-256,256).
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This patch contains an example in which you can run a small js on RIOT-OS with STM32F4-Discovery.
Check the README.md for a more detailed explanation of how to compile and run it.
JerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com
or no arguments at all. To improve the performance, the branch argument
flag is changed into a get argument type which eliminates a flag check
for all executed opcodes. Furthermore branch opcodes skip the put result
phase by changing the "break" to "continue" statements.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
* Rename 'jerry_api_' prefix to 'jerry_'
* Fix minor style issues
* Group the API functions and add comment to each group
* Move engine behaviour related funtions to 'jerry.h'
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
This patch contains a project in which you can run
a small js test inside the Arduino101.
Follows the Nuttx implementation to replicate a command
line in the Quark SE Lakemont architecture.
Everything is self contained in the targets/arduino_101 folder.
It has only been tested with the arduino 101 at the moment.
Check the README.md for a more detailed explanation of
how to compile and run it.
- Command line javascript run test.
Use test to get a default test.
Write any valid javascript in the shell and get it resolved and executed
- Support for qemu
- Added extra verbose mode on the demo function
- Support to build factory images that can be flashed with dfu-util
- Added a few extra examples on the README about commands that work.
Small fixes to readme and libc_support.c (#1)
- Added a few more instructions to the README.md for arduino_101
- Added the stdint.h include in libc_support.c
- Added parameter to check-vera.sh to check a specific folder
- Cleared the libc function duplication
JerryScript-DCO-1.0-Signed-off-by: Sergio Martinez sergio.martinez.rodriguez@intel.com
The implementation is simplified and optimized
resulting the removal a large amount of code.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
The cache stores only real properties now, because storing NULLs has
little benefit according to tests. Since only real properties are
stored now, there is no need to create real references to objects
and property names, which reduces the keeping of dead objects after
garbage collection.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
* Improve the name of the temporary snapshot files in test runner:
Until now, test runner used a completely random filename for the
temporary snapshot file when testing (saving to and executing from)
snapshots. This patch makes the temp file contain part of the name
of the original test file in order to make reading the logs (and
thus, identifying failing tests) easier.
* Add `--snapshot` to summary info of test runner if testing snapshot
support:
This helps reading the logs, especially when multiple tests run in
parallel and get their output mixed. E.g., on the CI, all tests
write the console at the same time and messages get interleaved.
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
Links to JerryScript API reference page (https://samsung.github.io/jerryscript/API/) are inserted.
JerryScript-DCO-1.0-Signed-off-by: István Kádár ikadar@inf.u-szeged.hu
Move the enclosed condition forward and combine the two if statements.
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
The ecma_op_to_boolean return value is changed to bool for faster
evaluation, and no need to swap operandos of relational compare.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
the three boolean arguments of ecma_create_named_data_property and the
two boolean arguments of ecma_create_named_accessor_property are combined
into one uint8_t argument. On ARM-32 it is preferred to have less than
four arguments, since these arguments can be passed in registers.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
Create new ecma-string from positive integers without cast it to ecma_number
JerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com
function is removed and incorporated into ecma_op_general_object_put. Also most
properties are directly created / updated instead of using ecma_builtin_helper_def_prop.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
- Branch argument information is encoded in the vm byte
code data, so CBC flags are not loaded anymore
- The free_flags variable is removed from the vm_loop
- Two cases are removed from "get arguments", argument
processing is simplified
- The two opcode tables are merged to one
- The VM_OC_POP opcode has no result, so the break is changed to continue.
- The VM_OC_PUSH_NUMBER can use ecma_make_integer_value.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
counter is one, dereferencing the value frees its allocated memory.
In this case we return early.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
When running multiple test suites in parallel -- e.g., as it
happens on the CI --, the names of the executed commands and the
results of the executions can/do get printed far from each other,
interrupted by other prints. This can make the reading of the
output hard. This patch prints each line with one echo command,
which makes the interruption of the line less likely.
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
Unnecessary checks are removed, new checks are added to skip
unneeded code paths.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
Set the correct defines in CMakeLists.txt and update another occurrences in scripts.
JerryScript-DCO-1.0-Signed-off-by: Zsolt Borbély zsborbely.u-szeged@partner.samsung.com
The 'mem_' prefix is too general, so it might clash with
symbols in other libraries. Renamed the directory, file,
funtion and type names.
Related issue: #1052
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
String, Boolean) to use ecma-values. When the value of a Number object is
a small integer number, this change reduces the memory consumption, since no
double is allocated.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This modificiation affects those conditions which check that
a value can be represented with a smaller type.
JerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com
Jerry (the command line tool) has been supporting the execution of
multiple script files for long. However, until now, it simply
concatenated all sources into a single source buffer and
parsed/executed them as one unit. Other JS execution tools (e.g.,
jsc, v8) load and execute separate files as separate units -- but
still in the same execution environment. The most significant
effect of this approach is that the `"use strict;"` directive (or
the absence of it) at the beginning of each JS script file takes
effect as expected (i.e., as if the script was executed alone).
Contrarily, the concatenation-based approach forces the strictness
of the first script on all the rest (i.e., if the first script
starts with `"use strict";` the rest is also executed in a strict
environment even if they did not contain the directive, and vice
versa).
This patch makes the jerry command line tool to load/parse/run one
unit at a time.
Side effects:
- As there is no need for separate file read routines that load one
file (a snapshot) or concat multiple (JS sources) anymore, those
routines got merged.
- Both previous read routines used multiple stdio functions
(`fseek`, `ftell`, and `rewind`). This has been simplified to
rely on `fread` only to find out the length of the input.
- This simplification made the above mentioned functions
superfluous in jerry-libc.
- As some error messages had to be touched in this patch, several
more have been beautified to make them more consistent.
- One small change was needed in `jerry_parse` in jerry-core to
allow subsequent parsing of multiple sources (without that, an
assertion was triggered).
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
Both JS test suite and unit test logs can grow large as Makefile
invokes run-test-suite.sh and run-unittests.sh with absolute paths
to engines and test directories, which get then printed quite
often. This patch adds code to the runner scripts to determine the
longest directory path common to the current working directory, the
invoked script, the test directory, and the engine (in case of JS
tests). Then, when a path is to be printed, this common path
component is skipped.
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
and comments. Space consumed by opcode triplets are reduced to 16 bits
down from 32 bits. This reduces the opcode triplet tables by 220 bytes.
New symbolic constants and defines were also added to describe common
operations.
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com