]> git.kaiwu.me - njs.git/log
njs.git
9 years agoA return statement has been disabled outside of function.
Igor Sysoev [Mon, 15 Aug 2016 08:33:37 +0000 (11:33 +0300)]
A return statement has been disabled outside of function.

9 years agoArray iterator functions optimizations.
Igor Sysoev [Thu, 11 Aug 2016 10:57:36 +0000 (13:57 +0300)]
Array iterator functions optimizations.

9 years agoArray.join() now treats "null" and "undefined" as empty values.
Igor Sysoev [Thu, 11 Aug 2016 10:21:46 +0000 (13:21 +0300)]
Array.join() now treats "null" and "undefined" as empty values.

9 years agoArray.sort() function.
Igor Sysoev [Thu, 11 Aug 2016 07:58:29 +0000 (10:58 +0300)]
Array.sort() function.

9 years agoArray.splice() function.
Igor Sysoev [Wed, 10 Aug 2016 15:03:54 +0000 (18:03 +0300)]
Array.splice() function.

9 years agoArray.indexOf() and Array.lastIndexOf() functions.
Igor Sysoev [Wed, 10 Aug 2016 12:52:25 +0000 (15:52 +0300)]
Array.indexOf() and Array.lastIndexOf() functions.

9 years agoArray.isArray() function.
Igor Sysoev [Wed, 10 Aug 2016 08:57:56 +0000 (11:57 +0300)]
Array.isArray() function.

9 years agoArray.reduceRight() function.
Igor Sysoev [Tue, 9 Aug 2016 11:10:33 +0000 (14:10 +0300)]
Array.reduceRight() function.

9 years agoArray.reduce() function.
Igor Sysoev [Tue, 9 Aug 2016 11:10:32 +0000 (14:10 +0300)]
Array.reduce() function.

9 years agoArray.map() function.
Igor Sysoev [Tue, 9 Aug 2016 11:10:31 +0000 (14:10 +0300)]
Array.map() function.

9 years agoArray.filter() function.
Igor Sysoev [Tue, 9 Aug 2016 11:10:29 +0000 (14:10 +0300)]
Array.filter() function.

9 years agoArray iterator functions update.
Igor Sysoev [Tue, 9 Aug 2016 11:10:21 +0000 (14:10 +0300)]
Array iterator functions update.

9 years agonxt_trace.o has been added to the libnjs.
Igor Sysoev [Thu, 4 Aug 2016 13:59:15 +0000 (16:59 +0300)]
nxt_trace.o has been added to the libnjs.

9 years agoThe lvlhsh unit test has been updated after nxt_str_t changes.
Igor Sysoev [Thu, 4 Aug 2016 13:31:48 +0000 (16:31 +0300)]
The lvlhsh unit test has been updated after nxt_str_t changes.

9 years agonxt_trace files have been missed in the previous commit.
Igor Sysoev [Thu, 4 Aug 2016 13:27:38 +0000 (16:27 +0300)]
nxt_trace files have been missed in the previous commit.

9 years agonxt_trace interface. nxt_regex, RegExp, and parser use it now.
Igor Sysoev [Thu, 4 Aug 2016 13:05:38 +0000 (16:05 +0300)]
nxt_trace interface. nxt_regex, RegExp, and parser use it now.

9 years agonxt_str_t changes.
Igor Sysoev [Thu, 4 Aug 2016 11:45:27 +0000 (14:45 +0300)]
nxt_str_t changes.

9 years agonjs_parser_is_lvalue().
Igor Sysoev [Thu, 4 Aug 2016 11:43:20 +0000 (14:43 +0300)]
njs_parser_is_lvalue().

9 years agoSegfaults have been fixed when incorrect operands were used
Igor Sysoev [Tue, 26 Jul 2016 13:25:58 +0000 (16:25 +0300)]
Segfaults have been fixed when incorrect operands were used
in left-hand side expressions.

9 years agoA dist target in Makefile.
Igor Sysoev [Tue, 26 Jul 2016 12:09:07 +0000 (15:09 +0300)]
A dist target in Makefile.

9 years agoRemoved tag help from .hgtags
Igor Sysoev [Mon, 25 Jul 2016 12:34:53 +0000 (15:34 +0300)]
Removed tag help from .hgtags

9 years agoRemoved tag help
Igor Sysoev [Mon, 25 Jul 2016 12:17:51 +0000 (15:17 +0300)]
Removed tag help

9 years agoAdded tag 0.1.0 for changeset cdb8d20935ee
Igor Sysoev [Fri, 22 Jul 2016 14:00:05 +0000 (17:00 +0300)]
Added tag 0.1.0 for changeset cdb8d20935ee

9 years agoDuplicate function names are disabled. 0.1.0
Igor Sysoev [Fri, 22 Jul 2016 11:38:06 +0000 (14:38 +0300)]
Duplicate function names are disabled.

9 years agoNow a make command does not fail for obscure reason at
Igor Sysoev [Fri, 22 Jul 2016 11:15:54 +0000 (14:15 +0300)]
Now a make command does not fail for obscure reason at
the very start or after "make clean" command but it offers
to run the ./configure command instead.  This change is
not compatible with BSD PMake which does not support both
"-include" and "sinclude" directives but only ".sinclude"
directive so GNU Make should be used.

9 years agoA line number in error messages was incorrect if a script
Igor Sysoev [Thu, 21 Jul 2016 18:42:58 +0000 (21:42 +0300)]
A line number in error messages was incorrect if a script
has comments.

9 years agoA fix of code generation of logical operations.
Igor Sysoev [Thu, 21 Jul 2016 18:37:46 +0000 (21:37 +0300)]
A fix of code generation of logical operations.

9 years agonjs_vm_function() must return only function.
Igor Sysoev [Thu, 21 Jul 2016 17:51:22 +0000 (20:51 +0300)]
njs_vm_function() must return only function.

9 years agoFixed closing file descriptor on error.
Roman Arutyunyan [Thu, 21 Jul 2016 08:39:00 +0000 (11:39 +0300)]
Fixed closing file descriptor on error.

Found by Coverity (CID 1364196136419713641981364199).

9 years agoUpdated README.
Roman Arutyunyan [Wed, 20 Jul 2016 18:40:34 +0000 (21:40 +0300)]
Updated README.

9 years agoUpdated README to reflect changes in HTTP and Stream modules.
Roman Arutyunyan [Wed, 20 Jul 2016 16:38:00 +0000 (19:38 +0300)]
Updated README to reflect changes in HTTP and Stream modules.

9 years agoStream njs module.
Roman Arutyunyan [Wed, 20 Jul 2016 15:20:17 +0000 (18:20 +0300)]
Stream njs module.

9 years agoNew http js module syntax.
Roman Arutyunyan [Wed, 20 Jul 2016 15:20:13 +0000 (18:20 +0300)]
New http js module syntax.

- the js_include directive is introduced
- all js code is now located in a separate file

9 years agonjs_vm_function() and njs_vm_external() functions name and
Igor Sysoev [Fri, 15 Jul 2016 12:50:13 +0000 (15:50 +0300)]
njs_vm_function() and njs_vm_external() functions name and
behavior unification.  The function can be used with both
original compiled VM and its clones.

9 years agonjs_vm_function() interface to get a function by name.
Igor Sysoev [Thu, 14 Jul 2016 16:24:51 +0000 (19:24 +0300)]
njs_vm_function() interface to get a function by name.

9 years agoSyntax error messages are more verbose and have line number.
Igor Sysoev [Wed, 13 Jul 2016 10:56:12 +0000 (13:56 +0300)]
Syntax error messages are more verbose and have line number.

9 years agoFixed building by modern GCC versions.
Igor Sysoev [Mon, 11 Jul 2016 12:24:29 +0000 (15:24 +0300)]
Fixed building by modern GCC versions.

9 years agoNeedless argument checkers for String.toLowerCase()
Igor Sysoev [Fri, 8 Jul 2016 15:13:00 +0000 (18:13 +0300)]
Needless argument checkers for String.toLowerCase()
and String.toUpperCase() have been removed.

9 years agoNow ASCII strings use UTF8 variant of PCRE code.
Igor Sysoev [Fri, 8 Jul 2016 15:07:57 +0000 (18:07 +0300)]
Now ASCII strings use UTF8 variant of PCRE code.

9 years agoByte string processing was fixed in String.split(),
Igor Sysoev [Thu, 7 Jul 2016 17:49:57 +0000 (20:49 +0300)]
Byte string processing was fixed in String.split(),
the issue has been found by Coverity Scan.

9 years agoArray.reverse() method.
Igor Sysoev [Wed, 29 Jun 2016 10:38:20 +0000 (13:38 +0300)]
Array.reverse() method.

9 years agoString.split() method.
Igor Sysoev [Tue, 28 Jun 2016 16:28:00 +0000 (19:28 +0300)]
String.split() method.

9 years agoUsing nxt_regex interface in nJSVM.
Igor Sysoev [Wed, 1 Jun 2016 12:31:34 +0000 (15:31 +0300)]
Using nxt_regex interface in nJSVM.

9 years agoPCRE code is available via nxt_regex interface.
Igor Sysoev [Wed, 1 Jun 2016 12:30:50 +0000 (15:30 +0300)]
PCRE code is available via nxt_regex interface.

10 years agoFix in String.indexOf() and String.lastIndexOf() functions.
Igor Sysoev [Fri, 29 Apr 2016 14:02:52 +0000 (17:02 +0300)]
Fix in String.indexOf() and String.lastIndexOf() functions.

10 years agoparseFloat() function.
Igor Sysoev [Mon, 25 Apr 2016 16:30:27 +0000 (19:30 +0300)]
parseFloat() function.

10 years agoparseInt() function.
Igor Sysoev [Mon, 25 Apr 2016 14:28:34 +0000 (17:28 +0300)]
parseInt() function.

10 years agoisFinite() function.
Igor Sysoev [Thu, 21 Apr 2016 15:23:16 +0000 (18:23 +0300)]
isFinite() function.

10 years agoisNaN() function.
Igor Sysoev [Thu, 21 Apr 2016 15:23:12 +0000 (18:23 +0300)]
isNaN() function.

10 years agoGlobal toString() function.
Igor Sysoev [Thu, 21 Apr 2016 12:57:05 +0000 (15:57 +0300)]
Global toString() function.

10 years agoReserverd words can be used as property names.
Igor Sysoev [Wed, 20 Apr 2016 15:30:31 +0000 (18:30 +0300)]
Reserverd words can be used as property names.

10 years agoeval() placeholder has been moved from the constructor table
Igor Sysoev [Tue, 19 Apr 2016 13:08:32 +0000 (16:08 +0300)]
eval() placeholder has been moved from the constructor table
to the shared function table.

10 years agonjs_string_new().
Igor Sysoev [Tue, 19 Apr 2016 13:07:33 +0000 (16:07 +0300)]
njs_string_new().

10 years agoNumber.toString(radix).
Igor Sysoev [Tue, 19 Apr 2016 14:26:25 +0000 (17:26 +0300)]
Number.toString(radix).

10 years agoString.toUpperCase().
Igor Sysoev [Fri, 15 Apr 2016 15:01:40 +0000 (18:01 +0300)]
String.toUpperCase().

10 years agoString.toLowerCase().
Igor Sysoev [Fri, 15 Apr 2016 15:01:19 +0000 (18:01 +0300)]
String.toLowerCase().

10 years ago"new Date()" incorrectly returned always Jan 1, 1970.
Igor Sysoev [Thu, 14 Apr 2016 15:23:09 +0000 (18:23 +0300)]
"new Date()" incorrectly returned always Jan 1, 1970.

10 years agoString.fromCharCode() and String.fromCodePoint().
Igor Sysoev [Mon, 11 Apr 2016 11:39:59 +0000 (14:39 +0300)]
String.fromCharCode() and String.fromCodePoint().

10 years agoOld array data are freed after array relocation.
Igor Sysoev [Sat, 9 Apr 2016 09:21:31 +0000 (12:21 +0300)]
Old array data are freed after array relocation.

10 years agoSegfault has been fixed when array element was added
Igor Sysoev [Sat, 9 Apr 2016 09:18:47 +0000 (12:18 +0300)]
Segfault has been fixed when array element was added
with assignment.

10 years agoForgotten nxt/nxt_time.h file has been added.
Igor Sysoev [Fri, 8 Apr 2016 15:59:06 +0000 (18:59 +0300)]
Forgotten nxt/nxt_time.h file has been added.

10 years agoDate() function.
Igor Sysoev [Fri, 8 Apr 2016 15:19:43 +0000 (18:19 +0300)]
Date() function.

10 years agoA fast exit from argument normalization loop.
Igor Sysoev [Tue, 29 Mar 2016 10:38:18 +0000 (13:38 +0300)]
A fast exit from argument normalization loop.
This also fixes an issue when SunC 5.9 does not set
omitted array elements to a zero.

10 years agoFixed building on Solaris by SunC.
Igor Sysoev [Mon, 28 Mar 2016 14:34:42 +0000 (17:34 +0300)]
Fixed building on Solaris by SunC.

10 years agoMiscellaneous issues found by Coverity Scan have been fixed.
Igor Sysoev [Thu, 24 Mar 2016 14:13:27 +0000 (17:13 +0300)]
Miscellaneous issues found by Coverity Scan have been fixed.

10 years agoIssues found by Coverity Scan in Regex have been fixed.
Igor Sysoev [Thu, 24 Mar 2016 11:22:08 +0000 (14:22 +0300)]
Issues found by Coverity Scan in Regex have been fixed.

10 years agoIssues found by Coverity Scan in String.match() have been fixed.
Igor Sysoev [Thu, 24 Mar 2016 10:57:06 +0000 (13:57 +0300)]
Issues found by Coverity Scan in String.match() have been fixed.

10 years agoUser defined function prototype.
Igor Sysoev [Wed, 23 Mar 2016 12:49:49 +0000 (15:49 +0300)]
User defined function prototype.

10 years agoMath.random() method.
Igor Sysoev [Wed, 23 Mar 2016 12:49:46 +0000 (15:49 +0300)]
Math.random() method.

10 years agoMath object.
Igor Sysoev [Wed, 23 Mar 2016 12:27:14 +0000 (15:27 +0300)]
Math object.

10 years agoStyle and small miscellaneous fixes.
Igor Sysoev [Wed, 23 Mar 2016 12:27:10 +0000 (15:27 +0300)]
Style and small miscellaneous fixes.

10 years agoAn option how to build njs module dynamically provided.
Maxim Konovalov [Wed, 23 Mar 2016 09:10:44 +0000 (12:10 +0300)]
An option how to build njs module dynamically provided.

10 years agoFixed building by GCC 4.1.
Igor Sysoev [Fri, 4 Mar 2016 11:57:21 +0000 (14:57 +0300)]
Fixed building by GCC 4.1.

10 years agonjs_vm_call() interface to call a function outside.
Igor Sysoev [Wed, 2 Mar 2016 12:10:28 +0000 (15:10 +0300)]
njs_vm_call() interface to call a function outside.
nginx content and variable handlers interface is

    function name(request, response) { ... }

Variable handler use a value returned by function as value of the variable.

10 years agoImplemented support for dynamic modules.
Ruslan Ermilov [Thu, 25 Feb 2016 13:32:47 +0000 (16:32 +0300)]
Implemented support for dynamic modules.

10 years agoFixed building on Solaris by SunC.
Igor Sysoev [Thu, 25 Feb 2016 08:14:22 +0000 (11:14 +0300)]
Fixed building on Solaris by SunC.

10 years agoFixed building by GCC 4.8.
Igor Sysoev [Thu, 25 Feb 2016 06:29:07 +0000 (09:29 +0300)]
Fixed building by GCC 4.8.

10 years agoDeclared function objects are copied on demand to allow
Igor Sysoev [Tue, 23 Feb 2016 18:09:42 +0000 (21:09 +0300)]
Declared function objects are copied on demand to allow
property manipulations and to have correct Function.prototype.

10 years agoCommon parts of Function.call() and Function.apply() have
Igor Sysoev [Mon, 22 Feb 2016 09:39:31 +0000 (12:39 +0300)]
Common parts of Function.call() and Function.apply() have
been merged.

10 years agoFunctions rearrangement.
Igor Sysoev [Mon, 22 Feb 2016 09:26:42 +0000 (12:26 +0300)]
Functions rearrangement.

10 years agoThe "args" has been removed from njs_vmcode_t.
Igor Sysoev [Sun, 21 Feb 2016 21:06:59 +0000 (00:06 +0300)]
The "args" has been removed from njs_vmcode_t.

10 years agoContinuations have been refactored.
Igor Sysoev [Sun, 21 Feb 2016 21:06:53 +0000 (00:06 +0300)]
Continuations have been refactored.

10 years agonjs_function_previous_frame() and njs_function_frame_free().
Igor Sysoev [Sun, 21 Feb 2016 21:06:40 +0000 (00:06 +0300)]
njs_function_previous_frame() and njs_function_frame_free().

10 years agoFunction.bind() implementation.
Igor Sysoev [Mon, 15 Feb 2016 14:31:59 +0000 (17:31 +0300)]
Function.bind() implementation.

10 years agonjs_param_t removal.
Igor Sysoev [Sun, 14 Feb 2016 18:49:15 +0000 (21:49 +0300)]
njs_param_t removal.

10 years agoThe "this" has been removed from njs_param_t.
Igor Sysoev [Fri, 12 Feb 2016 10:40:36 +0000 (13:40 +0300)]
The "this" has been removed from njs_param_t.

10 years agoFunction.apply() works with continuation.
Igor Sysoev [Thu, 11 Feb 2016 15:42:21 +0000 (18:42 +0300)]
Function.apply() works with continuation.

10 years agonjs_function_apply() interface is changed.
Igor Sysoev [Thu, 11 Feb 2016 15:42:06 +0000 (18:42 +0300)]
njs_function_apply() interface is changed.

10 years agoObsolete functions removal.
Igor Sysoev [Thu, 11 Feb 2016 15:10:34 +0000 (18:10 +0300)]
Obsolete functions removal.

10 years agoObsolete function removal.
Igor Sysoev [Thu, 11 Feb 2016 14:44:53 +0000 (17:44 +0300)]
Obsolete function removal.

10 years agoArray.join() optimization.
Igor Sysoev [Thu, 11 Feb 2016 08:36:14 +0000 (11:36 +0300)]
Array.join() optimization.

10 years agoDisassembler fixes.
Igor Sysoev [Wed, 10 Feb 2016 16:52:23 +0000 (19:52 +0300)]
Disassembler fixes.

10 years agoFixed argument convertion to integer.
Igor Sysoev [Wed, 10 Feb 2016 16:18:28 +0000 (19:18 +0300)]
Fixed argument convertion to integer.

10 years agoFixed building on Solaris by SunC.
Igor Sysoev [Wed, 10 Feb 2016 16:18:22 +0000 (19:18 +0300)]
Fixed building on Solaris by SunC.

10 years agoLogical AND and OR operations support short-circuit evaluation.
Igor Sysoev [Tue, 9 Feb 2016 15:17:22 +0000 (18:17 +0300)]
Logical AND and OR operations support short-circuit evaluation.

10 years agoSegfault has been fixed when "if" operator has an empty "then"
Igor Sysoev [Mon, 8 Feb 2016 15:18:24 +0000 (18:18 +0300)]
Segfault has been fixed when "if" operator has an empty "then"
branch.

10 years agoA whole native frame is zeroed.
Igor Sysoev [Mon, 8 Feb 2016 15:18:09 +0000 (18:18 +0300)]
A whole native frame is zeroed.

10 years agoNative function continuation support.
Igor Sysoev [Mon, 8 Feb 2016 14:41:09 +0000 (17:41 +0300)]
Native function continuation support.

10 years agoTraps for native method arguments.
Igor Sysoev [Wed, 3 Feb 2016 14:47:41 +0000 (17:47 +0300)]
Traps for native method arguments.

10 years agoProperties and prototypes of objects created by Boolean(),
Igor Sysoev [Wed, 3 Feb 2016 13:53:15 +0000 (16:53 +0300)]
Properties and prototypes of objects created by Boolean(),
Number(), and String() constructors have been fixed.