Skip to content

Commit 99a3a62

Browse files
Use refs to njs_atom.v[sw]_* in the code. Part 2 (njs_predefined --> njs_atom).
-- njs_predefined --> njs_atom.vs_*; -- wellknown symbols are now njs_atom.vw_*; -- njs_atom.v* content is used to initialize values in njs_object_prop_t; -- code do not depend on atom_ids values used in njs_atom.v*; -- at code top level always used explicit names: njs_atom.v*; -- some small code reductions.
1 parent 3401036 commit 99a3a62

39 files changed

+2624
-2549
lines changed

auto/sources

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ NJS_LIB_SRCS=" \
1919
src/njs_utils.c \
2020
src/njs_chb.c \
2121
src/njs_value.c \
22-
src/njs_predefined.c \
22+
src/njs_atom.c \
2323
src/njs_vm.c \
2424
src/njs_vmcode.c \
2525
src/njs_lexer.c \

src/njs.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ typedef njs_int_t (*njs_function_native_t) (njs_vm_t *vm, njs_value_t *args,
109109
njs_uint_t nargs, njs_index_t magic8, njs_value_t *retval);
110110

111111

112-
typedef enum {
112+
enum {
113113
NJS_SYMBOL_INVALID,
114114
NJS_SYMBOL_ASYNC_ITERATOR,
115115
NJS_SYMBOL_HAS_INSTANCE,
@@ -125,7 +125,7 @@ typedef enum {
125125
NJS_SYMBOL_TO_STRING_TAG,
126126
NJS_SYMBOL_UNSCOPABLES,
127127
NJS_SYMBOL_KNOWN_MAX,
128-
} njs_wellknown_symbol_t;
128+
};
129129

130130

131131
typedef enum {

src/njs_array.c

Lines changed: 71 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,8 @@ njs_array_length_redefine(njs_vm_t *vm, njs_value_t *value, uint32_t length,
186186
return NJS_ERROR;
187187
}
188188

189-
prop = njs_object_property_add(vm, value, njs_value_arg(&string_length), 1);
189+
prop = njs_object_property_add(vm, value,
190+
njs_value_arg(&njs_atom.vs_length), 1);
190191
if (njs_slow_path(prop == NULL)) {
191192
njs_internal_error(vm, "njs_array_length_redefine() "
192193
"cannot redefine \"length\"");
@@ -605,23 +606,24 @@ njs_array_of(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
605606
}
606607

607608

608-
static const njs_object_prop_t njs_array_constructor_properties[] =
609+
static njs_object_prop_t njs_array_constructor_properties[] =
609610
{
610611
NJS_DECLARE_PROP_LENGTH(1),
611612

612-
NJS_DECLARE_PROP_NAME("Array"),
613+
NJS_DECLARE_PROP_NAME(njs_atom.vs_Array),
613614

614-
NJS_DECLARE_PROP_HANDLER("prototype", njs_object_prototype_create, 0, 0, 0),
615+
NJS_DECLARE_PROP_HANDLER(njs_atom.vs_prototype, njs_object_prototype_create,
616+
0, 0, 0),
615617

616-
NJS_DECLARE_PROP_NATIVE("from", njs_array_from, 1, 0),
618+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_from, njs_array_from, 1, 0),
617619

618-
NJS_DECLARE_PROP_NATIVE("isArray", njs_array_is_array, 1, 0),
620+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_isArray, njs_array_is_array, 1, 0),
619621

620-
NJS_DECLARE_PROP_NATIVE("of", njs_array_of, 0, 0),
622+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_of, njs_array_of, 0, 0),
621623
};
622624

623625

624-
const njs_object_init_t njs_array_constructor_init = {
626+
static const njs_object_init_t njs_array_constructor_init = {
625627
njs_array_constructor_properties,
626628
njs_nitems(njs_array_constructor_properties),
627629
};
@@ -1618,7 +1620,7 @@ njs_array_prototype_to_string(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
16181620
njs_lvlhsh_query_t lhq;
16191621

16201622
if (njs_is_object(njs_argument(args, 0))) {
1621-
njs_object_property_init(&lhq, &njs_predefined.vs._join, NJS_JOIN_HASH);
1623+
njs_object_property_init(&lhq, &njs_atom.vs_join, NJS_JOIN_HASH);
16221624

16231625
ret = njs_object_property(vm, njs_object(njs_argument(args, 0)), &lhq,
16241626
&value);
@@ -1659,7 +1661,7 @@ njs_array_prototype_join(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
16591661

16601662
if (njs_slow_path(!njs_is_string(value))) {
16611663
if (njs_is_undefined(value)) {
1662-
value = njs_value_arg(&njs_predefined.vs._spec_COMMA);
1664+
value = njs_value_arg(&njs_atom.vs_spec_COMMA);
16631665

16641666
} else {
16651667
ret = njs_value_to_string(vm, value, value);
@@ -1672,7 +1674,7 @@ njs_array_prototype_join(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
16721674
(void) njs_string_prop(&separator, value);
16731675

16741676
if (njs_slow_path(!njs_is_object(this))) {
1675-
njs_value_assign(retval, &njs_predefined.vs._);
1677+
njs_value_assign(retval, &njs_atom.vs_);
16761678
return NJS_OK;
16771679
}
16781680

@@ -1684,7 +1686,7 @@ njs_array_prototype_join(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
16841686
}
16851687

16861688
if (njs_slow_path(len == 0)) {
1687-
njs_value_assign(retval, &njs_predefined.vs._);
1689+
njs_value_assign(retval, &njs_atom.vs_);
16881690
return NJS_OK;
16891691
}
16901692

@@ -1890,14 +1892,13 @@ njs_is_concat_spreadable(njs_vm_t *vm, njs_value_t *value)
18901892
njs_int_t ret;
18911893
njs_value_t retval;
18921894

1893-
static const njs_value_t key =
1894-
njs_wellknown_symbol(NJS_SYMBOL_IS_CONCAT_SPREADABLE);
1895-
18961895
if (njs_slow_path(!njs_is_object(value))) {
18971896
return NJS_DECLINED;
18981897
}
18991898

1900-
ret = njs_value_property(vm, value, njs_value_arg(&key), &retval);
1899+
ret = njs_value_property(vm, value,
1900+
njs_value_arg(&njs_atom.vw_isConcatSpreadable),
1901+
&retval);
19011902
if (njs_slow_path(ret == NJS_ERROR)) {
19021903
return NJS_ERROR;
19031904
}
@@ -3186,115 +3187,116 @@ njs_array_prototype_iterator_obj(njs_vm_t *vm, njs_value_t *args,
31863187
}
31873188

31883189

3189-
static const njs_object_prop_t njs_array_prototype_properties[] =
3190+
static njs_object_prop_t njs_array_prototype_properties[] =
31903191
{
3191-
NJS_DECLARE_PROP_HANDLER("length", njs_array_length, 0, 0,
3192+
NJS_DECLARE_PROP_HANDLER(njs_atom.vs_length, njs_array_length, 0, 0,
31923193
NJS_OBJECT_PROP_VALUE_W),
31933194

3194-
NJS_DECLARE_PROP_HANDLER("constructor",
3195+
NJS_DECLARE_PROP_HANDLER(njs_atom.vs_constructor,
31953196
njs_object_prototype_create_constructor,
31963197
0, 0, NJS_OBJECT_PROP_VALUE_CW),
31973198

3198-
NJS_DECLARE_PROP_NATIVE("concat", njs_array_prototype_concat, 1, 0),
3199-
3200-
NJS_DECLARE_PROP_NATIVE("copyWithin", njs_array_prototype_copy_within, 2,
3199+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_concat, njs_array_prototype_concat, 1,
32013200
0),
32023201

3203-
NJS_DECLARE_PROP_NATIVE("entries", njs_array_prototype_iterator_obj, 0,
3204-
NJS_ENUM_BOTH),
3202+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_copyWithin,
3203+
njs_array_prototype_copy_within, 2, 0),
3204+
3205+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_entries,
3206+
njs_array_prototype_iterator_obj, 0, NJS_ENUM_BOTH),
32053207

3206-
NJS_DECLARE_PROP_NATIVE("every", njs_array_prototype_iterator, 1,
3208+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_every, njs_array_prototype_iterator, 1,
32073209
njs_array_func(NJS_ARRAY_EVERY)),
32083210

3209-
NJS_DECLARE_PROP_NATIVE("fill", njs_array_prototype_fill, 1, 0),
3211+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_fill, njs_array_prototype_fill, 1, 0),
32103212

3211-
NJS_DECLARE_PROP_NATIVE("filter", njs_array_prototype_iterator, 1,
3213+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_filter, njs_array_prototype_iterator, 1,
32123214
njs_array_func(NJS_ARRAY_FILTER)),
32133215

3214-
NJS_DECLARE_PROP_NATIVE("find", njs_array_prototype_iterator, 1,
3216+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_find, njs_array_prototype_iterator, 1,
32153217
njs_array_func(NJS_ARRAY_FIND)),
32163218

3217-
NJS_DECLARE_PROP_NATIVE("findIndex", njs_array_prototype_iterator, 1,
3218-
njs_array_func(NJS_ARRAY_FIND_INDEX)),
3219+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_findIndex, njs_array_prototype_iterator,
3220+
1, njs_array_func(NJS_ARRAY_FIND_INDEX)),
32193221

3220-
NJS_DECLARE_PROP_NATIVE("forEach", njs_array_prototype_iterator, 1,
3221-
njs_array_func(NJS_ARRAY_FOR_EACH)),
3222+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_forEach, njs_array_prototype_iterator,
3223+
1, njs_array_func(NJS_ARRAY_FOR_EACH)),
32223224

3223-
NJS_DECLARE_PROP_NATIVE("includes", njs_array_prototype_iterator, 1,
3224-
njs_array_arg(NJS_ARRAY_INCLUDES)),
3225+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_includes, njs_array_prototype_iterator,
3226+
1, njs_array_arg(NJS_ARRAY_INCLUDES)),
32253227

3226-
NJS_DECLARE_PROP_NATIVE("indexOf", njs_array_prototype_iterator, 1,
3228+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_indexOf, njs_array_prototype_iterator, 1,
32273229
njs_array_arg(NJS_ARRAY_INDEX_OF)),
32283230

3229-
NJS_DECLARE_PROP_NATIVE("join", njs_array_prototype_join, 1, 0),
3231+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_join, njs_array_prototype_join, 1, 0),
32303232

3231-
NJS_DECLARE_PROP_NATIVE("keys", njs_array_prototype_iterator_obj, 0,
3232-
NJS_ENUM_KEYS),
3233+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_keys, njs_array_prototype_iterator_obj,
3234+
0, NJS_ENUM_KEYS),
32333235

3234-
NJS_DECLARE_PROP_NATIVE("lastIndexOf",
3236+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_lastIndexOf,
32353237
njs_array_prototype_reverse_iterator, 1,
32363238
NJS_ARRAY_LAST_INDEX_OF),
32373239

3238-
NJS_DECLARE_PROP_NATIVE("map", njs_array_prototype_iterator, 1,
3240+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_map, njs_array_prototype_iterator, 1,
32393241
njs_array_func(NJS_ARRAY_MAP)),
32403242

3241-
NJS_DECLARE_PROP_NATIVE("pop", njs_array_prototype_pop, 0, 0),
3243+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_pop, njs_array_prototype_pop, 0, 0),
32423244

3243-
NJS_DECLARE_PROP_NATIVE("push", njs_array_prototype_push, 1, 0),
3245+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_push, njs_array_prototype_push, 1, 0),
32443246

3245-
NJS_DECLARE_PROP_NATIVE("reduce", njs_array_prototype_iterator, 1,
3247+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_reduce, njs_array_prototype_iterator, 1,
32463248
njs_array_func(NJS_ARRAY_REDUCE)),
32473249

3248-
NJS_DECLARE_PROP_NATIVE("reduceRight",
3250+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_reduceRight,
32493251
njs_array_prototype_reverse_iterator, 1,
32503252
njs_array_func(NJS_ARRAY_REDUCE_RIGHT)),
32513253

3252-
NJS_DECLARE_PROP_NATIVE("reverse", njs_array_prototype_reverse, 0, 0),
3254+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_reverse, njs_array_prototype_reverse, 0, 0),
32533255

3254-
NJS_DECLARE_PROP_NATIVE("shift", njs_array_prototype_shift, 0, 0),
3256+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_shift, njs_array_prototype_shift, 0, 0),
32553257

3256-
NJS_DECLARE_PROP_NATIVE("slice", njs_array_prototype_slice, 2, 0),
3258+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_slice, njs_array_prototype_slice, 2, 0),
32573259

3258-
NJS_DECLARE_PROP_NATIVE("some", njs_array_prototype_iterator, 1,
3260+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_some, njs_array_prototype_iterator, 1,
32593261
njs_array_func(NJS_ARRAY_SOME)),
32603262

3261-
NJS_DECLARE_PROP_NATIVE("sort", njs_array_prototype_sort, 1, 0),
3263+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_sort, njs_array_prototype_sort, 1, 0),
32623264

3263-
NJS_DECLARE_PROP_NATIVE("splice", njs_array_prototype_splice, 2, 0),
3265+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_splice, njs_array_prototype_splice, 2,
3266+
0),
32643267

3265-
NJS_DECLARE_PROP_NATIVE("toReversed", njs_array_prototype_to_reversed, 0, 0),
3268+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_toReversed,
3269+
njs_array_prototype_to_reversed, 0, 0),
32663270

3267-
NJS_DECLARE_PROP_NATIVE("toSorted", njs_array_prototype_to_sorted, 1, 0),
3271+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_toSorted, njs_array_prototype_to_sorted,
3272+
1, 0),
32683273

3269-
NJS_DECLARE_PROP_NATIVE("toSpliced", njs_array_prototype_to_spliced, 2, 0),
3274+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_toSpliced,
3275+
njs_array_prototype_to_spliced, 2, 0),
32703276

3271-
NJS_DECLARE_PROP_NATIVE("toString", njs_array_prototype_to_string, 0, 0),
3277+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_toString, njs_array_prototype_to_string,
3278+
0, 0),
32723279

3273-
NJS_DECLARE_PROP_NATIVE("unshift", njs_array_prototype_unshift, 1, 0),
3280+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_unshift, njs_array_prototype_unshift, 1,
3281+
0),
32743282

3275-
NJS_DECLARE_PROP_NATIVE("values", njs_array_prototype_iterator_obj, 0,
3276-
NJS_ENUM_VALUES),
3283+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_values, njs_array_prototype_iterator_obj,
3284+
0, NJS_ENUM_VALUES),
32773285

3278-
{
3279-
.type = NJS_PROPERTY,
3280-
.name = njs_wellknown_symbol(NJS_SYMBOL_ITERATOR),
3281-
.u.value = njs_native_function2(njs_array_prototype_iterator_obj, 0,
3282-
NJS_ENUM_VALUES),
3283-
.writable = 1,
3284-
.configurable = 1,
3285-
},
3286+
NJS_DECLARE_PROP_NATIVE(njs_atom.vw_iterator,
3287+
njs_array_prototype_iterator_obj, 0,
3288+
NJS_ENUM_VALUES),
32863289
};
32873290

3288-
3289-
const njs_object_init_t njs_array_prototype_init = {
3291+
static const njs_object_init_t njs_array_prototype_init = {
32903292
njs_array_prototype_properties,
32913293
njs_nitems(njs_array_prototype_properties),
32923294
};
32933295

32943296

3295-
const njs_object_prop_t njs_array_instance_properties[] =
3297+
njs_object_prop_t njs_array_instance_properties[] =
32963298
{
3297-
NJS_DECLARE_PROP_HANDLER("length", njs_array_length, 0, 0,
3299+
NJS_DECLARE_PROP_HANDLER(njs_atom.vs_length, njs_array_length, 0, 0,
32983300
NJS_OBJECT_PROP_VALUE_W),
32993301
};
33003302

src/njs_array_buffer.c

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -139,27 +139,24 @@ njs_array_buffer_writable(njs_vm_t *vm, njs_array_buffer_t *buffer)
139139
}
140140

141141

142-
static const njs_object_prop_t njs_array_buffer_constructor_properties[] =
142+
static njs_object_prop_t njs_array_buffer_constructor_properties[] =
143143
{
144144
NJS_DECLARE_PROP_LENGTH(1),
145145

146-
NJS_DECLARE_PROP_NAME("ArrayBuffer"),
146+
NJS_DECLARE_PROP_NAME(njs_atom.vs_ArrayBuffer),
147147

148-
NJS_DECLARE_PROP_HANDLER("prototype", njs_object_prototype_create, 0, 0, 0),
148+
NJS_DECLARE_PROP_HANDLER(njs_atom.vs_prototype, njs_object_prototype_create,
149+
0, 0, 0),
149150

150-
{
151-
.type = NJS_ACCESSOR,
152-
.name = njs_wellknown_symbol(NJS_SYMBOL_SPECIES),
153-
.u.accessor = njs_getter(njs_array_buffer_get_this, 0),
154-
.writable = NJS_ATTRIBUTE_UNSET,
155-
.configurable = 1,
156-
},
151+
NJS_DECLARE_PROP_GETTER(njs_atom.vw_species,
152+
njs_array_buffer_get_this,
153+
0),
157154

158-
NJS_DECLARE_PROP_NATIVE("isView", njs_array_buffer_is_view, 1, 0),
155+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_isView, njs_array_buffer_is_view, 1, 0),
159156
};
160157

161158

162-
const njs_object_init_t njs_array_buffer_constructor_init = {
159+
static const njs_object_init_t njs_array_buffer_constructor_init = {
163160
njs_array_buffer_constructor_properties,
164161
njs_nitems(njs_array_buffer_constructor_properties),
165162
};
@@ -265,27 +262,24 @@ njs_array_buffer_detach(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs,
265262

266263

267264

268-
static const njs_object_prop_t njs_array_buffer_prototype_properties[] =
265+
static njs_object_prop_t njs_array_buffer_prototype_properties[] =
269266
{
270-
NJS_DECLARE_PROP_HANDLER("constructor",
267+
NJS_DECLARE_PROP_HANDLER(njs_atom.vs_constructor,
271268
njs_object_prototype_create_constructor,
272269
0, 0, NJS_OBJECT_PROP_VALUE_CW),
273270

274-
NJS_DECLARE_PROP_GETTER("byteLength",
271+
NJS_DECLARE_PROP_GETTER(njs_atom.vs_byteLength,
275272
njs_array_buffer_prototype_byte_length, 0),
276273

277-
NJS_DECLARE_PROP_NATIVE("slice", njs_array_buffer_prototype_slice, 2, 0),
274+
NJS_DECLARE_PROP_NATIVE(njs_atom.vs_slice, njs_array_buffer_prototype_slice,
275+
2, 0),
278276

279-
{
280-
.type = NJS_PROPERTY,
281-
.name = njs_wellknown_symbol(NJS_SYMBOL_TO_STRING_TAG),
282-
.u.value = njs_string("ArrayBuffer"),
283-
.configurable = 1,
284-
},
277+
NJS_DECLARE_PROP_VALUE(njs_atom.vw_toStringTag, njs_atom.vs_ArrayBuffer,
278+
NJS_OBJECT_PROP_VALUE_C),
285279
};
286280

287281

288-
const njs_object_init_t njs_array_buffer_prototype_init = {
282+
static const njs_object_init_t njs_array_buffer_prototype_init = {
289283
njs_array_buffer_prototype_properties,
290284
njs_nitems(njs_array_buffer_prototype_properties),
291285
};

0 commit comments

Comments
 (0)