]>
git.kaiwu.me - njs.git/log
Dmitry Volyntsev [Tue, 26 Feb 2019 13:36:29 +0000 (16:36 +0300)]
Version 0.2.8.
Dmitry Volyntsev [Tue, 26 Feb 2019 13:16:08 +0000 (16:16 +0300)]
HTTP: avoid creating empty request_body buffer in r.subrequest().
This fixes #101 issue on Github.
Dmitry Volyntsev [Mon, 25 Feb 2019 16:00:56 +0000 (19:00 +0300)]
Moving boilerplate code into njs_generate_code().
Dmitry Volyntsev [Mon, 25 Feb 2019 16:00:55 +0000 (19:00 +0300)]
Added labels support.
Dmitry Volyntsev [Mon, 25 Feb 2019 16:00:54 +0000 (19:00 +0300)]
HTTP: setting exception if memory allocation fails.
Artem S. Povalyukhin [Sat, 23 Feb 2019 01:21:44 +0000 (04:21 +0300)]
Fixed Array.prototype.fill().
This closes #71 issue on Github.
Artem S. Povalyukhin [Sat, 23 Feb 2019 01:20:23 +0000 (04:20 +0300)]
Style.
Dmitry Volyntsev [Fri, 22 Feb 2019 17:33:31 +0000 (20:33 +0300)]
Fixed heap-buffer-overflow in String.prototype.split().
Dmitry Volyntsev [Thu, 21 Feb 2019 17:47:52 +0000 (20:47 +0300)]
Added support for setting nginx variables.
This closes #37 issue on Github.
Dmitry Volyntsev [Thu, 21 Feb 2019 13:35:52 +0000 (16:35 +0300)]
Improved API for value creation from the outside of VM.
hongzhidao [Wed, 20 Feb 2019 16:30:40 +0000 (00:30 +0800)]
Fixed njs_benchmark.
Dmitry Volyntsev [Wed, 20 Feb 2019 18:04:22 +0000 (21:04 +0300)]
Style.
Dmitry Volyntsev [Wed, 20 Feb 2019 18:04:19 +0000 (21:04 +0300)]
Fixed %*s length argument type in nxt_sprintf() fmt string.
Dmitry Volyntsev [Wed, 20 Feb 2019 15:25:01 +0000 (18:25 +0300)]
Fixed creation of long UTF8 strings.
This closes #98 issue on Github.
hongzhidao [Sat, 16 Feb 2019 15:18:43 +0000 (23:18 +0800)]
Fixed fast paths.
hongzhidao [Sat, 16 Feb 2019 15:18:43 +0000 (23:18 +0800)]
Improved njs_vm_compile().
hongzhidao [Sat, 16 Feb 2019 15:18:43 +0000 (23:18 +0800)]
Allocating njs_lexer_t on stack.
hongzhidao [Sat, 16 Feb 2019 15:18:43 +0000 (23:18 +0800)]
Allocating njs_generator_t on stack.
hongzhidao [Sat, 16 Feb 2019 15:18:43 +0000 (23:18 +0800)]
Making njs_vm_invoke() public.
hongzhidao [Sat, 16 Feb 2019 15:18:43 +0000 (23:18 +0800)]
Introduced njs_parser_global_scope().
Dmitry Volyntsev [Wed, 20 Feb 2019 13:16:30 +0000 (16:16 +0300)]
Introduced nxt_file_basename() and nxt_file_dirname().
Dmitry Volyntsev [Thu, 14 Feb 2019 18:19:51 +0000 (21:19 +0300)]
Fixed String.prototype.split() for unicode strings.
This closes #95 issue on Github.
Dmitry Volyntsev [Thu, 14 Feb 2019 18:19:51 +0000 (21:19 +0300)]
Adding const qualifiers to njs_string_prototype_split() and friends.
Dmitry Volyntsev [Thu, 14 Feb 2019 14:01:26 +0000 (17:01 +0300)]
Style.
Dmitry Volyntsev [Thu, 14 Feb 2019 12:21:02 +0000 (15:21 +0300)]
Fixed line number in reporting variable reference errors.
This closes #94 issue on Github.
Dmitry Volyntsev [Thu, 14 Feb 2019 11:40:50 +0000 (14:40 +0300)]
Fixed parsing of string literals.
This closes #93 issue on Github.
Dmitry Volyntsev [Tue, 12 Feb 2019 15:56:04 +0000 (18:56 +0300)]
Eliminating sprintf() and vsnprintf() usage.
Dmitry Volyntsev [Tue, 12 Feb 2019 15:37:59 +0000 (18:37 +0300)]
Replacing vsprintf with nxt_vsprintf in modules' exceptions API.
Dmitry Volyntsev [Mon, 11 Feb 2019 15:15:43 +0000 (18:15 +0300)]
Added support for shorthand property names for Object literals.
This closes #87 issue on Github.
hongzhidao [Sat, 9 Feb 2019 09:34:04 +0000 (17:34 +0800)]
Refactored njs_parser_terminal().
1) Introduced njs_parser_reference().
2) njs_parser_builtin_object() and njs_parser_builtin_function()
are refactored into njs_parser_builtin().
3) njs_parser_external() is simplified and renamed as
njs_external_lookup().
hongzhidao [Sat, 9 Feb 2019 08:26:08 +0000 (16:26 +0800)]
Improved njs_parser_property_token().
Dmitry Volyntsev [Fri, 8 Feb 2019 17:22:28 +0000 (20:22 +0300)]
Removing unused argument of njs_parser_property_name().
Dmitry Volyntsev [Fri, 8 Feb 2019 17:14:55 +0000 (20:14 +0300)]
Shell: avoid reporting filenames in exception is quiet mode.
Dmitry Volyntsev [Fri, 8 Feb 2019 17:06:05 +0000 (20:06 +0300)]
Updated list of reserved keywords.
Dmitry Volyntsev [Thu, 7 Feb 2019 17:05:16 +0000 (20:05 +0300)]
HTTP: skipping deleted elements while iterating over headers.
Dmitry Volyntsev [Thu, 7 Feb 2019 17:05:14 +0000 (20:05 +0300)]
HTTP: added support for delete operation in r.headersOut.
This closes #64 issue on Github.
Dmitry Volyntsev [Wed, 6 Feb 2019 16:52:54 +0000 (19:52 +0300)]
HTTP: improved setting empty headers.
Treating empty value as deleting.
Dmitry Volyntsev [Wed, 6 Feb 2019 16:22:18 +0000 (19:22 +0300)]
HTTP: improved setting of special response headers.
Dmitry Volyntsev [Wed, 6 Feb 2019 12:50:03 +0000 (15:50 +0300)]
Modules: reporting njs filenames in exceptions.
hongzhidao [Wed, 6 Feb 2019 04:27:41 +0000 (12:27 +0800)]
Shell: improved filenames reporting in exceptions.
Dmitry Volyntsev [Tue, 5 Feb 2019 16:27:24 +0000 (19:27 +0300)]
HTTP: setting default content type in sendHeader().
hongzhidao [Mon, 4 Feb 2019 17:07:45 +0000 (01:07 +0800)]
Reporting filename in runtime errors.
hongzhidao [Mon, 4 Feb 2019 16:53:18 +0000 (00:53 +0800)]
Reporting filename in generator errors.
hongzhidao [Mon, 4 Feb 2019 15:00:25 +0000 (23:00 +0800)]
Using nxt_sprintf() instead of sprintf() in backtraces.
Sergey Kandaurov [Mon, 4 Feb 2019 13:30:27 +0000 (16:30 +0300)]
Removed a surplus argument to the parser exception macro.
While here, fixed nearby style.
Dmitry Volyntsev [Mon, 4 Feb 2019 08:45:24 +0000 (11:45 +0300)]
Fixed building with Apple clang.
This closes #89 issue on Github.
hongzhidao [Sun, 3 Feb 2019 22:22:51 +0000 (06:22 +0800)]
Renaming njs_exception_error_create() with njs_error_fmt_new().
hongzhidao [Sun, 3 Feb 2019 21:33:19 +0000 (05:33 +0800)]
Reporting filename in parser errors.
hongzhidao [Sun, 3 Feb 2019 21:26:42 +0000 (05:26 +0800)]
Improved exception creation.
hongzhidao [Sat, 2 Feb 2019 08:01:39 +0000 (16:01 +0800)]
Introduced njs_vm_invoke().
hongzhidao [Sat, 2 Feb 2019 06:21:26 +0000 (14:21 +0800)]
Improved njs_parser_statement_chain().
Dmitry Volyntsev [Fri, 1 Feb 2019 15:26:18 +0000 (18:26 +0300)]
Improved parsing object literals.
Dmitry Volyntsev [Fri, 1 Feb 2019 15:09:02 +0000 (18:09 +0300)]
Fixed parsing object literals.
hongzhidao [Fri, 1 Feb 2019 11:48:30 +0000 (19:48 +0800)]
Simplified parser builtin function.
hongzhidao [Tue, 29 Jan 2019 08:30:13 +0000 (16:30 +0800)]
Simplified parser tree building.
Dmitry Volyntsev [Wed, 30 Jan 2019 15:50:33 +0000 (18:50 +0300)]
Unifying quotes usage in exceptions.
Dmitry Volyntsev [Wed, 30 Jan 2019 15:49:33 +0000 (18:49 +0300)]
Replacing vsprintf with nxt_vsprintf in exceptions.
Dmitry Volyntsev [Wed, 30 Jan 2019 15:49:16 +0000 (18:49 +0300)]
Fixed SyntaxError message for unterminated regexp token.
Dmitry Volyntsev [Wed, 30 Jan 2019 15:48:23 +0000 (18:48 +0300)]
Fixed lexer->text state for the last token.
Dmitry Volyntsev [Wed, 30 Jan 2019 15:47:59 +0000 (18:47 +0300)]
Imported nxt_sprintf.c.
hongzhidao [Mon, 28 Jan 2019 17:30:04 +0000 (01:30 +0800)]
Style.
Dmitry Volyntsev [Tue, 29 Jan 2019 15:15:03 +0000 (18:15 +0300)]
Fixed parsing multiline comments.
Dmitry Volyntsev [Tue, 29 Jan 2019 13:49:36 +0000 (16:49 +0300)]
Added support for multiline tests.
hongzhidao [Sat, 26 Jan 2019 21:21:32 +0000 (05:21 +0800)]
Improved next index allocation.
Dmitry Volyntsev [Mon, 28 Jan 2019 18:18:43 +0000 (21:18 +0300)]
Renaming nxt_mem_cache_pool_t related structures and fields.
nxt_mem_cache_pool_t -> nxt_mp_t.
nxt_mem_cache_* -> nxt_mp_*.
vm->mem_cache_pool -> vm->mem_pool.
Dmitry Volyntsev [Mon, 28 Jan 2019 13:17:42 +0000 (16:17 +0300)]
HTTP: removed response object deprecated in 0.2.2.
hongzhidao [Wed, 23 Jan 2019 16:48:19 +0000 (19:48 +0300)]
Simplified function parsing.
Avoid creating phony parser structures while parsing
function bodies.
Dmitry Volyntsev [Tue, 22 Jan 2019 15:08:47 +0000 (18:08 +0300)]
Improved setting vm->trace.
Dmitry Volyntsev [Fri, 18 Jan 2019 12:28:17 +0000 (15:28 +0300)]
Removed unused vm->scratch field.
Dmitry Volyntsev [Fri, 18 Jan 2019 11:50:50 +0000 (14:50 +0300)]
Style.
Dmitry Volyntsev [Thu, 17 Jan 2019 14:01:22 +0000 (17:01 +0300)]
Setting exit index for try_return instruction is simplified.
Dmitry Volyntsev [Thu, 17 Jan 2019 13:12:46 +0000 (16:12 +0300)]
Fixed comments "try" instructions.
Dmitry Volyntsev [Thu, 17 Jan 2019 13:11:52 +0000 (16:11 +0300)]
Fixed try_break instruction.
Dmitry Volyntsev [Wed, 16 Jan 2019 15:58:23 +0000 (18:58 +0300)]
Making generator block for block statements.
Dmitry Volyntsev [Wed, 16 Jan 2019 15:55:16 +0000 (18:55 +0300)]
Fixed heap-use-after-free introduced in
045ba10db769 .
hongzhidao [Fri, 11 Jan 2019 11:20:38 +0000 (19:20 +0800)]
Improved an argument name of njs_function_frame().
hongzhidao [Fri, 11 Jan 2019 10:57:57 +0000 (18:57 +0800)]
Refactored njs_function_lambda_call().
Dmitry Volyntsev [Thu, 10 Jan 2019 17:18:27 +0000 (20:18 +0300)]
Making njs_function_frame_alloc() static.
hongzhidao [Tue, 8 Jan 2019 00:41:40 +0000 (08:41 +0800)]
Introduced njs_function_frame().
hongzhidao [Mon, 7 Jan 2019 23:04:24 +0000 (07:04 +0800)]
Renamed functions related to lambda.
hongzhidao [Mon, 7 Jan 2019 22:14:36 +0000 (06:14 +0800)]
Refactored out njs_function_apply().
As a variant of njs_function_activate().
hongzhidao [Mon, 7 Jan 2019 22:14:36 +0000 (06:14 +0800)]
Fixed njs_vm_call().
hongzhidao [Mon, 7 Jan 2019 21:02:20 +0000 (05:02 +0800)]
Simplified njs_vm_call().
hongzhidao [Mon, 7 Jan 2019 20:11:51 +0000 (04:11 +0800)]
Making njs_function_activate() more generic.
Dmitry Volyntsev [Thu, 10 Jan 2019 14:30:30 +0000 (17:30 +0300)]
Inlined njs_function_previous_frame().
hongzhidao [Mon, 7 Jan 2019 20:04:02 +0000 (04:04 +0800)]
Moving njs_normalize_args() into njs_function_native_call().
hongzhidao [Mon, 7 Jan 2019 14:14:17 +0000 (22:14 +0800)]
Introduced njs_function_native_call().
hongzhidao [Mon, 7 Jan 2019 09:42:00 +0000 (17:42 +0800)]
Refactored njs_function_frame_free.
hongzhidao [Mon, 7 Jan 2019 09:40:48 +0000 (17:40 +0800)]
Fixed vmcode function call.
This closes #82 issue on Github.
Dmitry Volyntsev [Wed, 9 Jan 2019 15:21:31 +0000 (18:21 +0300)]
2019 year.
hongzhidao [Sat, 29 Dec 2018 14:35:31 +0000 (22:35 +0800)]
Improved function naming in variable code.
Renaming:
1) njs_variable_get() to njs_variable_resolve().
2) njs_variable_find() to njs_variable_reference_resolve().
To better reflect what they do.
hongzhidao [Sat, 29 Dec 2018 08:03:57 +0000 (16:03 +0800)]
Improved working with scope indexes of variables.
Dmitry Volyntsev [Sat, 29 Dec 2018 12:16:59 +0000 (15:16 +0300)]
Removed dead code in njs_set_timer().
Found by Coverity (CID
1442096 ).
hongzhidao [Fri, 28 Dec 2018 17:43:44 +0000 (01:43 +0800)]
Removed duplicate njs_variable_reference() declaration.
hongzhidao [Fri, 28 Dec 2018 17:43:44 +0000 (01:43 +0800)]
Variables handling during code generation is improved.
All the necessary fields related to a variable are moved into
njs_variable_reference_t.
hongzhidao [Fri, 28 Dec 2018 17:43:44 +0000 (01:43 +0800)]
Improved njs_generate_typeof_operation().
njs_variable_typeof() cannot fail.
Dmitry Volyntsev [Fri, 28 Dec 2018 16:36:24 +0000 (19:36 +0300)]
Interactive shell: immediate events support.
This closes #66 issue on Github.
Dmitry Volyntsev [Fri, 28 Dec 2018 12:39:59 +0000 (15:39 +0300)]
Fixed grammar in njs_vm.h.
Dmitry Volyntsev [Fri, 28 Dec 2018 09:44:56 +0000 (12:44 +0300)]
Added setImmediate().
Dmitry Volyntsev [Fri, 28 Dec 2018 09:43:36 +0000 (12:43 +0300)]
Interactive shell: initial support of posted events.