Commit Graph
74 Commits
Author SHA1 Message Date
László Langó 92bb551d45 Change 'mem' namspace to 'jmem'
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ó [email protected]
2016-05-20 16:01:33 +02:00
László Langó e1c8a2ec96 Run JS regression tests in snapshot mode too
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-05-18 17:05:13 +02:00
László Langó 07dabff1ab Update API reference
* Fixed code style issues
 * Updated the documentation of 'jerry_parse' and 'jerry_run'
 * Fixed broken anchor formats
 * Fixed 'jerry_api_value_t' usage
 * Updated fuction parameters

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-05-18 11:22:29 +02:00
László Langó 0ff35311ca Add new API examples
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-05-17 16:22:33 +02:00
László Langó 1938415b0d Remove 'test-js-precommit' target from Makefile
When performing `make precommit`, instead of running only a subset of
the Jerry Test Suite on full profile builds, run the whole suite, and
also run the compact subset of the suite on compact builds. Also, make
CI perform the same tests.

Related issue: #879
Related PR: #912

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-05-17 15:42:27 +02:00
László Langó 2d7f1d1070 Warning fixes for jerry-libm
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-05-13 15:52:56 +02:00
László Langó 953e45f266 Remove 'ecma_assert_object_type_is_valid' from release
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-05-13 15:29:49 +02:00
László Langó 210ba6dc85 Update API-EXAMPLE.md
Fix Jerry style and update to the current API.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-05-10 12:44:18 +02:00
László Langó fe3c269e99 Fix return value of 'jerry_api_get_object_field_value'
Fixed the return value to return false when the field does
not exist as the documentation says.

Related issue: #1041

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-05-06 21:07:19 +02:00
László Langó 2a5468a2ac Improve double to string conversion
Added errol implementation. Fixed '3d-raytrace.js', because
the new algorithm has better precision and also reduce the
code size.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-05-06 14:53:50 +02:00
László Langó 80bfb61b13 Remove unnecessary error bit negation
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-04-21 09:36:42 +02:00
László Langó c98cb65373 Use 'const' in string iterations.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-04-12 12:52:59 +02:00
László Langó 9dad7dbfba Introduce ECMA_STRING_TO_UTF8_STRING and ECMA_FINALIZE_UTF8_STRING
Benefits:
 * Better readability and maintenance
 * Better heap consumption on 'date-format-xparb.js' test of SunSpider

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-04-12 12:52:59 +02:00
László Langó b78f5a55bb Fix assertion on unhandled exceptions
Follow up fix after #815 ('a187e6d'). Fixed the following
assertion on unhandled exceptions:
  * ICE: Assertion 'ecma_get_value_type_field (value) == ECMA_TYPE_OBJECT'
    failed at ecma-helpers-value.c(ecma_get_object_from_value):375.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-04-11 10:53:15 +02:00
László Langó 2027caeda5 Performance optimizations
* inline some hot function
 * add 'ecma_copy_value_if_not_object' similer to 'ecma_value_free_if_not_object'
 * remove unnecessary helpers
 * improve 'do_number_bitwise_logic'

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-03-22 08:05:00 +01:00
László Langó e1f20ad474 Use code unit instead of code point
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-03-18 09:59:04 +01:00
László Langó 6f536c7942 Few improvements for RegExp
Added eviction mechanism to RegExp cache and small
refactoring. Fixed a bug when logging is enabled.

Related issue: #927

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-03-10 13:09:08 +01:00
László Langó 21e2951a44 Use '-Werror' instead of '-Werror=...' for Jerry libc
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-03-09 15:39:56 +01:00
László Langó ab26d57841 Don't use messages for errors by default
Use empty string for message property of builtin error objects
by default. Add ERROR_MESSAGES build option.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-03-09 11:44:32 +01:00
László Langó 9bf1ecc677 Disable date object related system calls by default
Use DATE_SYS_CALLS=ON for make target to enable the
date related system calls. Also fix some minor issues.
Related issue: #923

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-03-08 12:13:55 +01:00
László Langó a187e6d60c Print error messages to be more informative
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-03-07 12:02:05 +01:00
László Langó 2c72bb1139 RegExp refactoring and improvements
Move RegExp bytecode functions to a separate file.
Optimize bytecode lenght on character matching.
Implement a basic RegExp cache to optimize memory
usage on duplicated RegExp in JS files. Also fix
minor style issues and add missing comments. Improve
existing comments.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-03-01 13:54:14 +01:00
László Langó e14d0b8942 Fix the format of doxygen comments of output arguments
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-03-01 12:37:33 +01:00
László Langó 76b37f34d0 Build fix
Fix build error on darwin and build with default libc.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-23 12:31:05 +01:00
László Langó 9d7978074f Fix 'jerry-test-suite/13/13-011.js' fail in compact profile
Arguments object is not supported in compact profile, so remove
the test from 'compact-profile-list'. Do not create arguments
object on function calls in compact profile. Remove unnecessary
arguments check.
Related issue: #879

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-22 14:35:37 +01:00
László Langó a0bedaa43d Remove EXTERN_C macros and use block based solution
Related issue: #900

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-19 15:45:14 +01:00
László Langó 684ed7268c Fix system call related date builtin functions
Related issues: #213, #691
 * Fixed 'ecma_date_local_tza' and 'ecma_date_daylight_saving_ta' date builtin helper functions
 * Added syscall of gettimeofday function to get the current system time and timezone.
 * Fixed related regression test files.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-18 14:05:36 +00:00
László Langó a7715a5d78 Fix style issues and improve vera++ rules.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-18 13:27:54 +00:00
László Langó db26cb2b79 Optimize 'lit_get_magic_string_size' calls
Calculate magic string length sizes in compile time.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-18 07:38:35 +00:00
László Langó ed12df5c8d Improve 'tools/run-perf-test.sh'
Always write results on stdout and save markdown file optionally.
Use "Peak allocated" if binaries were built with MEM_STATS.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-16 14:50:54 +01:00
László Langó 7a7b15c23a Remove unnecessary assertion
Fix for:
  * ICE: Assertion '!is_equal' failed at jerry-core/ecma/operations/ecma-lex-env.cpp(ecma_op_set_mutable_binding):219
Related issue: #879

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-16 14:38:36 +01:00
László Langó 1dde538224 Check reference count of objects
Throw an error if the object reference count reached the limit.
Related issue: #118

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-16 14:30:41 +01:00
László Langó bc82654029 Fix build with -O3
Related issue: #657

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-12 11:30:15 +01:00
László Langó 9a6bdef228 Fix assertion in RegExp compile
Related issue: #641

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-10 09:09:11 +01:00
László Langó 094b182e96 Fix assertions in RegExp builtin
Related issue: #783, #784

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-09 15:31:16 +01:00
László Langó 6b8332e631 Fix 'Segmentation fault on String.Replace'
Related issue: #747

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-09 15:26:38 +01:00
László Langó d420be3fdf Fix 'Segmentation fault in re_get_value'
Related issue: #782

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-09 15:17:28 +01:00
László Langó ca01412848 Add regression tests for recently closed issues
Related issues: #123, #354, #358, #384, #447, #680, #738, #739, #743, #781, #785, #786

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-09 13:54:56 +01:00
László Langó 0f378281ba Fix memory leak in RegExp builtin.
Related issue: #787

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-09 13:48:09 +01:00
László Langó 02b001e479 Remove leftover from ecma_simple_value_t
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-09 13:25:35 +01:00
László Langó d132c37f0a Optimize number literals.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-09 13:20:22 +01:00
László Langó e763280761 Fix Vera++ rule for switch statements.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-09 13:13:40 +01:00
László Langó d038284bff Style fix: fix comments at the end of function definitions.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-05 13:46:51 +01:00
László Langó b1acf1a562 Style fix: align pointer dereference operator to right
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-02-05 13:06:34 +01:00
László Langó fec49f5f9a Update precommit test file list to run all test files.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2016-01-22 13:26:37 +01:00
László Langó a19dd0523e Fix 'property_p != NULL' assertion fail in RegExp
Related issue: #312

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-08-07 08:02:02 +02:00
László Langó 2d80456eb7 Fix Assertion 'ecma_get_value_type_field (value) == ECMA_TYPE_OBJECT' in RegExp.
Related issue: 316

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-08-06 15:00:38 +02:00
László Langó ab846f6fba Fix invalid control escape in RegExp.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-08-06 14:45:52 +02:00
László Langó 7aacb8fc01 Remove recursion limit from RegExp engine.
Related issue: #388

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-08-06 09:58:50 +02:00
László Langó 57336909cb Fix RegExp matching on right brackets and braces.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-08-04 16:52:08 +02:00
László Langó 7a3636b5ce Remove executor steps/match limit from RegExp.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-08-04 16:51:13 +02:00
László Langó f48ed52209 Implement IgnoreCase in RegExp engine
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-08-04 16:29:47 +02:00
László Langó 5d385b1144 Fix properties of RegExp prototype
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-30 15:25:53 +02:00
László Langó 3c71daaf84 Use unicode iterators in RegExp engine and implement \d, \D, \w, \W, \s, \S, \x, \u matching in RegExp.
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan [email protected]
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-24 16:07:25 +02:00
László Langó 051c7b6786 Implement Date.prototype.toDateString and Date.prototype.toTimeString
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-15 16:25:14 +03:00
László Langó 84f09ffcd9 Follow up fix for Date.prototype.toString
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-15 16:25:14 +03:00
László Langó cf9d54545f Style fixes for RegExp engine.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-15 11:02:11 +02:00
László Langó 9c559216b7 Primitive value of Date.prototype should be NaN
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-10 13:31:31 +02:00
László Langó 122e5c47c9 Fix assertion in RegExp bytecode realloc.
Assertion '!bc_ctx_p->current_p && !bc_ctx_p->block_end_p && !bc_ctx_p->block_start_p' failed in realloc_regexp_bytecode_block

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-10 10:23:09 +02:00
László Langó 9b24d8fd7a Implement Date.prototype.toString
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-10 09:43:19 +02:00
László Langó 6e8f7b6e59 Assertion fix in RegExp.
Assertion 'mem_pools == NULL' failed in mem_pools_finalize

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-10 09:33:23 +02:00
László Langó c12914c71a Implement Date constructor.
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-08 11:07:23 +02:00
László Langó 4f108ab401 Implement Date.UTC and add a dummy implementation for Date.now
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-07 15:43:33 +02:00
László Langó cadc8f40d4 Implement Date.parse
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-07 08:25:29 +02:00
László Langó e9a5b34d1d Assertion fix for missing class names.
Assertion 'builtin_id == ECMA_BUILTIN_ID_TYPE_ERROR_THROWER' failed in ecma_object_get_class_name.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-07-06 15:29:28 +02:00
László Langó e027b4d65d Enable regular expressions.
- add regular expressions support to JS parser and interpreter;
- add tests for regular expressions.

JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan [email protected]
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-06-26 13:31:10 +02:00
László Langó f992f5d92e Add RegExp object constructor, regular expression matching procedures, RegExp and RegExp.prototype built-in objects.
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan [email protected]
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-06-26 13:31:06 +02:00
László Langó 4ffcb4d464 Add parser and compiler of regular expressions.
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan [email protected]
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-06-26 13:31:03 +02:00
László Langó 1f9add4735 Add ecma_char_is_word_char helper (part of IsWordChar abstract operation, ECMA-262 v5, 15.10.2.6); move hex_to_int from lexer to jerry-core/ecma/base/ecma-helpers-char.cpp, renaming it to ecma_char_hex_to_int.
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan [email protected]
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-06-26 13:31:00 +02:00
László Langó 50b64bfad2 Add ecma_new_ecma_string version that takes buffer with specified number of characters, instead of zero-terminated string.
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan [email protected]
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-06-26 13:30:57 +02:00
László Langó d0e9edc16d Fix comments in jerry-core/ecma/base/ecma-helpers.h.
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan [email protected]
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-06-26 13:30:53 +02:00
László Langó 6511f0e1ba Add ecma_raise_* helpers for raising ECMA exceptions.
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan [email protected]
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-06-26 13:30:23 +02:00
László Langó d803c3bc82 Init commit for Date object.
JerryScript-DCO-1.0-Signed-off-by: Szilard Ledan [email protected]
JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-06-16 18:05:31 +02:00
László Langó 7c99170f54 Fix assertion in print method.
ICE: Assertion 'args_number == 1' failed at Jerry/jerry-core/vm/opcodes-native-call.cpp(opfunc_native_call):55.
Error: ERR_FAILED_INTERNAL_ASSERTION

Test case:
  print('a', 'a');

Print all of the arguments separated by space.

JerryScript-DCO-1.0-Signed-off-by: László Langó [email protected]
2015-05-06 09:07:10 +02:00