November 04, 2016 04:54PM
details: http://hg.nginx.org/njs/rev/53d2024f6ca3
branches:
changeset: 239:53d2024f6ca3
user: Igor Sysoev <igor@sysoev.ru>
date: Fri Nov 04 23:45:35 2016 +0300
description:
Function expressions did not have prototypes.

diffstat:

njs/njs_vm.c | 1 +
njs/test/njs_unit_test.c | 11 +++++++++++
2 files changed, 12 insertions(+), 0 deletions(-)

diffs (32 lines):

diff -r 109932e1d3c8 -r 53d2024f6ca3 njs/njs_vm.c
--- a/njs/njs_vm.c Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/njs_vm.c Fri Nov 04 23:45:35 2016 +0300
@@ -414,6 +414,7 @@ njs_vmcode_function(njs_vm_t *vm, njs_va
function = nxt_mem_cache_zalloc(vm->mem_cache_pool, sizeof(njs_function_t));

if (nxt_fast_path(function != NULL)) {
+ function->object.shared_hash = vm->shared->function_prototype_hash;
function->object.__proto__ =
&vm->prototypes[NJS_PROTOTYPE_FUNCTION].object;
function->args_offset = 1;
diff -r 109932e1d3c8 -r 53d2024f6ca3 njs/test/njs_unit_test.c
--- a/njs/test/njs_unit_test.c Fri Nov 04 18:25:55 2016 +0300
+++ b/njs/test/njs_unit_test.c Fri Nov 04 23:45:35 2016 +0300
@@ -4167,6 +4167,17 @@ static njs_unit_test_t njs_test[] =
"o.constructor === F"),
nxt_string("true") },

+ { nxt_string("function F() { return }"
+ "var o = new F();"
+ "o.__proto__ === F.prototype"),
+ nxt_string("true") },
+
+ { nxt_string("function F(){}; typeof F.prototype"),
+ nxt_string("object") },
+
+ { nxt_string("var F = function (){}; typeof F.prototype"),
+ nxt_string("object") },
+
{ nxt_string("function F() { return Number }"
"var o = new (F())(5);"
"typeof o +' '+ o"),

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[njs] Function expressions did not have prototypes.

Igor Sysoev 891 November 04, 2016 04:54PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 292
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready