]>
git.kaiwu.me - njs.git/log
Igor Sysoev [Thu, 21 Jul 2016 17:51:22 +0000 (20:51 +0300)]
njs_vm_function() must return only function.
Roman Arutyunyan [Thu, 21 Jul 2016 08:39:00 +0000 (11:39 +0300)]
Fixed closing file descriptor on error.
Found by Coverity (CID
1364196 ,
1364197 ,
1364198 ,
1364199 ).
Roman Arutyunyan [Wed, 20 Jul 2016 18:40:34 +0000 (21:40 +0300)]
Updated README.
Roman Arutyunyan [Wed, 20 Jul 2016 16:38:00 +0000 (19:38 +0300)]
Updated README to reflect changes in HTTP and Stream modules.
Roman Arutyunyan [Wed, 20 Jul 2016 15:20:17 +0000 (18:20 +0300)]
Stream njs module.
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
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.
Igor Sysoev [Thu, 14 Jul 2016 16:24:51 +0000 (19:24 +0300)]
njs_vm_function() interface to get a function by name.
Igor Sysoev [Wed, 13 Jul 2016 10:56:12 +0000 (13:56 +0300)]
Syntax error messages are more verbose and have line number.
Igor Sysoev [Mon, 11 Jul 2016 12:24:29 +0000 (15:24 +0300)]
Fixed building by modern GCC versions.
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.
Igor Sysoev [Fri, 8 Jul 2016 15:07:57 +0000 (18:07 +0300)]
Now ASCII strings use UTF8 variant of PCRE code.
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.
Igor Sysoev [Wed, 29 Jun 2016 10:38:20 +0000 (13:38 +0300)]
Array.reverse() method.
Igor Sysoev [Tue, 28 Jun 2016 16:28:00 +0000 (19:28 +0300)]
String.split() method.
Igor Sysoev [Wed, 1 Jun 2016 12:31:34 +0000 (15:31 +0300)]
Using nxt_regex interface in nJSVM.
Igor Sysoev [Wed, 1 Jun 2016 12:30:50 +0000 (15:30 +0300)]
PCRE code is available via nxt_regex interface.
Igor Sysoev [Fri, 29 Apr 2016 14:02:52 +0000 (17:02 +0300)]
Fix in String.indexOf() and String.lastIndexOf() functions.
Igor Sysoev [Mon, 25 Apr 2016 16:30:27 +0000 (19:30 +0300)]
parseFloat() function.
Igor Sysoev [Mon, 25 Apr 2016 14:28:34 +0000 (17:28 +0300)]
parseInt() function.
Igor Sysoev [Thu, 21 Apr 2016 15:23:16 +0000 (18:23 +0300)]
isFinite() function.
Igor Sysoev [Thu, 21 Apr 2016 15:23:12 +0000 (18:23 +0300)]
isNaN() function.
Igor Sysoev [Thu, 21 Apr 2016 12:57:05 +0000 (15:57 +0300)]
Global toString() function.
Igor Sysoev [Wed, 20 Apr 2016 15:30:31 +0000 (18:30 +0300)]
Reserverd words can be used as property names.
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.
Igor Sysoev [Tue, 19 Apr 2016 13:07:33 +0000 (16:07 +0300)]
njs_string_new().
Igor Sysoev [Tue, 19 Apr 2016 14:26:25 +0000 (17:26 +0300)]
Number.toString(radix).
Igor Sysoev [Fri, 15 Apr 2016 15:01:40 +0000 (18:01 +0300)]
String.toUpperCase().
Igor Sysoev [Fri, 15 Apr 2016 15:01:19 +0000 (18:01 +0300)]
String.toLowerCase().
Igor Sysoev [Thu, 14 Apr 2016 15:23:09 +0000 (18:23 +0300)]
"new Date()" incorrectly returned always Jan 1, 1970.
Igor Sysoev [Mon, 11 Apr 2016 11:39:59 +0000 (14:39 +0300)]
String.fromCharCode() and String.fromCodePoint().
Igor Sysoev [Sat, 9 Apr 2016 09:21:31 +0000 (12:21 +0300)]
Old array data are freed after array relocation.
Igor Sysoev [Sat, 9 Apr 2016 09:18:47 +0000 (12:18 +0300)]
Segfault has been fixed when array element was added
with assignment.
Igor Sysoev [Fri, 8 Apr 2016 15:59:06 +0000 (18:59 +0300)]
Forgotten nxt/nxt_time.h file has been added.
Igor Sysoev [Fri, 8 Apr 2016 15:19:43 +0000 (18:19 +0300)]
Date() function.
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.
Igor Sysoev [Mon, 28 Mar 2016 14:34:42 +0000 (17:34 +0300)]
Fixed building on Solaris by SunC.
Igor Sysoev [Thu, 24 Mar 2016 14:13:27 +0000 (17:13 +0300)]
Miscellaneous issues found by Coverity Scan 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.
Igor Sysoev [Thu, 24 Mar 2016 10:57:06 +0000 (13:57 +0300)]
Issues found by Coverity Scan in String.match() have been fixed.
Igor Sysoev [Wed, 23 Mar 2016 12:49:49 +0000 (15:49 +0300)]
User defined function prototype.
Igor Sysoev [Wed, 23 Mar 2016 12:49:46 +0000 (15:49 +0300)]
Math.random() method.
Igor Sysoev [Wed, 23 Mar 2016 12:27:14 +0000 (15:27 +0300)]
Math object.
Igor Sysoev [Wed, 23 Mar 2016 12:27:10 +0000 (15:27 +0300)]
Style and small miscellaneous fixes.
Maxim Konovalov [Wed, 23 Mar 2016 09:10:44 +0000 (12:10 +0300)]
An option how to build njs module dynamically provided.
Igor Sysoev [Fri, 4 Mar 2016 11:57:21 +0000 (14:57 +0300)]
Fixed building by GCC 4.1.
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.
Ruslan Ermilov [Thu, 25 Feb 2016 13:32:47 +0000 (16:32 +0300)]
Implemented support for dynamic modules.
Igor Sysoev [Thu, 25 Feb 2016 08:14:22 +0000 (11:14 +0300)]
Fixed building on Solaris by SunC.
Igor Sysoev [Thu, 25 Feb 2016 06:29:07 +0000 (09:29 +0300)]
Fixed building by GCC 4.8.
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.
Igor Sysoev [Mon, 22 Feb 2016 09:39:31 +0000 (12:39 +0300)]
Common parts of Function.call() and Function.apply() have
been merged.
Igor Sysoev [Mon, 22 Feb 2016 09:26:42 +0000 (12:26 +0300)]
Functions rearrangement.
Igor Sysoev [Sun, 21 Feb 2016 21:06:59 +0000 (00:06 +0300)]
The "args" has been removed from njs_vmcode_t.
Igor Sysoev [Sun, 21 Feb 2016 21:06:53 +0000 (00:06 +0300)]
Continuations have been refactored.
Igor Sysoev [Sun, 21 Feb 2016 21:06:40 +0000 (00:06 +0300)]
njs_function_previous_frame() and njs_function_frame_free().
Igor Sysoev [Mon, 15 Feb 2016 14:31:59 +0000 (17:31 +0300)]
Function.bind() implementation.
Igor Sysoev [Sun, 14 Feb 2016 18:49:15 +0000 (21:49 +0300)]
njs_param_t removal.
Igor Sysoev [Fri, 12 Feb 2016 10:40:36 +0000 (13:40 +0300)]
The "this" has been removed from njs_param_t.
Igor Sysoev [Thu, 11 Feb 2016 15:42:21 +0000 (18:42 +0300)]
Function.apply() works with continuation.
Igor Sysoev [Thu, 11 Feb 2016 15:42:06 +0000 (18:42 +0300)]
njs_function_apply() interface is changed.
Igor Sysoev [Thu, 11 Feb 2016 15:10:34 +0000 (18:10 +0300)]
Obsolete functions removal.
Igor Sysoev [Thu, 11 Feb 2016 14:44:53 +0000 (17:44 +0300)]
Obsolete function removal.
Igor Sysoev [Thu, 11 Feb 2016 08:36:14 +0000 (11:36 +0300)]
Array.join() optimization.
Igor Sysoev [Wed, 10 Feb 2016 16:52:23 +0000 (19:52 +0300)]
Disassembler fixes.
Igor Sysoev [Wed, 10 Feb 2016 16:18:28 +0000 (19:18 +0300)]
Fixed argument convertion to integer.
Igor Sysoev [Wed, 10 Feb 2016 16:18:22 +0000 (19:18 +0300)]
Fixed building on Solaris by SunC.
Igor Sysoev [Tue, 9 Feb 2016 15:17:22 +0000 (18:17 +0300)]
Logical AND and OR operations support short-circuit evaluation.
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.
Igor Sysoev [Mon, 8 Feb 2016 15:18:09 +0000 (18:18 +0300)]
A whole native frame is zeroed.
Igor Sysoev [Mon, 8 Feb 2016 14:41:09 +0000 (17:41 +0300)]
Native function continuation support.
Igor Sysoev [Wed, 3 Feb 2016 14:47:41 +0000 (17:47 +0300)]
Traps for native method arguments.
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.
Igor Sysoev [Wed, 3 Feb 2016 12:03:30 +0000 (15:03 +0300)]
Style and small miscellaneous fixes.
Igor Sysoev [Mon, 25 Jan 2016 12:17:00 +0000 (15:17 +0300)]
An additional trap frame has been removed, the trap values are
stored just in native function frame.
Igor Sysoev [Mon, 25 Jan 2016 12:15:00 +0000 (15:15 +0300)]
nJSVM current instruction pointer is updated now in
njs_function_call().
Igor Sysoev [Mon, 25 Jan 2016 12:14:00 +0000 (15:14 +0300)]
External methods now have njs_function_t structure.
Igor Sysoev [Wed, 20 Jan 2016 17:35:00 +0000 (20:35 +0300)]
Native function local data size has been moved to njs_function_t.
Igor Sysoev [Mon, 18 Jan 2016 17:02:35 +0000 (20:02 +0300)]
Using C99 syntax for static structures initializaion.
Igor Sysoev [Thu, 14 Jan 2016 08:36:33 +0000 (11:36 +0300)]
Segfault has been fixed when global frame was skipped on
function return because of uninitialized frame skip flag.
Thanks to 洪志道 (Hong Zhi Dao).
Igor Sysoev [Wed, 13 Jan 2016 16:11:36 +0000 (19:11 +0300)]
Segfaults are fixed when non-existent external object property was
accessed or when existent property does not support operation.
Igor Sysoev [Tue, 12 Jan 2016 17:09:33 +0000 (20:09 +0300)]
Segfault is fixed when script is terminated by unbalanced
closing brace.
Igor Sysoev [Tue, 12 Jan 2016 16:47:29 +0000 (19:47 +0300)]
Segfault is fixed when the last return in function is terminated
by semicolon.
Igor Sysoev [Sat, 2 Jan 2016 17:41:21 +0000 (20:41 +0300)]
2016 year.
Igor Sysoev [Sun, 27 Dec 2015 12:26:11 +0000 (15:26 +0300)]
Object to external string convertion.
Igor Sysoev [Sun, 27 Dec 2015 12:26:08 +0000 (15:26 +0300)]
Object to primitive value convertion traps have been fixed.
Igor Sysoev [Sun, 27 Dec 2015 12:26:06 +0000 (15:26 +0300)]
Functions rearrangement.
Igor Sysoev [Sun, 27 Dec 2015 12:26:04 +0000 (15:26 +0300)]
Style and small miscellaneous fixes.
Igor Sysoev [Sun, 27 Dec 2015 12:24:13 +0000 (15:24 +0300)]
Fixed building on some 32-bit platforms.
Igor Sysoev [Sun, 27 Dec 2015 12:23:57 +0000 (15:23 +0300)]
The "break" and "continue" statements did not work on big endian
platforms.
Igor Sysoev [Wed, 23 Dec 2015 07:23:45 +0000 (10:23 +0300)]
Change of special return values handled by nJSVM interpreter.
Igor Sysoev [Tue, 15 Dec 2015 17:17:10 +0000 (20:17 +0300)]
The "switch" statement.
Igor Sysoev [Tue, 15 Dec 2015 13:46:00 +0000 (16:46 +0300)]
Support of "continue" and "break" statements without labels
in loops.
Igor Sysoev [Tue, 15 Dec 2015 13:45:56 +0000 (16:45 +0300)]
Comma expressions, statement sequences, and njs_vmcode_stop
changes.
Igor Sysoev [Sat, 12 Dec 2015 21:00:40 +0000 (00:00 +0300)]
Array enumeration changes.
Igor Sysoev [Sat, 12 Dec 2015 21:00:30 +0000 (00:00 +0300)]
Property enumeration changes.
Igor Sysoev [Sat, 12 Dec 2015 21:00:21 +0000 (00:00 +0300)]
Code generator updates.
Igor Sysoev [Fri, 11 Dec 2015 15:41:40 +0000 (18:41 +0300)]
"var" statement fixed.
Igor Sysoev [Fri, 11 Dec 2015 15:41:30 +0000 (18:41 +0300)]
param->object was changed to param->this.
Igor Sysoev [Fri, 11 Dec 2015 15:41:20 +0000 (18:41 +0300)]
Array.toString() fixed.