]>
git.kaiwu.me - njs.git/log
Dmitry Volyntsev [Mon, 9 Oct 2017 17:37:02 +0000 (20:37 +0300)]
Added tag 0.1.14 for changeset
d89d06dc638e
Dmitry Volyntsev [Mon, 9 Oct 2017 17:32:21 +0000 (20:32 +0300)]
Version 0.1.14.
Dmitry Volyntsev [Thu, 5 Oct 2017 15:23:22 +0000 (18:23 +0300)]
Improved editline detection on NetBSD.
Dmitry Volyntsev [Thu, 5 Oct 2017 15:22:56 +0000 (18:22 +0300)]
Making build and test targets separate.
Previously, if libedit was unavailable the default action was to build
libnjs and run tests. However, if it was available the default action
was just building binaries.
This patch makes the two high-level targets which are intended to be
invoked externally. The default one for building all available binaries
and the test target for running all available tests.
Dmitry Volyntsev [Thu, 5 Oct 2017 12:50:36 +0000 (15:50 +0300)]
Fixed various dead store assignments.
Dmitry Volyntsev [Thu, 5 Oct 2017 12:50:17 +0000 (15:50 +0300)]
Skipping expect tests if libedit is not available.
Dmitry Volyntsev [Thu, 5 Oct 2017 12:50:16 +0000 (15:50 +0300)]
Fixed default makefile target is libedit is unavailable.
Previously, if libedit was unavailable, any extra target which could be
added by feature scripts became the first and default target. It breaks
builds without arguments.
Adding the default target in this case to ensure that the proper target
is always selected.
Dmitry Volyntsev [Wed, 4 Oct 2017 15:58:10 +0000 (18:58 +0300)]
Interactive shell: object level completions.
Dmitry Volyntsev [Tue, 3 Oct 2017 18:24:58 +0000 (21:24 +0300)]
JSON object.
Dmitry Volyntsev [Tue, 26 Sep 2017 11:19:49 +0000 (14:19 +0300)]
Fixed realloc() failure handling.
According to POSIX, if realloc() fails to allocate a new chunk of memory
it returns NULL and does not free the original pointer.
Using a separate pointer in order to preserve the original one.
Dmitry Volyntsev [Fri, 1 Sep 2017 15:51:20 +0000 (18:51 +0300)]
Checking the return value of fstat().
Just to make sure and to make Coverity Scan happy.
Dmitry Volyntsev [Fri, 1 Sep 2017 15:51:20 +0000 (18:51 +0300)]
Fixed fd leakage in njs_process_file().
Initially, njs_process_file() was not designed to be invoked multiple
times. Making it reusable by releasing the resources used.
Dmitry Volyntsev [Fri, 1 Sep 2017 15:51:17 +0000 (18:51 +0300)]
Fixed passing uninitialized value to printf().
Previously, njs_ext_console_log() passed an uninitialized value to
printf() function in the case of an error. The precison argument was set
to 0 in such a case, so well-behaved implementation was able to handle
it properly.
Setting this value to NULL, just to make sure and to make Coverity Scan
happy.
Igor Sysoev [Thu, 31 Aug 2017 17:50:25 +0000 (20:50 +0300)]
Added tag 0.1.13 for changeset
d548b78eb881
Igor Sysoev [Thu, 31 Aug 2017 17:48:52 +0000 (20:48 +0300)]
Version 0.1.13.
Dmitry Volyntsev [Thu, 31 Aug 2017 17:27:31 +0000 (20:27 +0300)]
Interactive shell: console object.
Sergey Kandaurov [Thu, 31 Aug 2017 17:03:13 +0000 (20:03 +0300)]
Backed out changeset
37adbd4c8036 , reimplemented properly.
Changeset
37adbd4c8036 breaks build with bmake by introducing Gnu constructs.
Instead, make CLI compilation dependent on libedit by conditionally extending
the default target.
Dmitry Volyntsev [Thu, 31 Aug 2017 15:38:34 +0000 (18:38 +0300)]
Compiling CLI by default if libedit is available.
Dmitry Volyntsev [Tue, 29 Aug 2017 11:06:23 +0000 (14:06 +0300)]
Introduced function level backtrace.
Sergey Kandaurov [Thu, 24 Aug 2017 13:16:37 +0000 (16:16 +0300)]
Fixed building by GCC 7 with -Wimplicit-fallthrough.
Dmitry Volyntsev [Fri, 18 Aug 2017 15:40:39 +0000 (18:40 +0300)]
Improved editline detection on various platforms.
Dmitry Volyntsev [Tue, 15 Aug 2017 18:19:13 +0000 (21:19 +0300)]
Fixed processing files from stdin.
Igor Sysoev [Tue, 8 Aug 2017 15:06:53 +0000 (18:06 +0300)]
Added tag 0.1.12 for changeset
c07b060396be
Igor Sysoev [Tue, 8 Aug 2017 15:05:14 +0000 (18:05 +0300)]
Version 0.1.12.
Igor Sysoev [Tue, 8 Aug 2017 15:05:11 +0000 (18:05 +0300)]
Disabled njs_object_prop_alloc() inlining.
Igor Sysoev [Tue, 8 Aug 2017 14:47:56 +0000 (17:47 +0300)]
Style fix in Unicode header files and Perl scripts which
generate the files.
Igor Sysoev [Tue, 8 Aug 2017 14:47:55 +0000 (17:47 +0300)]
Removed unused field.
Igor Sysoev [Tue, 8 Aug 2017 14:47:53 +0000 (17:47 +0300)]
Style fixes.
Dmitry Volyntsev [Tue, 18 Jul 2017 16:25:50 +0000 (19:25 +0300)]
Fixed temporary variables handling in accumulative mode.
Dmitry Volyntsev [Tue, 18 Jul 2017 11:22:16 +0000 (14:22 +0300)]
Fixed missing extern qualifier.
Dmitry Volyntsev [Mon, 17 Jul 2017 17:38:00 +0000 (20:38 +0300)]
Interactive shell.
Dmitry Volyntsev [Mon, 17 Jul 2017 12:29:02 +0000 (15:29 +0300)]
Initialize njs_vm_opt_t structs to 0 to simplify options adding.
Igor Sysoev [Mon, 17 Jul 2017 11:46:35 +0000 (14:46 +0300)]
Trailer content after script is optional.
Dmitry Volyntsev [Fri, 7 Jul 2017 16:17:26 +0000 (19:17 +0300)]
Splitting unit tests and benchmark.
Dmitry Volyntsev [Thu, 6 Jul 2017 16:09:56 +0000 (19:09 +0300)]
Moving VM initialization from njs_vm_clone() to njs_vm_init().
Dmitry Volyntsev [Thu, 6 Jul 2017 16:07:41 +0000 (19:07 +0300)]
Passing all args to njs_vm_create() through njs_vm_opt_t struct.
Dmitry Volyntsev [Wed, 28 Jun 2017 12:31:36 +0000 (15:31 +0300)]
Removed unused njs_vm_export_functions().
Andrey Zelenkov [Tue, 27 Jun 2017 14:03:16 +0000 (17:03 +0300)]
Fixed Object.isSealed() method.
Igor Sysoev [Tue, 27 Jun 2017 11:19:20 +0000 (14:19 +0300)]
Added tag 0.1.11 for changeset
fc5df33f4e6b
Igor Sysoev [Tue, 27 Jun 2017 11:17:12 +0000 (14:17 +0300)]
Version 0.1.11.
Igor Sysoev [Tue, 27 Jun 2017 08:17:54 +0000 (11:17 +0300)]
Style fixes and small miscellaneous changes.
Igor Sysoev [Fri, 23 Jun 2017 12:49:09 +0000 (15:49 +0300)]
Time zone name has been removed from unit tests.
Igor Sysoev [Fri, 23 Jun 2017 12:27:28 +0000 (15:27 +0300)]
Fixed processing of large array indexes.
Dmitry Volyntsev [Thu, 22 Jun 2017 15:56:26 +0000 (18:56 +0300)]
Fixed typo in js_include handler.
Dmitry Volyntsev [Thu, 22 Jun 2017 15:52:47 +0000 (18:52 +0300)]
Log error message if VM creation failed.
Dmitry Volyntsev [Tue, 20 Jun 2017 15:06:19 +0000 (18:06 +0300)]
Fixed Object.prototype.hasOwnProperty() without arguments.
Dmitry Volyntsev [Tue, 20 Jun 2017 14:12:44 +0000 (17:12 +0300)]
Fixed Object.prototype.isPrototypeOf() without arguments.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:46:46 +0000 (14:46 +0300)]
Object.isSealed() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:46:39 +0000 (14:46 +0300)]
Object.seal() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:46:34 +0000 (14:46 +0300)]
Object.isExtensible() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:41:03 +0000 (14:41 +0300)]
Object.isFrozen() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:40:14 +0000 (14:40 +0300)]
Object.preventExtensions() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:39:56 +0000 (14:39 +0300)]
Object.freeze() method.
Dmitry Volyntsev [Wed, 14 Jun 2017 14:58:10 +0000 (17:58 +0300)]
Using njs_string_get() where appropriate.
Dmitry Volyntsev [Tue, 13 Jun 2017 14:52:11 +0000 (17:52 +0300)]
Object.getOwnPropertyDescriptor() method.
Dmitry Volyntsev [Tue, 13 Jun 2017 14:49:05 +0000 (17:49 +0300)]
Passing value and default attributes to njs_object_prop_alloc().
Dmitry Volyntsev [Tue, 13 Jun 2017 11:33:51 +0000 (14:33 +0300)]
Using nxt_lvlhsh_each_init() where appropriate.
Dmitry Volyntsev [Fri, 9 Jun 2017 17:28:15 +0000 (20:28 +0300)]
Object.defineProperties() method.
Dmitry Volyntsev [Fri, 9 Jun 2017 14:55:21 +0000 (17:55 +0300)]
Object.prototype.isPrototypeOf() method.
Dmitry Volyntsev [Fri, 9 Jun 2017 14:55:08 +0000 (17:55 +0300)]
Object.getPrototypeOf() method.
Dmitry Volyntsev [Fri, 9 Jun 2017 14:22:27 +0000 (17:22 +0300)]
Use njs_string_get() where appropriate.
Dmitry Volyntsev [Thu, 8 Jun 2017 11:18:37 +0000 (14:18 +0300)]
Object.prototype.hasOwnProperty() method.
Dmitry Volyntsev [Wed, 7 Jun 2017 14:57:40 +0000 (17:57 +0300)]
Object.defineProperty() method.
Andrey Zelenkov [Wed, 7 Jun 2017 13:36:17 +0000 (16:36 +0300)]
More scientific notation tests.
Andrey Zelenkov [Wed, 7 Jun 2017 13:36:13 +0000 (16:36 +0300)]
Fixed zero basis handling for scientific notation.
Dmitry Volyntsev [Wed, 7 Jun 2017 12:45:01 +0000 (15:45 +0300)]
Fixed building by GCC 4.2.
Dmitry Volyntsev [Wed, 7 Jun 2017 11:12:23 +0000 (14:12 +0300)]
Object.keys() method.
Dmitry Volyntsev [Mon, 5 Jun 2017 11:59:28 +0000 (14:59 +0300)]
Added support of scientific notation literals.
Dmitry Volyntsev [Wed, 31 May 2017 17:42:15 +0000 (20:42 +0300)]
Fixed possible buffer overrun during numbers parsing.
Andrey Zelenkov [Wed, 31 May 2017 17:36:01 +0000 (20:36 +0300)]
Fixed parseInt() leading white space ignoring.
Andrey Zelenkov [Wed, 31 May 2017 17:25:44 +0000 (20:25 +0300)]
Fixed parseInt() zero radix parsing.
Dmitry Volyntsev [Tue, 30 May 2017 16:35:08 +0000 (19:35 +0300)]
Added support of hex literals.
Igor Sysoev [Mon, 29 May 2017 19:13:21 +0000 (22:13 +0300)]
A fix of bug introduced in changeset
7f1f3dcb278f .
Igor Sysoev [Mon, 29 May 2017 07:17:36 +0000 (10:17 +0300)]
A small rbtree delete fixup optimization.
Setting node color to black is not required here because
it is already black. Besides in the original algorithm
the node pointer is discarded and the node is set to tree
root just to quit the loop.
Thanks to 洪志道 (Hong Zhi Dao).
Igor Sysoev [Sat, 27 May 2017 15:02:09 +0000 (18:02 +0300)]
Unicode code point parsing optimization.
Igor Sysoev [Fri, 26 May 2017 17:10:22 +0000 (20:10 +0300)]
A small rbtree insert fixup optimization.
Thanks to 洪志道 (Hong Zhi Dao).
Igor Sysoev [Fri, 26 May 2017 17:07:24 +0000 (20:07 +0300)]
parseInt() did not test invalid values.
Dmitry Volyntsev [Thu, 25 May 2017 11:16:31 +0000 (14:16 +0300)]
parseInt() fixed for hexadecimal literals.
Andrey Zelenkov [Wed, 19 Apr 2017 14:48:56 +0000 (17:48 +0300)]
Fixed parsing ISO 8601 format in Date.parse().
Fixed parsing in case milliseconds are not specified.
Added converting to local time in case "Z" suffix is not specified.
Also minor style fixes included.
Igor Sysoev [Tue, 4 Apr 2017 10:24:09 +0000 (13:24 +0300)]
Added tag 0.1.10 for changeset
b1456ef3e002
Igor Sysoev [Tue, 4 Apr 2017 10:23:11 +0000 (13:23 +0300)]
Version 0.1.10.
Igor Sysoev [Tue, 4 Apr 2017 10:23:10 +0000 (13:23 +0300)]
Style fixes and small miscellaneous changes.
Igor Sysoev [Tue, 4 Apr 2017 08:00:49 +0000 (11:00 +0300)]
Moving njs_array_prototype_fill() to appropriate place.
Igor Sysoev [Tue, 4 Apr 2017 07:56:33 +0000 (10:56 +0300)]
Moving common code to njs_array_iterator_args().
Igor Sysoev [Tue, 4 Apr 2017 07:52:24 +0000 (10:52 +0300)]
Adding CHANGES to a release archive.
Igor Sysoev [Tue, 4 Apr 2017 07:47:02 +0000 (10:47 +0300)]
Global variables may be accessed incorrectly by nested functions.
Igor Sysoev [Tue, 4 Apr 2017 07:47:12 +0000 (10:47 +0300)]
Function declaration should return "undefined".
Andrey Zelenkov [Tue, 4 Apr 2017 03:16:49 +0000 (06:16 +0300)]
Array.prototype.findIndex() method.
Andrey Zelenkov [Tue, 4 Apr 2017 03:10:10 +0000 (06:10 +0300)]
Array.prototype.find() method.
Also introduced njs_array_iterator_sparse_apply() function.
Igor Sysoev [Sun, 2 Apr 2017 09:36:05 +0000 (12:36 +0300)]
Variables may be accessed incorrectly by nested functions.
Igor Sysoev [Sun, 2 Apr 2017 09:35:11 +0000 (12:35 +0300)]
Array iterators optimizations.
Igor Sysoev [Sat, 1 Apr 2017 12:32:04 +0000 (15:32 +0300)]
Large indexes processing has been fixed in
Array.prototype.reduceRight().
Andrey Zelenkov [Fri, 31 Mar 2017 11:05:44 +0000 (14:05 +0300)]
Style fixes.
Andrey Zelenkov [Fri, 31 Mar 2017 11:02:38 +0000 (14:02 +0300)]
Fixed Number.prototype.toString() method.
Found with afl-fuzz.
Andrey Zelenkov [Thu, 30 Mar 2017 19:01:17 +0000 (22:01 +0300)]
Array.of() method.
Igor Sysoev [Wed, 29 Mar 2017 12:54:37 +0000 (15:54 +0300)]
A small Array.prototype.sort() optimization.
Igor Sysoev [Wed, 29 Mar 2017 12:54:33 +0000 (15:54 +0300)]
Large indexes processing has been fixed in array iterator
functions.
Igor Sysoev [Tue, 28 Mar 2017 04:50:05 +0000 (07:50 +0300)]
Closures support.
Igor Sysoev [Sat, 25 Mar 2017 10:42:40 +0000 (13:42 +0300)]
The "typeof" operation changes.
Igor Sysoev [Tue, 21 Mar 2017 13:35:36 +0000 (16:35 +0300)]
The njs_vm_trap_value() macro.