]> git.kaiwu.me - njs.git/log
njs.git
8 years agoImproved editline detection on various platforms.
Dmitry Volyntsev [Fri, 18 Aug 2017 15:40:39 +0000 (18:40 +0300)]
Improved editline detection on various platforms.

8 years agoFixed processing files from stdin.
Dmitry Volyntsev [Tue, 15 Aug 2017 18:19:13 +0000 (21:19 +0300)]
Fixed processing files from stdin.

8 years agoAdded tag 0.1.12 for changeset c07b060396be
Igor Sysoev [Tue, 8 Aug 2017 15:06:53 +0000 (18:06 +0300)]
Added tag 0.1.12 for changeset c07b060396be

8 years agoVersion 0.1.12. 0.1.12
Igor Sysoev [Tue, 8 Aug 2017 15:05:14 +0000 (18:05 +0300)]
Version 0.1.12.

8 years agoDisabled njs_object_prop_alloc() inlining.
Igor Sysoev [Tue, 8 Aug 2017 15:05:11 +0000 (18:05 +0300)]
Disabled njs_object_prop_alloc() inlining.

8 years agoStyle fix in Unicode header files and Perl scripts which
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.

8 years agoRemoved unused field.
Igor Sysoev [Tue, 8 Aug 2017 14:47:55 +0000 (17:47 +0300)]
Removed unused field.

8 years agoStyle fixes.
Igor Sysoev [Tue, 8 Aug 2017 14:47:53 +0000 (17:47 +0300)]
Style fixes.

8 years agoFixed temporary variables handling in accumulative mode.
Dmitry Volyntsev [Tue, 18 Jul 2017 16:25:50 +0000 (19:25 +0300)]
Fixed temporary variables handling in accumulative mode.

8 years agoFixed missing extern qualifier.
Dmitry Volyntsev [Tue, 18 Jul 2017 11:22:16 +0000 (14:22 +0300)]
Fixed missing extern qualifier.

8 years agoInteractive shell.
Dmitry Volyntsev [Mon, 17 Jul 2017 17:38:00 +0000 (20:38 +0300)]
Interactive shell.

8 years agoInitialize njs_vm_opt_t structs to 0 to simplify options adding.
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.

8 years agoTrailer content after script is optional.
Igor Sysoev [Mon, 17 Jul 2017 11:46:35 +0000 (14:46 +0300)]
Trailer content after script is optional.

8 years agoSplitting unit tests and benchmark.
Dmitry Volyntsev [Fri, 7 Jul 2017 16:17:26 +0000 (19:17 +0300)]
Splitting unit tests and benchmark.

8 years agoMoving VM initialization from njs_vm_clone() to njs_vm_init().
Dmitry Volyntsev [Thu, 6 Jul 2017 16:09:56 +0000 (19:09 +0300)]
Moving VM initialization from njs_vm_clone() to njs_vm_init().

8 years agoPassing all args to njs_vm_create() through njs_vm_opt_t struct.
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.

8 years agoRemoved unused njs_vm_export_functions().
Dmitry Volyntsev [Wed, 28 Jun 2017 12:31:36 +0000 (15:31 +0300)]
Removed unused njs_vm_export_functions().

8 years agoFixed Object.isSealed() method.
Andrey Zelenkov [Tue, 27 Jun 2017 14:03:16 +0000 (17:03 +0300)]
Fixed Object.isSealed() method.

8 years agoAdded tag 0.1.11 for changeset fc5df33f4e6b
Igor Sysoev [Tue, 27 Jun 2017 11:19:20 +0000 (14:19 +0300)]
Added tag 0.1.11 for changeset fc5df33f4e6b

8 years agoVersion 0.1.11. 0.1.11
Igor Sysoev [Tue, 27 Jun 2017 11:17:12 +0000 (14:17 +0300)]
Version 0.1.11.

8 years agoStyle fixes and small miscellaneous changes.
Igor Sysoev [Tue, 27 Jun 2017 08:17:54 +0000 (11:17 +0300)]
Style fixes and small miscellaneous changes.

8 years agoTime zone name has been removed from unit tests.
Igor Sysoev [Fri, 23 Jun 2017 12:49:09 +0000 (15:49 +0300)]
Time zone name has been removed from unit tests.

8 years agoFixed processing of large array indexes.
Igor Sysoev [Fri, 23 Jun 2017 12:27:28 +0000 (15:27 +0300)]
Fixed processing of large array indexes.

8 years agoFixed typo in js_include handler.
Dmitry Volyntsev [Thu, 22 Jun 2017 15:56:26 +0000 (18:56 +0300)]
Fixed typo in js_include handler.

8 years agoLog error message if VM creation failed.
Dmitry Volyntsev [Thu, 22 Jun 2017 15:52:47 +0000 (18:52 +0300)]
Log error message if VM creation failed.

8 years agoFixed Object.prototype.hasOwnProperty() without arguments.
Dmitry Volyntsev [Tue, 20 Jun 2017 15:06:19 +0000 (18:06 +0300)]
Fixed Object.prototype.hasOwnProperty() without arguments.

8 years agoFixed Object.prototype.isPrototypeOf() without arguments.
Dmitry Volyntsev [Tue, 20 Jun 2017 14:12:44 +0000 (17:12 +0300)]
Fixed Object.prototype.isPrototypeOf() without arguments.

8 years agoObject.isSealed() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:46:46 +0000 (14:46 +0300)]
Object.isSealed() method.

8 years agoObject.seal() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:46:39 +0000 (14:46 +0300)]
Object.seal() method.

8 years agoObject.isExtensible() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:46:34 +0000 (14:46 +0300)]
Object.isExtensible() method.

8 years agoObject.isFrozen() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:41:03 +0000 (14:41 +0300)]
Object.isFrozen() method.

8 years agoObject.preventExtensions() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:40:14 +0000 (14:40 +0300)]
Object.preventExtensions() method.

8 years agoObject.freeze() method.
Dmitry Volyntsev [Mon, 19 Jun 2017 11:39:56 +0000 (14:39 +0300)]
Object.freeze() method.

8 years agoUsing njs_string_get() where appropriate.
Dmitry Volyntsev [Wed, 14 Jun 2017 14:58:10 +0000 (17:58 +0300)]
Using njs_string_get() where appropriate.

8 years agoObject.getOwnPropertyDescriptor() method.
Dmitry Volyntsev [Tue, 13 Jun 2017 14:52:11 +0000 (17:52 +0300)]
Object.getOwnPropertyDescriptor() method.

8 years agoPassing value and default attributes to njs_object_prop_alloc().
Dmitry Volyntsev [Tue, 13 Jun 2017 14:49:05 +0000 (17:49 +0300)]
Passing value and default attributes to njs_object_prop_alloc().

8 years agoUsing nxt_lvlhsh_each_init() where appropriate.
Dmitry Volyntsev [Tue, 13 Jun 2017 11:33:51 +0000 (14:33 +0300)]
Using nxt_lvlhsh_each_init() where appropriate.

8 years agoObject.defineProperties() method.
Dmitry Volyntsev [Fri, 9 Jun 2017 17:28:15 +0000 (20:28 +0300)]
Object.defineProperties() method.

8 years agoObject.prototype.isPrototypeOf() method.
Dmitry Volyntsev [Fri, 9 Jun 2017 14:55:21 +0000 (17:55 +0300)]
Object.prototype.isPrototypeOf() method.

8 years agoObject.getPrototypeOf() method.
Dmitry Volyntsev [Fri, 9 Jun 2017 14:55:08 +0000 (17:55 +0300)]
Object.getPrototypeOf() method.

8 years agoUse njs_string_get() where appropriate.
Dmitry Volyntsev [Fri, 9 Jun 2017 14:22:27 +0000 (17:22 +0300)]
Use njs_string_get() where appropriate.

8 years agoObject.prototype.hasOwnProperty() method.
Dmitry Volyntsev [Thu, 8 Jun 2017 11:18:37 +0000 (14:18 +0300)]
Object.prototype.hasOwnProperty() method.

8 years agoObject.defineProperty() method.
Dmitry Volyntsev [Wed, 7 Jun 2017 14:57:40 +0000 (17:57 +0300)]
Object.defineProperty() method.

8 years agoMore scientific notation tests.
Andrey Zelenkov [Wed, 7 Jun 2017 13:36:17 +0000 (16:36 +0300)]
More scientific notation tests.

8 years agoFixed zero basis handling for scientific notation.
Andrey Zelenkov [Wed, 7 Jun 2017 13:36:13 +0000 (16:36 +0300)]
Fixed zero basis handling for scientific notation.

8 years agoFixed building by GCC 4.2.
Dmitry Volyntsev [Wed, 7 Jun 2017 12:45:01 +0000 (15:45 +0300)]
Fixed building by GCC 4.2.

8 years agoObject.keys() method.
Dmitry Volyntsev [Wed, 7 Jun 2017 11:12:23 +0000 (14:12 +0300)]
Object.keys() method.

8 years agoAdded support of scientific notation literals.
Dmitry Volyntsev [Mon, 5 Jun 2017 11:59:28 +0000 (14:59 +0300)]
Added support of scientific notation literals.

8 years agoFixed possible buffer overrun during numbers parsing.
Dmitry Volyntsev [Wed, 31 May 2017 17:42:15 +0000 (20:42 +0300)]
Fixed possible buffer overrun during numbers parsing.

8 years agoFixed parseInt() leading white space ignoring.
Andrey Zelenkov [Wed, 31 May 2017 17:36:01 +0000 (20:36 +0300)]
Fixed parseInt() leading white space ignoring.

8 years agoFixed parseInt() zero radix parsing.
Andrey Zelenkov [Wed, 31 May 2017 17:25:44 +0000 (20:25 +0300)]
Fixed parseInt() zero radix parsing.

8 years agoAdded support of hex literals.
Dmitry Volyntsev [Tue, 30 May 2017 16:35:08 +0000 (19:35 +0300)]
Added support of hex literals.

8 years agoA fix of bug introduced in changeset 7f1f3dcb278f.
Igor Sysoev [Mon, 29 May 2017 19:13:21 +0000 (22:13 +0300)]
A fix of bug introduced in changeset 7f1f3dcb278f.

8 years agoA small rbtree delete fixup optimization.
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).

8 years agoUnicode code point parsing optimization.
Igor Sysoev [Sat, 27 May 2017 15:02:09 +0000 (18:02 +0300)]
Unicode code point parsing optimization.

8 years agoA small rbtree insert fixup 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).

8 years agoparseInt() did not test invalid values.
Igor Sysoev [Fri, 26 May 2017 17:07:24 +0000 (20:07 +0300)]
parseInt() did not test invalid values.

8 years agoparseInt() fixed for hexadecimal literals.
Dmitry Volyntsev [Thu, 25 May 2017 11:16:31 +0000 (14:16 +0300)]
parseInt() fixed for hexadecimal literals.

9 years agoFixed parsing ISO 8601 format in Date.parse().
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.

9 years agoAdded tag 0.1.10 for changeset b1456ef3e002
Igor Sysoev [Tue, 4 Apr 2017 10:24:09 +0000 (13:24 +0300)]
Added tag 0.1.10 for changeset b1456ef3e002

9 years agoVersion 0.1.10. 0.1.10
Igor Sysoev [Tue, 4 Apr 2017 10:23:11 +0000 (13:23 +0300)]
Version 0.1.10.

9 years agoStyle fixes and small miscellaneous changes.
Igor Sysoev [Tue, 4 Apr 2017 10:23:10 +0000 (13:23 +0300)]
Style fixes and small miscellaneous changes.

9 years agoMoving njs_array_prototype_fill() to appropriate place.
Igor Sysoev [Tue, 4 Apr 2017 08:00:49 +0000 (11:00 +0300)]
Moving njs_array_prototype_fill() to appropriate place.

9 years agoMoving common code to njs_array_iterator_args().
Igor Sysoev [Tue, 4 Apr 2017 07:56:33 +0000 (10:56 +0300)]
Moving common code to njs_array_iterator_args().

9 years agoAdding CHANGES to a release archive.
Igor Sysoev [Tue, 4 Apr 2017 07:52:24 +0000 (10:52 +0300)]
Adding CHANGES to a release archive.

9 years agoGlobal variables may be accessed incorrectly by nested functions.
Igor Sysoev [Tue, 4 Apr 2017 07:47:02 +0000 (10:47 +0300)]
Global variables may be accessed incorrectly by nested functions.

9 years agoFunction declaration should return "undefined".
Igor Sysoev [Tue, 4 Apr 2017 07:47:12 +0000 (10:47 +0300)]
Function declaration should return "undefined".

9 years agoArray.prototype.findIndex() method.
Andrey Zelenkov [Tue, 4 Apr 2017 03:16:49 +0000 (06:16 +0300)]
Array.prototype.findIndex() method.

9 years agoArray.prototype.find() 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.

9 years agoVariables may be accessed incorrectly by nested functions.
Igor Sysoev [Sun, 2 Apr 2017 09:36:05 +0000 (12:36 +0300)]
Variables may be accessed incorrectly by nested functions.

9 years agoArray iterators optimizations.
Igor Sysoev [Sun, 2 Apr 2017 09:35:11 +0000 (12:35 +0300)]
Array iterators optimizations.

9 years agoLarge indexes processing has been fixed in
Igor Sysoev [Sat, 1 Apr 2017 12:32:04 +0000 (15:32 +0300)]
Large indexes processing has been fixed in
Array.prototype.reduceRight().

9 years agoStyle fixes.
Andrey Zelenkov [Fri, 31 Mar 2017 11:05:44 +0000 (14:05 +0300)]
Style fixes.

9 years agoFixed Number.prototype.toString() method.
Andrey Zelenkov [Fri, 31 Mar 2017 11:02:38 +0000 (14:02 +0300)]
Fixed Number.prototype.toString() method.

Found with afl-fuzz.

9 years agoArray.of() method.
Andrey Zelenkov [Thu, 30 Mar 2017 19:01:17 +0000 (22:01 +0300)]
Array.of() method.

9 years agoA small Array.prototype.sort() optimization.
Igor Sysoev [Wed, 29 Mar 2017 12:54:37 +0000 (15:54 +0300)]
A small Array.prototype.sort() optimization.

9 years agoLarge indexes processing has been fixed in array iterator
Igor Sysoev [Wed, 29 Mar 2017 12:54:33 +0000 (15:54 +0300)]
Large indexes processing has been fixed in array iterator
functions.

9 years agoClosures support.
Igor Sysoev [Tue, 28 Mar 2017 04:50:05 +0000 (07:50 +0300)]
Closures support.

9 years agoThe "typeof" operation changes.
Igor Sysoev [Sat, 25 Mar 2017 10:42:40 +0000 (13:42 +0300)]
The "typeof" operation changes.

9 years agoThe njs_vm_trap_value() macro.
Igor Sysoev [Tue, 21 Mar 2017 13:35:36 +0000 (16:35 +0300)]
The njs_vm_trap_value() macro.

9 years agoThe njs_vm_continuation() macro.
Igor Sysoev [Tue, 21 Mar 2017 13:35:22 +0000 (16:35 +0300)]
The njs_vm_continuation() macro.

9 years agoMiscellaneous changes.
Igor Sysoev [Tue, 21 Mar 2017 13:14:16 +0000 (16:14 +0300)]
Miscellaneous changes.

9 years agoThe undefined values must be equal.
Igor Sysoev [Tue, 21 Mar 2017 13:09:09 +0000 (16:09 +0300)]
The undefined values must be equal.

9 years agoFixed building on modern Linux.
Igor Sysoev [Tue, 21 Mar 2017 13:02:03 +0000 (16:02 +0300)]
Fixed building on modern Linux.

9 years agoArray.prototype.fill() method.
Andrey Zelenkov [Fri, 17 Mar 2017 15:18:01 +0000 (18:18 +0300)]
Array.prototype.fill() method.

9 years agoMiscellaneous non-functional changes in nxt_mem_cache_pool.
Igor Sysoev [Mon, 13 Mar 2017 13:32:40 +0000 (16:32 +0300)]
Miscellaneous non-functional changes in nxt_mem_cache_pool.

9 years agoUsing nxt_rbtree_destroy_next() iterator for nxt_mem_cache_pool
Igor Sysoev [Sun, 12 Mar 2017 19:40:13 +0000 (22:40 +0300)]
Using nxt_rbtree_destroy_next() iterator for nxt_mem_cache_pool
destruction without rbtree rebalancing.

9 years agoAdded tag 0.1.9 for changeset 5bd283398822
Igor Sysoev [Wed, 1 Feb 2017 08:33:05 +0000 (11:33 +0300)]
Added tag 0.1.9 for changeset 5bd283398822

9 years agoVersion 0.1.9. 0.1.9
Igor Sysoev [Wed, 1 Feb 2017 08:29:47 +0000 (11:29 +0300)]
Version 0.1.9.

9 years ago2017 year.
Igor Sysoev [Wed, 1 Feb 2017 07:06:28 +0000 (10:06 +0300)]
2017 year.

9 years agoSupport of undefined return from stream body filter.
Roman Arutyunyan [Tue, 31 Jan 2017 17:22:01 +0000 (20:22 +0300)]
Support of undefined return from stream body filter.

9 years agoInitialize global variables in njs virtual machines.
Roman Arutyunyan [Fri, 27 Jan 2017 13:45:34 +0000 (16:45 +0300)]
Initialize global variables in njs virtual machines.

Previously, global variables in njs code remained uninitialized even if an
initializer existed in njs code.  To fix this, njs_vm_run() function is called
right after a virtual machine is cloned.  This call initializes global
variables.

9 years agoRemoved obsolete function call interface.
Igor Sysoev [Fri, 27 Jan 2017 13:01:31 +0000 (16:01 +0300)]
Removed obsolete function call interface.

9 years agoAdded tag 0.1.8 for changeset a29f29d48112
Igor Sysoev [Tue, 24 Jan 2017 11:38:59 +0000 (14:38 +0300)]
Added tag 0.1.8 for changeset a29f29d48112

9 years agoVersion 0.1.8. 0.1.8
Igor Sysoev [Tue, 24 Jan 2017 11:38:48 +0000 (14:38 +0300)]
Version 0.1.8.

9 years agoA small rbtree insert fixup optimization.
Igor Sysoev [Fri, 20 Jan 2017 13:10:48 +0000 (16:10 +0300)]
A small rbtree insert fixup optimization.

Thanks to 洪志道 (Hong Zhi Dao).

9 years agoA scope has been added to literal nodes.
Igor Sysoev [Mon, 16 Jan 2017 15:14:01 +0000 (18:14 +0300)]
A scope has been added to literal nodes.

Found with afl-fuzz.

9 years agoComprehensive test of "return" statement location.
Igor Sysoev [Mon, 16 Jan 2017 14:32:10 +0000 (17:32 +0300)]
Comprehensive test of "return" statement location.

Found with afl-fuzz.

9 years agoFixed parsing semicolons.
Igor Sysoev [Mon, 16 Jan 2017 11:51:29 +0000 (14:51 +0300)]
Fixed parsing semicolons.

Found with AddressSanitizer.

9 years agoRemoved unused things.
Igor Sysoev [Thu, 5 Jan 2017 12:55:52 +0000 (15:55 +0300)]
Removed unused things.