[njs] Removed obsolete function call interface.

Igor Sysoev igor at sysoev.ru
Fri Jan 27 13:34:23 UTC 2017


details:   http://hg.nginx.org/njs/rev/fb2ec3176a14
branches:  
changeset: 306:fb2ec3176a14
user:      Igor Sysoev <igor at sysoev.ru>
date:      Fri Jan 27 16:01:31 2017 +0300
description:
Removed obsolete function call interface.

diffstat:

 nginx/ngx_http_js_module.c   |   2 +-
 nginx/ngx_stream_js_module.c |   2 +-
 njs/njs_generator.c          |   3 ---
 njs/njs_parser.c             |   9 +--------
 njs/njs_parser.h             |   1 -
 njs/njscript.c               |  18 +-----------------
 njs/njscript.h               |   2 +-
 njs/test/njs_unit_test.c     |  29 ++++-------------------------
 8 files changed, 9 insertions(+), 57 deletions(-)

diffs (197 lines):

diff -r f136239eebff -r fb2ec3176a14 nginx/ngx_http_js_module.c
--- a/nginx/ngx_http_js_module.c	Tue Jan 24 14:38:59 2017 +0300
+++ b/nginx/ngx_http_js_module.c	Fri Jan 27 16:01:31 2017 +0300
@@ -1322,7 +1322,7 @@ ngx_http_js_include(ngx_conf_t *cf, ngx_
         return NGX_CONF_ERROR;
     }
 
-    rc = njs_vm_compile(jlcf->vm, &start, end, NULL, &export);
+    rc = njs_vm_compile(jlcf->vm, &start, end, &export);
 
     if (rc != NJS_OK) {
         njs_vm_exception(jlcf->vm, &text);
diff -r f136239eebff -r fb2ec3176a14 nginx/ngx_stream_js_module.c
--- a/nginx/ngx_stream_js_module.c	Tue Jan 24 14:38:59 2017 +0300
+++ b/nginx/ngx_stream_js_module.c	Fri Jan 27 16:01:31 2017 +0300
@@ -1030,7 +1030,7 @@ ngx_stream_js_include(ngx_conf_t *cf, ng
         return NGX_CONF_ERROR;
     }
 
-    rc = njs_vm_compile(jscf->vm, &start, end, NULL, &export);
+    rc = njs_vm_compile(jscf->vm, &start, end, &export);
 
     if (rc != NJS_OK) {
         njs_vm_exception(jscf->vm, &text);
diff -r f136239eebff -r fb2ec3176a14 njs/njs_generator.c
--- a/njs/njs_generator.c	Tue Jan 24 14:38:59 2017 +0300
+++ b/njs/njs_generator.c	Fri Jan 27 16:01:31 2017 +0300
@@ -170,9 +170,6 @@ njs_generator(njs_vm_t *vm, njs_parser_t
     case NJS_TOKEN_END:
         return njs_generate_stop_statement(vm, parser, node);
 
-    case NJS_TOKEN_CALL:
-        return njs_generate_children(vm, parser, node);
-
     case NJS_TOKEN_COMMA:
         return njs_generate_comma_expression(vm, parser, node);
 
diff -r f136239eebff -r fb2ec3176a14 njs/njs_parser.c
--- a/njs/njs_parser.c	Tue Jan 24 14:38:59 2017 +0300
+++ b/njs/njs_parser.c	Fri Jan 27 16:01:31 2017 +0300
@@ -123,14 +123,7 @@ njs_parser(njs_vm_t *vm, njs_parser_t *p
 
     node = parser->node;
 
-    if (node != NULL && node->right != NULL) {
-        if (node->right->token == NJS_TOKEN_FUNCTION) {
-            node->token = NJS_TOKEN_CALL;
-            node->scope = parser->scope;
-            return node;
-        }
-
-    } else {
+    if (node == NULL) {
         /* Empty string, just semicolons or variables declarations. */
 
         node = njs_parser_node_alloc(vm);
diff -r f136239eebff -r fb2ec3176a14 njs/njs_parser.h
--- a/njs/njs_parser.h	Tue Jan 24 14:38:59 2017 +0300
+++ b/njs/njs_parser.h	Fri Jan 27 16:01:31 2017 +0300
@@ -14,7 +14,6 @@ typedef enum {
     NJS_TOKEN_ILLEGAL = 0,
 
     NJS_TOKEN_END,
-    NJS_TOKEN_CALL,
     NJS_TOKEN_SPACE,
     NJS_TOKEN_LINE_END,
 
diff -r f136239eebff -r fb2ec3176a14 njs/njscript.c
--- a/njs/njscript.c	Tue Jan 24 14:38:59 2017 +0300
+++ b/njs/njscript.c	Fri Jan 27 16:01:31 2017 +0300
@@ -184,13 +184,11 @@ njs_vm_destroy(njs_vm_t *vm)
 
 
 nxt_int_t
-njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end,
-    njs_function_t **function, nxt_str_t **export)
+njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end, nxt_str_t **export)
 {
     nxt_int_t          ret;
     njs_lexer_t        *lexer;
     njs_parser_t       *parser;
-    njs_variable_t     *var;
     njs_parser_node_t  *node;
 
     parser = nxt_mem_cache_zalloc(vm->mem_cache_pool, sizeof(njs_parser_t));
@@ -219,20 +217,6 @@ njs_vm_compile(njs_vm_t *vm, u_char **st
         return NJS_ERROR;
     }
 
-    if (function != NULL) {
-        if (node->token == NJS_TOKEN_CALL) {
-            var = njs_variable_get(vm, node->right, NJS_NAME_DECLARATION);
-            if (nxt_slow_path(var == NULL)) {
-                return NJS_ERROR;
-            }
-
-            *function = var->value.data.u.function;
-
-        } else {
-            *function = NULL;
-        }
-    }
-
     *start = parser->lexer->start;
 
     ret = njs_generate_scope(vm, parser, node);
diff -r f136239eebff -r fb2ec3176a14 njs/njscript.h
--- a/njs/njscript.h	Tue Jan 24 14:38:59 2017 +0300
+++ b/njs/njscript.h	Fri Jan 27 16:01:31 2017 +0300
@@ -84,7 +84,7 @@ NXT_EXPORT njs_vm_t *njs_vm_create(nxt_m
 NXT_EXPORT void njs_vm_destroy(njs_vm_t *vm);
 
 NXT_EXPORT nxt_int_t njs_vm_compile(njs_vm_t *vm, u_char **start, u_char *end,
-    njs_function_t **function, nxt_str_t **export);
+    nxt_str_t **export);
 NXT_EXPORT njs_vm_t *njs_vm_clone(njs_vm_t *vm, nxt_mem_cache_pool_t *mcp,
     void **external);
 NXT_EXPORT nxt_int_t njs_vm_call(njs_vm_t *vm, njs_function_t *function,
diff -r f136239eebff -r fb2ec3176a14 njs/test/njs_unit_test.c
--- a/njs/test/njs_unit_test.c	Tue Jan 24 14:38:59 2017 +0300
+++ b/njs/test/njs_unit_test.c	Fri Jan 27 16:01:31 2017 +0300
@@ -6758,11 +6758,6 @@ static njs_unit_test_t  njs_test[] =
     { nxt_string("parseFloat('12345abc')"),
       nxt_string("12345") },
 
-    /* External interface. */
-
-    { nxt_string("function f(req) { return req.uri }"),
-      nxt_string("АБВ") },
-
     /* Trick: number to boolean. */
 
     { nxt_string("var a = 0; !!a"),
@@ -7056,14 +7051,12 @@ njs_unit_test(nxt_bool_t disassemble)
     u_char                *start;
     njs_vm_t              *vm, *nvm;
     nxt_int_t             ret;
-    nxt_str_t             s, r_name, *export;
+    nxt_str_t             s, *export;
     nxt_uint_t            i;
     nxt_bool_t            success;
     nxt_lvlhsh_t          externals;
-    njs_function_t        *function;
     njs_vm_shared_t       *shared;
     njs_unit_test_req     r;
-    njs_opaque_value_t    value;
     nxt_mem_cache_pool_t  *mcp;
 
     /*
@@ -7105,7 +7098,7 @@ njs_unit_test(nxt_bool_t disassemble)
         start = njs_test[i].script.start;
 
         ret = njs_vm_compile(vm, &start, start + njs_test[i].script.length,
-                             &function, &export);
+                             &export);
 
         if (ret == NXT_OK) {
             if (disassemble) {
@@ -7121,20 +7114,7 @@ njs_unit_test(nxt_bool_t disassemble)
             r.uri.length = 6;
             r.uri.start = (u_char *) "АБВ";
 
-            if (function != NULL) {
-                r_name.length = 2;
-                r_name.start = (u_char *) "$r";
-
-                ret = njs_vm_external(nvm, NULL, &r_name, &value);
-                if (ret != NXT_OK) {
-                    return NXT_ERROR;
-                }
-
-                ret = njs_vm_call(nvm, function, &value, 1);
-
-            } else {
-                ret = njs_vm_run(nvm);
-            }
+            ret = njs_vm_run(nvm);
 
             if (ret == NXT_OK) {
                 if (njs_vm_retval(nvm, &s) != NXT_OK) {
@@ -7219,7 +7199,7 @@ njs_unit_test_benchmark(nxt_str_t *scrip
 
     start = script->start;
 
-    ret = njs_vm_compile(vm, &start, start + script->length, NULL, &export);
+    ret = njs_vm_compile(vm, &start, start + script->length, &export);
     if (ret != NXT_OK) {
         return NXT_ERROR;
     }
@@ -7232,7 +7212,6 @@ njs_unit_test_benchmark(nxt_str_t *scrip
         }
 
         if (njs_vm_run(nvm) == NXT_OK) {
-
             if (njs_vm_retval(nvm, &s) != NXT_OK) {
                 return NXT_ERROR;
             }


More information about the nginx-devel mailing list