1. 11 3月, 2021 1 次提交
  2. 09 9月, 2020 1 次提交
  3. 03 10月, 2019 1 次提交
  4. 02 10月, 2019 1 次提交
  5. 23 7月, 2019 1 次提交
    • R
      Rework the engine's internal recursion limit (#2969) · 4a9e1858
      Robert Fancsik 提交于
      This patch unifies the recursion limit checking for RegExp, function call and JSON as well.
      Until now the limit was only a counter which was increased/decreased at certain points.
      This counter has been substituted with a numeric limit which allows to restrict the stack usage.
      
      This patch fixes #2963 and resolves the closed #2258 issue.
      
      Co-authored-by: Gabor Loki loki@inf.u-szeged.hu
      JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
      4a9e1858
  6. 19 6月, 2019 1 次提交
    • P
      Rework usages/naming of configuration macros [part 2] (#2903) · 01ecc7bb
      Péter Gál 提交于
      There are quite a few configuration macros in the project.
      As discussed in the #2520 issue there are a few awkward constructs.
      
      Main changes:
      
      * The following macros are now 0/1 switches:
      ** Renamed CONFIG_ECMA_LCACHE_DISABLE to JERRY_LCACHE.
      ** Renamed CONFIG_ECMA_PROPERTY_HASHMAP_DISABLE to JERRY_PROPERTY_HASHMAP.
      ** Renamed CONFIG_DISABLE_UNICODE_CASE_CONVERSION to JERRY_UNICODE_CASE_CONVERSION.
      ** Renamed ENABLE_REGEXP_STRICT_MODE to JERRY_REGEXP_STRICT_MODE.
      ** Renamed JERRY_DISABLE_JS_PARSER to JERRY_PARSER.
      ** Renamed JERRY_ENABLE_ERROR_MESSAGES to JERRY_ERROR_MESSAGES.
      ** Renamed JERRY_ENABLE_EXTERNAL_CONTEXT to JERRY_EXTERNAL_CONTEXT.
      ** Renamed JERRY_ENABLE_LINE_INFO to JERRY_LINE_INFO.
      ** Renamed JERRY_ENABLE_LOGGING to JERRY_LOGGING.
      ** Renamed JERRY_ENABLE_SNAPSHOT_EXEC to JERRY_SNAPSHOT_EXEC.
      ** Renamed JERRY_ENABLE_SNAPSHOT_SAVE to JERRY_SNAPSHOT_SAVE.
      ** Renamed JERRY_SYSTEM_ALLOCATOR to JERRY_SYSTEM_ALLOCATOR.
      ** Renamed JERRY_VM_EXEC_STOP to JERRY_VM_EXEC_STOP.
      ** Renamed JMEM_GC_BEFORE_EACH_ALLOC to JERRY_MEM_GC_BEFORE_EACH_ALLOC.
      ** Renamed JMEM_STATS to JERRY_MEM_STATS.
      ** Renamed PARSER_DUMP_BYTE_CODE to JERRY_PARSER_DUMP_BYTE_CODE.
      ** Renamed REGEXP_DUMP_BYTE_CODE to JERRY_REGEXP_DUMP_BYTE_CODE.
      * Recursion check changes:
      ** Renamed REGEXP_RECURSION_LIMIT to JERRY_REGEXP_RECURSION_LIMIT.
      ** Renamed VM_RECURSION_LIMIT to JERRY_VM_RECURSION_LIMIT.
      * Attribute macro changes:
      ** Renamed JERRY_CONST_DATA to JERRY_ATTR_CONST_DATA.
      ** Renamed JERRY_HEAP_SECTION_ATTR to JERRY_ATTR_GLOBAL_HEAP.
        Now the macro can specify any attribute for the global heap object.
      * Other macro changes:
      ** Renamed CONFIG_MEM_HEAP_AREA_SIZE to JERRY_GLOBAL_HEAP_SIZE.
         Then new macro now specify the global heap size in kilobytes.
      * Updated documentations to reflect the new macro names.
      
      For more deatils please see jerry-core/config.h.
      
      JerryScript-DCO-1.0-Signed-off-by: Peter Gal pgal.u-szeged@partner.samsung.com
      01ecc7bb
  7. 09 4月, 2019 1 次提交
    • P
      Rework usages/naming of configuration macros [part 1] (#2793) · 40f7b1c2
      Péter Gál 提交于
      There are quite a few configuration macros in the project.
      As discussed in the #2520 issue there are a few awkward constructs.
      
      Main changes:
      
      * Renamed all CONFIG_DISABLE_<name>_BUILTIN macro to JERRY_BUILTIN_<name> format.
      * The special JERRY_BUILTINS macro specifies the basic config for all es5.1 builtins.
      * Renamed all CONFIG_DISABLE_ES2015_<name> to JERRY_ES2015_<name> format.
      * The special JERRY_ES2015 macro specifies the basic config for all es2015 builtins.
      * Renamed UNICODE_CASE_CONVERSION to JERRY_UNICODE_CASE_CONVERSION.
      * Renamed ENABLE_REGEXP_STRICT_MODE to JERRY_REGEXP_STRICT_MODE.
      * All options (in this change) can have a value of 0 or 1.
      * Renamed ENABLE_REGEXP_STRICT_MODE to JERRY_REGEXP_STRICT_MODE.
        JERRY_REGEXP_STRICT_MODE is set to 0 by default.
      * Reworked CONFIG_ECMA_NUMBER_TYPE macro to JERRY_NUMBER_TYPE_FLOAT64 name and now
        it uses the value 1 for 64 bit floating point numbers and 0 for 32 bit floating point
        number.
        By default the 64-bit floating point number mode is enabled.
      * All new JERRY_ defines can be used wit the `#if ENABLED (JERRY_...)` construct to
        test if the feature is enabled or not.
      * Added/replaced a few config.h includes to correctly propagate the macro values.
      * Added sanity checks for each macro to avoid incorrectly set values.
      * Updated profile documentation.
      * The CMake feature names are not updated at this point.
      
      JerryScript-DCO-1.0-Signed-off-by: Peter Gal pgal.u-szeged@partner.samsung.com
      40f7b1c2
  8. 18 1月, 2019 1 次提交
    • I
      Add RegExp recursion depth limit (#2543) · c23cf417
      Istvan Miklos 提交于
      The regexp engine does not have any recursion depth check, thus it can cause problems with various regexps. Added a new build option `--regexp-recursion-limit N` whose
      default value is 0, which is for unlimited recursion depth. Also added a build-option-test.
      
      Fixes #2448
      Fixes #2190
      
      JerryScript-DCO-1.0-Signed-off-by: Istvan Miklos imiklos2@inf.u-szeged.hu
      c23cf417
  9. 04 1月, 2019 1 次提交
  10. 11 6月, 2018 1 次提交
  11. 21 3月, 2018 1 次提交
  12. 23 2月, 2018 1 次提交
    • Z
      Implement direct strings. (#2196) · 51e3c445
      Zoltan Herczeg 提交于
      Direct strings are a new type of direct ecma-values (no memory allocation
      is needed for encoding them) in JerryScript. Currently magic strings,
      external magic strings and uint values are encoded as direct strings.
      
      The constant pool of JerryScript byte-code is changed to hold ecma-values
      rather than cpointers to support direct strings.
      
      JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
      51e3c445
  13. 19 2月, 2018 1 次提交
  14. 07 12月, 2017 1 次提交
    • R
      Remove ecma_simple_value_t and refactor ecma_make_simple_value (#2135) · e83de3ac
      Robert Fancsik 提交于
      This patch removes all ecma_make_simple_value calls to make the code more easy to understand.
      Also removes the type ecma_simple_value_t which improves the performance in related code paths by calculating the value of new ecma_value_t is no longer needed.
      
      JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
      e83de3ac
  15. 11 5月, 2017 1 次提交
  16. 09 3月, 2017 1 次提交
    • T
      Fix old-style function definitions and enable warning. (#1651) · f8dd54ab
      Tilmann Scheller 提交于
      Function definitions with no parameters should always use the void keyword to allow the compiler to catch invalid calls of those functions at compile time.
      
      Enable -Wold-style-definition to catch this early in the future.
      
      Fixes #1649.
      
      JerryScript-DCO-1.0-Signed-off-by: Tilmann Scheller t.scheller@samsung.com
      f8dd54ab
  17. 22 2月, 2017 1 次提交
  18. 24 1月, 2017 1 次提交
  19. 08 12月, 2016 1 次提交
    • T
      Streamline copyright notices across the codebase. (#1473) · 0511091e
      Tilmann Scheller 提交于
      Since the project is now hosted at the JS Foundation we can move to unified copyright notices for the project.
      
      Starting with this commit all future contributions to the project should only carry the following copyright notice (except for third-party code which requires copyright information to be preserved):
      
      "Copyright JS Foundation and other contributors, http://js.foundation" (without the quotes)
      
      This avoids cluttering the codebase with contributor-specific copyright notices which have a higher maintenance overhead and tend to get outdated quickly. Also dropping the year from the copyright notices helps to avoid yearly code changes just to update the copyright notices.
      
      Note that each contributor still retains full copyright ownership of his/her contributions and the respective authorship is tracked very accurately via Git.
      
      JerryScript-DCO-1.0-Signed-off-by: Tilmann Scheller t.scheller@samsung.com
      0511091e
  20. 23 9月, 2016 1 次提交
  21. 12 8月, 2016 1 次提交
    • A
      Follow-up refactoring of logging-related parts · a2d5acb4
      Akos Kiss 提交于
      This patch:
      * Ensures that all calls to `jerry_port_log` in jerry-core happen
        via macros defined in jrt.h. Also, it unifies the names of those
        macros: as `JERRY_ERROR_MSG` and `JERRY_WARNING_MSG` gave a good
        pattern that was well aligned with the naming scheme of the log
        level enum, `JERRY_DLOG` and `JERRY_DDLOG` were rewritten to
        `JERRY_DEBUG_MSG` and `JERRY_TRACE_MSG`.
      * Ensures that all debug logging code parts of jerry-core (i.e.,
        memory statistics, JS byte-code dumps, and RegExp byte-code
        dumps) are guarded by macros: `JMEM_STATS`,
        `PARSER_DUMP_BYTE_CODE`, and `REGEXP_DUMP_BYTE_CODE`, which in
        turn are controled by cmake build system feature flags
        `FEATURE_MEM_STATS`, `FEATURE_PARSER_DUMP`, and
        `FEATURE_REGEXP_DUMP`.
      * Ensures that all debug logging functionalities can be controled
        during run time (provided that they were enabled during build
        time): the engine has `JERRY_INIT_MEM_STATS[_SEPARATE]`,
        `JERRY_INIT_SHOW_OPCODES`, `JERRY_INIT_SHOW_REGEXP_OPCODES` init
        flags, and the default unix/linux command line app has
        corresponding command line switches.`
      * Drops `FEATURE_LOG`, `JERRY_ENABLE_LOG`, and
        `JERRY_INIT_ENABLE_LOG`, as their name was misleadingly general,
        even though they mostly controled the regexp engine only. The
        above-mentioned `*REGEXP*` things mostly act as their
        replacements.
      * Updates build, test, and measurement tool scripts, and
        documentation.
      
      JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
      a2d5acb4
  22. 05 8月, 2016 1 次提交
    • R
      Remove compact profile. · f15e7bea
      Robert Sipka 提交于
      The standard doesn't defines ECMAScript Compact Profile as a subset of Ecma-262 Edition 5.1.
      Profile modes can be added easily like the minimal profile if required.
      
      JerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com
      f15e7bea
  23. 01 8月, 2016 1 次提交
    • Z
      Move all remaining globals to the global context. · d1b0b587
      Zoltan Herczeg 提交于
      Zero out all globals (and remove unnecessary init() functions).
      Move snapshot globals to a temporary stack variable.
      
      JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
      d1b0b587
  24. 16 6月, 2016 2 次提交
    • L
      Change return value of 'ecma_ref_ecma_string' to void · 8453a9ad
      László Langó 提交于
      JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
      8453a9ad
    • L
      Remove string copy · 0daeb2f9
      László Langó 提交于
      Changed 'ecma_copy_or_ref_ecma_string' to 'ecma_ref_ecma_string'. It does
      not copy the string if the maximum number of reference counter is reached,
      but bails out with an error like the 'ecma_ref_object' function does.
      
      JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
      0daeb2f9
  25. 20 5月, 2016 1 次提交
    • L
      Change 'mem' namspace to 'jmem' · 92bb551d
      László Langó 提交于
      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
      92bb551d
  26. 19 4月, 2016 1 次提交
  27. 12 4月, 2016 1 次提交
  28. 06 4月, 2016 1 次提交
    • A
      Eliminate TODO and FIXME macros · d501c92f
      Akos Kiss 提交于
      Those macros are legacy and are not used consitently throughout the
      code base. This patch eliminates their definitions and rewrites
      their remaining occurrences to TODO comments.
      
      All occurrences have been checked and made sure that the comments
      used a consistent style.
      
      JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
      d501c92f
  29. 18 3月, 2016 1 次提交
  30. 16 3月, 2016 1 次提交
  31. 10 3月, 2016 1 次提交
    • L
      Few improvements for RegExp · 6f536c79
      László Langó 提交于
      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ó llango.u-szeged@partner.samsung.com
      6f536c79
  32. 09 3月, 2016 2 次提交
    • L
      Don't use messages for errors by default · ab26d578
      László Langó 提交于
      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ó llango.u-szeged@partner.samsung.com
      ab26d578
    • R
      Warning fixes. · 0b5a49f9
      Robert Sipka 提交于
      Passing argument 1 of ‘strncmp’ from incompatible pointer type.
      Assignments from incompatible pointer types.
      Passing argument or initialization discards ‘const’ qualifier from pointer target type.
      
      JerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com
      0b5a49f9
  33. 08 3月, 2016 1 次提交
    • A
      Fix problems arising from incorrect use of various size types · 25b07507
      Akos Kiss 提交于
      E.g.,
      * `ssize_t` was used where `lit_utf8_size_t` or `jerry_api_size_t`
        would have been correct,
      * `lit_utf8_size_t` was used where `ecma_length_t` would have been
        correct.
      
      Note, the patch also includes internal and public API changes:
      * `ecma_string_to_utf8_string` does not return negative value if
         output buffer is not large enough to contain the string; the
         buffer is expected to be large enough. (`ecma_string_get_size`
         can be used to retrieve the required size.)
      * `jerry_api_string_to_char_buffer` adapts the same logic (and
        `jerry_api_get_string_size` can be used to determine the
        required size of the buffer).
      
      Related issue: #942
      
      JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
      25b07507
  34. 01 3月, 2016 3 次提交
  35. 18 2月, 2016 1 次提交
  36. 17 2月, 2016 1 次提交
    • Z
      Remove 'ecma_completion_value_t' · b2426a7a
      Zoltan Herczeg 提交于
      Remove ecma_completion_value_t, and add an extra bit to
      ecma_value_t to represent errors. From the long list of
      completion types only normal and error remained.
      
      JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
      JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
      b2426a7a