}
-njs_index_t
-njs_parser_index(njs_parser_t *parser, uint32_t scope)
-{
- nxt_uint_t n;
- njs_index_t index;
-
- /* Skip absolute scope. */
- n = scope - NJS_INDEX_CACHE;
-
- index = parser->index[n];
- parser->index[n] += sizeof(njs_value_t);
-
- index |= scope;
-
- nxt_thread_log_debug("GET %p", index);
-
- return index;
-}
-
-
nxt_bool_t
njs_parser_has_side_effect(njs_parser_node_t *node)
{
njs_parser_scope_t *scope;
nxt_array_t *index_cache;
- njs_index_t index[NJS_SCOPES - NJS_INDEX_CACHE];
uint8_t branch; /* 1 bit */
njs_token_t njs_parser_property_token(njs_parser_t *parser);
njs_token_t njs_parser_token(njs_parser_t *parser);
nxt_int_t njs_parser_string_create(njs_vm_t *vm, njs_value_t *value);
-njs_index_t njs_parser_index(njs_parser_t *parser, uint32_t scope);
njs_ret_t njs_variable_reference(njs_vm_t *vm, njs_parser_t *parser,
njs_parser_node_t *node);
njs_variable_t *njs_variable_get(njs_vm_t *vm, njs_parser_node_t *node,
parser->code_size = sizeof(njs_vmcode_stop_t);
parser->scope_offset = NJS_INDEX_GLOBAL_OFFSET;
- parser->index[NJS_SCOPE_GLOBAL - NJS_INDEX_CACHE] = NJS_INDEX_GLOBAL_OFFSET;
node = njs_parser(vm, parser);
if (nxt_slow_path(node == NULL)) {