Commit Graph

  • 173becc3ac Rename idx_t -> vm_idx_t, opcode_special_reg_t -> vm_reg_t, INVALID_VALUE -> VM_IDX_EMPTY / VM_IDX_REWRITE_GENERAL_CASE, LITERAL_TO_REWRITE -> VM_IDX_REWRITE_LITERAL_UID. Ruben Ayrapetyan 2015-07-28 16:55:32 +03:00
  • 0111a73702 Convert parser operand structure to jsp_operand_t class, move operand types to enum defined in the class. Ruben Ayrapetyan 2015-07-27 20:47:16 +03:00
  • b0276b3e46 Fix print of a 'number' literal. Ruben Ayrapetyan 2015-08-17 15:00:46 +03:00
  • 10e5f3530d Remove heap allocator's block headers, replacing them with bitmap at start of heap. Ruben Ayrapetyan 2015-08-17 17:55:08 +03:00
  • 4c67403f15 Fix collection of memory statistics in pool allocator. Ruben Ayrapetyan 2015-08-17 15:05:40 +03:00
  • 589ebb1802 Remove comparison of unused instruction operands fields (the fields could be uninitialized). Ruben Ayrapetyan 2015-08-18 12:39:22 +03:00
  • 5b9ce05491 Introduce parser-time optimization that replaces a function's local variables with registers. Ruben Ayrapetyan 2015-08-21 14:19:04 +03:00
  • 91aecc3bd0 Introduce parser scope types, add scope flags, indicating whether scope contains a function declaration, a 'try' statement, 'with' statement or 'delete' operator. Ruben Ayrapetyan 2015-08-21 14:09:24 +03:00
  • c3d8cfd73c Add suppression of 'duplicateExpression' cppcheck rule, as it leads to false positives in expressions like static_assert (ENUM_VALUE == 0, "");. Ruben Ayrapetyan 2015-07-30 00:02:53 +03:00
  • 2e13c29331 Switch to cppcheck v1.69. Ruben Ayrapetyan 2015-08-27 13:56:21 +03:00
  • 264a832cc4 Implement prerequisites auto-update. Ruben Ayrapetyan 2015-08-27 15:13:21 +03:00
  • 2ed18491df Fix JERRY_UNIMPLEMENTED_REF_UNUSED_VARS so that call to jerry_unimplemented is placed after if (false) { ... } block. Ruben Ayrapetyan 2015-08-27 17:03:56 +03:00
  • 845b0d5006 Clarify calculation precedence for & and ?. Ruben Ayrapetyan 2015-08-27 16:32:08 +03:00
  • bf780ad3dc Global object escape routine. Zoltan Herczeg 2015-08-25 05:35:19 -07:00
  • 8f239d0b90 Add external libs include path for jerry-core SaeHie Park 2015-08-14 08:55:33 +09:00
  • f7b370ba42 Disable warning messages of fdlibm for mips SaeHie Park 2015-08-14 08:53:04 +09:00
  • bafc9551a9 Implement substr function in String object Szilard Ledan 2015-08-19 09:45:55 +02:00
  • e4843ece76 Fix processing of elision in array literal. Andrey Shitov 2015-08-24 13:37:14 +03:00
  • 01604974e3 Free eval's code and literal hash-table after its execution if it does not contain functions. Andrey Shitov 2015-08-19 20:13:26 +03:00
  • 13941df8dd Implement RegExp.prototype.compile() Dániel Bátyai 2015-08-17 15:16:44 +02:00
  • 63d3e02b59 Fix 'control reaches end of non-void function' compile error for 'noreturn' SaeHie Park 2015-08-18 09:50:47 +09:00
  • b3b87add02 Fix parsing of string literals which contain zero character. Andrey Shitov 2015-08-17 20:48:44 +03:00
  • e0dee65a36 Improve performance of lit_utf8_string_calc_hash_last_bytes. Evgeny Gavrin 2015-08-19 22:26:54 +03:00
  • ccfe1f1cd6 Remove 'if engine is executable' check. Evgeny Gavrin 2015-08-19 11:07:35 +00:00
  • 59ce413df5 Enable ./tools/perf.sh to accept arguments with quotes. Evgeny Gavrin 2015-08-19 10:24:35 +00:00
  • 0938211f63 Fix parsing of comments which contain zero character. Andrey Shitov 2015-08-17 19:35:40 +03:00
  • a870a07972 Remove preparser lexer pass and pass for searching of "eval" and "arguments" literals. Andrey Shitov 2015-08-12 15:50:16 +03:00
  • cc4283b945 Fix assertion 'mem_pools == NULL' fail in JSON.stringify Roland Takacs 2015-08-17 00:32:45 -07:00
  • ab47365b71 Switch heap GC start limit check to consider number of allocated heap chunks instead of bytes. Ruben Ayrapetyan 2015-08-13 19:30:38 +03:00
  • 4667d3078b Introduce GC start heuristics on low-severity try-give-memory-back requests. Ruben Ayrapetyan 2015-08-17 17:23:49 +03:00
  • 4dcbdb44ff Cross-build fix after 5e301a1d71 Zoltan Herczeg 2015-08-17 07:44:20 -07:00
  • 5e301a1d71 Refactor the remaining date string conversion helpers. Zoltan Herczeg 2015-08-14 05:40:56 -07:00
  • 99ff8018bd Fix show-opcodes not showing last argument Hanjoung Lee 2015-08-11 16:31:19 +09:00
  • 38fa391cd8 Replace ecma_create_object with high-level Object and Array construction interfaces in JSON built-in implementation. Ruben Ayrapetyan 2015-08-13 22:48:42 +03:00
  • 9ffa6a39d3 Fix undefined initialValue handling in Array.prototype.reduce and reduceRight function. Kristof Kosztyo 2015-08-13 15:33:36 +02:00
  • 5bb56643aa Fix undefined fromIndex in Array.prototype.lastIndexOf() Dániel Bátyai 2015-08-13 14:36:20 +02:00
  • c8884a4561 Fix assert in the Date prototype Kristof Kosztyo 2015-07-23 14:34:36 +02:00
  • 8f594aebfa Improvement of pool allocator. Ruben Ayrapetyan 2015-08-06 17:03:36 +03:00
  • 5be41b44bb Date toString methods follow the date format used by other JS engines: Zoltan Herczeg 2015-08-13 03:54:49 -07:00
  • 4ee30cba5d Fix RegExp literal parsing Dániel Bátyai 2015-08-10 14:26:02 +02:00
  • d2ac7c320d Fix invalid control escapes during RegExp parsing. Dániel Bátyai 2015-08-10 11:00:48 +02:00
  • c4b1f02947 Fix assertion 'ret_value == ecma_make_empty_completion_value ()' fail in JSON.stringify() Roland Takacs 2015-08-07 15:46:54 +02:00
  • f2c846d960 Fix the this argument passed to string replace callbacks. Zoltan Herczeg 2015-08-11 04:07:34 -07:00
  • c6b4510c9a Add script for performance testing. Evgeny Gavrin 2015-08-11 16:14:35 +03:00
  • 0d855e898d Fix hoisting of function declaration from function expressions. Andrey Shitov 2015-08-07 18:30:29 +03:00
  • 531a9d3352 Fix invalid preparsing of variable declarations which are not splitted by comma. Andrey Shitov 2015-08-11 08:54:19 +03:00
  • d6ad1c467e Fix semicolon check after variable declaration list. Andrey Shitov 2015-08-11 10:03:36 +03:00
  • 95c1c223e8 Add checking for invalid operand in perfix operation. Andrey Shitov 2015-08-10 20:48:33 +03:00
  • a751478a19 Although the standard does not specify the effect of $nn in String.replace when nn is bigger than the max, the test-262 test suite expects a certain behaviour. This behaviour is mimiced by this patch. Zoltan Herczeg 2015-08-10 23:09:38 -07:00
  • d31eb3c4cb Jerry API for array creation and manipulation chunseok lee 2015-08-04 11:03:44 +09:00
  • 1cafff32b5 Pass function arguments through ecma-collections. Ruben Ayrapetyan 2015-08-04 19:27:18 +03:00
  • 7daabb1974 Change fill_params_list to append formal parameter names to ecma-values collection, instead of array; rename it to vm_fill_params_list. Ruben Ayrapetyan 2015-08-04 15:56:24 +03:00
  • 72ce13a63a Change type of MEM_CP_NULL to mem_cpointer_t. Ruben Ayrapetyan 2015-08-05 23:35:40 +03:00
  • e22a085fc1 Implement RegExp octal support Szilard Ledan 2015-07-31 12:33:23 +02:00
  • cf1eda0981 Fix assertion fails in parseInt() Dániel Bátyai 2015-08-05 12:49:40 +02:00
  • 8df6cdd1e9 Refactor fromCharCode including support for surrogate pairs. Zoltan Herczeg 2015-08-05 05:38:23 -07:00
  • f10a48df96 Fix assertion 'mem_pools == NULL' failed in Function.constructor Roland Takacs 2015-08-06 14:22:09 +02:00
  • b7d3189ac3 Trim whitespace from argument names in Function constructor Dániel Bátyai 2015-08-06 10:44:46 +02:00
  • 58851bc7cc Fix bound function length Dániel Bátyai 2015-08-07 13:07:34 +02:00
  • 640370da43 Implement String.prototype.split function Zsolt Borbély 2015-08-05 16:15:06 +02:00
  • ff580ca33e Use ecma-collection in JSON. Roland Takacs 2015-08-06 15:41:17 +02:00
  • a19dd0523e Fix 'property_p != NULL' assertion fail in RegExp László Langó 2015-08-06 09:50:44 +02:00
  • 2d80456eb7 Fix Assertion 'ecma_get_value_type_field (value) == ECMA_TYPE_OBJECT' in RegExp. László Langó 2015-08-05 09:34:10 +02:00
  • 97aed75a46 Introduce interface for removal of a ecma-collection's last value. Ruben Ayrapetyan 2015-08-05 19:29:45 +03:00
  • ab846f6fba Fix invalid control escape in RegExp. László Langó 2015-08-06 11:24:56 +02:00
  • 2eb8f76089 Fix ecma_get_property_descriptor_from_property for accessor properties with [[Get]] / [[Set]] set to undefined value Kristof Kosztyo 2015-08-05 16:25:03 +02:00
  • fe0ec9d7fa Object constructor prototype should be set to Function. Peter Gal 2015-08-05 11:30:45 +02:00
  • 5888401318 Fix assertion 'bytes_copied > 0 || !string_len' in JSON.stringify() Roland Takacs 2015-07-29 14:10:29 +02:00
  • e61f41a0bc Fix of memory leak in Function.prototype.bind function. Zsolt Borbély 2015-08-03 15:17:33 +02:00
  • 2630048ecc Fixes for URI decoding. Zoltan Herczeg 2015-08-03 06:27:26 -07:00
  • caeae0f621 Fix undefined result in RegExp engine Szilard Ledan 2015-07-31 14:03:53 +02:00
  • c17197dcab Handle Unicode characters in parseFloat() Dániel Bátyai 2015-07-27 17:01:57 +02:00
  • 7aacb8fc01 Remove recursion limit from RegExp engine. László Langó 2015-08-04 13:11:39 +02:00
  • 9cc706d21d Enable tests after #435. Zsolt Borbély 2015-08-05 16:56:42 +02:00
  • 554305d88c Implement String.prototype.lastIndexOf() Laszlo Vidacs 2015-07-27 17:51:34 +02:00
  • 7aa1b16184 Change fill_varg_list to append arguments values to ecma-values collection, instead of array; rename it to vm_fill_varg_list. Ruben Ayrapetyan 2015-07-31 22:30:01 +03:00
  • b08e8a3173 Make ecma-values collection extendable (by introducing ecma_append_to_values_collection interface). Ruben Ayrapetyan 2015-07-31 20:45:25 +03:00
  • 1aa04a287d Optimize lit_get_magic_string_utf8. Andrey Shitov 2015-08-05 15:55:58 +03:00
  • 55ffb0cdd1 Fix pass of USE_COMPILER_DEFAULT_LIBC from make (Makefile) to cmake (CMakeLists.txt). Ruben Ayrapetyan 2015-08-04 14:46:06 +03:00
  • 24e307481e Optimize block size calculation in functions working with linked list. Andrey Shitov 2015-07-30 20:07:50 +03:00
  • af56cd8465 Make the string trim method unicode tolerant. Peter Gal 2015-08-04 10:29:11 +02:00
  • 57336909cb Fix RegExp matching on right brackets and braces. László Langó 2015-08-03 14:52:56 +02:00
  • 7a3636b5ce Remove executor steps/match limit from RegExp. László Langó 2015-08-03 14:34:03 +02:00
  • 9ab0f23e48 Fix IgnoreCase in RegExp engine Szilard Ledan 2015-07-29 16:55:51 +02:00
  • f48ed52209 Implement IgnoreCase in RegExp engine László Langó 2015-07-28 18:27:53 +02:00
  • 1b05cc47ff Add throwing of missing range error to Date.prototype.toISOString() Roland Takacs 2015-08-03 10:09:31 +02:00
  • 6082c32d45 Refactor to{,UTC,ISO}String methods of the Date object. Roland Takacs 2015-08-03 10:01:29 +02:00
  • 833a5d1a55 Eliminate the year calculation from an infinity value. Roland Takacs 2015-07-31 13:32:05 +02:00
  • 722fd2a989 Remove unneccesary UTC time conversion in the parser of the Date object. Roland Takacs 2015-07-23 15:02:59 +02:00
  • 3151a460fc Support local time output for the Date object. Roland Takacs 2015-07-23 14:50:41 +02:00
  • 156510e174 Fix array index normalize in case index is negative zero Dániel Bátyai 2015-08-04 13:00:03 +02:00
  • 6ec05ff07f Refactor and cleanup the RegExp parser Szilard Ledan 2015-07-28 18:22:08 +02:00
  • 0a1b6eb4c7 Implement String.prototype.search, and some minor regexp refactors. Zoltan Herczeg 2015-08-04 05:07:44 -07:00
  • f39a294bc6 Remove dependency on prerequisites for linux build. Ruben Ayrapetyan 2015-08-04 13:54:06 +03:00
  • c41f76aba2 Support up to 65535 items in object / array literals. Ruben Ayrapetyan 2015-07-30 17:28:17 +03:00
  • b5923ccd9d Fix [[Construct]] call for Date() Roland Takacs 2015-07-27 13:54:19 +02:00
  • f7781bb7bc Remove intrinsics (native_call opcode). Ruben Ayrapetyan 2015-07-30 16:18:07 +03:00
  • 72d4c07bdc Remove 'print' instrinsic, add 'print' implementation-defined built-in routine to the Global object. Ruben Ayrapetyan 2015-07-31 17:28:48 +03:00
  • c715a7cd1d Change 'assert' handle to pass only upon exactly 1 argument is received, and the argument is boolean true; update internal test suite correspondingly. Ruben Ayrapetyan 2015-07-30 15:13:16 +03:00
  • 5d385b1144 Fix properties of RegExp prototype László Langó 2015-07-28 18:41:34 +02:00