Lines Matching refs:var_ref
765 JSVarRef *var_ref; /* if != NULL, reference to the variable */ member
836 JSVarRef *var_ref; /* JS_PROP_VARREF */ member
1208 static void free_var_ref(JSRuntime *rt, JSVarRef *var_ref);
5189 free_var_ref(rt, pr->u.var_ref); in free_property()
5247 static void free_var_ref(JSRuntime *rt, JSVarRef *var_ref) in free_var_ref() argument
5249 if (var_ref) { in free_var_ref()
5250 assert(var_ref->header.ref_count > 0); in free_var_ref()
5251 if (--var_ref->header.ref_count == 0) { in free_var_ref()
5252 if (var_ref->is_detached) { in free_var_ref()
5253 JS_FreeValueRT(rt, var_ref->value); in free_var_ref()
5254 remove_gc_object(&var_ref->header); in free_var_ref()
5256 list_del(&var_ref->header.link); /* still on the stack */ in free_var_ref()
5258 js_free_rt(rt, var_ref); in free_var_ref()
5354 JSVarRef *var_ref = var_refs[i]; in js_bytecode_function_mark() local
5355 if (var_ref && var_ref->is_detached) { in js_bytecode_function_mark()
5356 mark_func(rt, &var_ref->header); in js_bytecode_function_mark()
5624 if (pr->u.var_ref->is_detached) { in mark_children()
5627 mark_func(rt, &pr->u.var_ref->header); in mark_children()
5661 JSVarRef *var_ref = (JSVarRef *)gp; in mark_children() local
5663 assert(var_ref->is_detached); in mark_children()
5664 JS_MarkValue(rt, *var_ref->pvalue, mark_func); in mark_children()
5960 if (me->export_type == JS_EXPORT_TYPE_LOCAL && me->u.local.var_ref) { in JS_ComputeMemoryUsage()
5963 compute_value_size(me->u.local.var_ref->value, hp); in JS_ComputeMemoryUsage()
7163 JSValue val = *pr->u.var_ref->pvalue; in JS_GetPropertyInternal()
7514 JSVarRef *var_ref = p->prop[i].u.var_ref; in JS_GetOwnPropertyNamesInternal() local
7515 if (unlikely(JS_IsUninitialized(*var_ref->pvalue))) { in JS_GetOwnPropertyNamesInternal()
7702 JSValue val = *pr->u.var_ref->pvalue; in JS_GetOwnPropertyInternal()
7720 if (unlikely(JS_IsUninitialized(*pr->u.var_ref->pvalue))) { in JS_GetOwnPropertyInternal()
8477 set_value(ctx, pr->u.var_ref->pvalue, val); in JS_SetPropertyInternal()
9087 free_var_ref(ctx->rt, pr->u.var_ref); in JS_DefineProperty()
9151 if (!js_same_value(ctx, val, *pr->u.var_ref->pvalue)) in JS_DefineProperty()
9155 set_value(ctx, pr->u.var_ref->pvalue, in JS_DefineProperty()
9164 val1 = JS_DupValue(ctx, *pr->u.var_ref->pvalue); in JS_DefineProperty()
9165 free_var_ref(ctx->rt, pr->u.var_ref); in JS_DefineProperty()
11799 printf("[varref %p]", (void *)pr->u.var_ref); in JS_DumpObject()
15037 JSVarRef *var_ref; in js_build_mapped_arguments() local
15038 var_ref = get_var_ref(ctx, sf, i, TRUE); in js_build_mapped_arguments()
15039 if (!var_ref) in js_build_mapped_arguments()
15043 free_var_ref(ctx->rt, var_ref); in js_build_mapped_arguments()
15046 pr->u.var_ref = var_ref; in js_build_mapped_arguments()
15694 JSVarRef *var_ref; in get_var_ref() local
15698 var_ref = list_entry(el, JSVarRef, header.link); in get_var_ref()
15699 if (var_ref->var_idx == var_idx && var_ref->is_arg == is_arg) { in get_var_ref()
15700 var_ref->header.ref_count++; in get_var_ref()
15701 return var_ref; in get_var_ref()
15705 var_ref = js_malloc(ctx, sizeof(JSVarRef)); in get_var_ref()
15706 if (!var_ref) in get_var_ref()
15708 var_ref->header.ref_count = 1; in get_var_ref()
15709 var_ref->is_detached = FALSE; in get_var_ref()
15710 var_ref->is_arg = is_arg; in get_var_ref()
15711 var_ref->var_idx = var_idx; in get_var_ref()
15712 list_add_tail(&var_ref->header.link, &sf->var_ref_list); in get_var_ref()
15714 var_ref->pvalue = &sf->arg_buf[var_idx]; in get_var_ref()
15716 var_ref->pvalue = &sf->var_buf[var_idx]; in get_var_ref()
15717 var_ref->value = JS_UNDEFINED; in get_var_ref()
15718 return var_ref; in get_var_ref()
15741 JSVarRef *var_ref; in js_closure2() local
15744 var_ref = get_var_ref(ctx, sf, cv->var_idx, cv->is_arg); in js_closure2()
15745 if (!var_ref) in js_closure2()
15748 var_ref = cur_var_refs[cv->var_idx]; in js_closure2()
15749 var_ref->header.ref_count++; in js_closure2()
15751 var_refs[i] = var_ref; in js_closure2()
15944 JSVarRef *var_ref; in close_var_refs() local
15948 var_ref = list_entry(el, JSVarRef, header.link); in close_var_refs()
15949 var_idx = var_ref->var_idx; in close_var_refs()
15950 if (var_ref->is_arg) in close_var_refs()
15951 var_ref->value = JS_DupValueRT(rt, sf->arg_buf[var_idx]); in close_var_refs()
15953 var_ref->value = JS_DupValueRT(rt, sf->var_buf[var_idx]); in close_var_refs()
15954 var_ref->pvalue = &var_ref->value; in close_var_refs()
15956 var_ref->is_detached = TRUE; in close_var_refs()
15957 add_gc_object(rt, &var_ref->header, JS_GC_OBJ_TYPE_VAR_REF); in close_var_refs()
15964 JSVarRef *var_ref; in close_lexical_var() local
15968 var_ref = list_entry(el, JSVarRef, header.link); in close_lexical_var()
15969 if (var_idx == var_ref->var_idx && var_ref->is_arg == is_arg) { in close_lexical_var()
15970 var_ref->value = JS_DupValue(ctx, sf->var_buf[var_idx]); in close_lexical_var()
15971 var_ref->pvalue = &var_ref->value; in close_lexical_var()
15972 list_del(&var_ref->header.link); in close_lexical_var()
15974 var_ref->is_detached = TRUE; in close_lexical_var()
15975 add_gc_object(ctx->rt, &var_ref->header, JS_GC_OBJ_TYPE_VAR_REF); in close_lexical_var()
17213 JSVarRef *var_ref; in JS_CallInternal() local
17224 var_ref = var_refs[idx]; in JS_CallInternal()
17225 var_ref->header.ref_count++; in JS_CallInternal()
17227 var_ref = get_var_ref(ctx, sf, idx, opcode == OP_make_arg_ref); in JS_CallInternal()
17228 if (!var_ref) in JS_CallInternal()
17234 free_var_ref(rt, var_ref); in JS_CallInternal()
17237 pr->u.var_ref = var_ref; in JS_CallInternal()
27056 me->u.local.var_ref) { in js_mark_module_def()
27057 mark_func(rt, &me->u.local.var_ref->header); in js_mark_module_def()
27082 free_var_ref(ctx->rt, me->u.local.var_ref); in js_free_module_def()
27237 set_value(ctx, me->u.local.var_ref->pvalue, val); in JS_SetModuleExport()
27581 JSVarRef *var_ref; /* EXPORTED_NAME_NORMAL */ member
27743 if (res_me->u.local.var_ref) { in js_build_module_ns()
27744 en->u.var_ref = res_me->u.local.var_ref; in js_build_module_ns()
27748 en->u.var_ref = p1->u.func.var_refs[res_me->u.local.var_idx]; in js_build_module_ns()
27763 JSVarRef *var_ref = en->u.var_ref; in js_build_module_ns() local
27769 var_ref->header.ref_count++; in js_build_module_ns()
27770 pr->u.var_ref = var_ref; in js_build_module_ns()
27845 JSVarRef *var_ref; in js_create_module_var() local
27846 var_ref = js_malloc(ctx, sizeof(JSVarRef)); in js_create_module_var()
27847 if (!var_ref) in js_create_module_var()
27849 var_ref->header.ref_count = 1; in js_create_module_var()
27851 var_ref->value = JS_UNINITIALIZED; in js_create_module_var()
27853 var_ref->value = JS_UNDEFINED; in js_create_module_var()
27854 var_ref->pvalue = &var_ref->value; in js_create_module_var()
27855 var_ref->is_detached = TRUE; in js_create_module_var()
27856 add_gc_object(ctx->rt, &var_ref->header, JS_GC_OBJ_TYPE_VAR_REF); in js_create_module_var()
27857 return var_ref; in js_create_module_var()
27892 JSVarRef *var_ref; in js_create_module_bytecode_function() local
27894 var_ref = js_create_module_var(ctx, cv->is_lexical); in js_create_module_bytecode_function()
27895 if (!var_ref) in js_create_module_bytecode_function()
27898 printf("local %d: %p\n", i, var_ref); in js_create_module_bytecode_function()
27900 var_refs[i] = var_ref; in js_create_module_bytecode_function()
27917 JSVarRef *var_ref; in js_create_module_function() local
27929 var_ref = js_create_module_var(ctx, FALSE); in js_create_module_function()
27930 if (!var_ref) in js_create_module_function()
27932 me->u.local.var_ref = var_ref; in js_create_module_function()
27960 JSVarRef **var_refs, *var_ref; in js_link_module() local
28061 var_ref = js_create_module_var(ctx, TRUE); in js_link_module()
28062 if (!var_ref) { in js_link_module()
28066 set_value(ctx, &var_ref->value, val); in js_link_module()
28067 var_refs[mi->var_idx] = var_ref; in js_link_module()
28072 var_ref = res_me->u.local.var_ref; in js_link_module()
28073 if (!var_ref) { in js_link_module()
28075 var_ref = p1->u.func.var_refs[res_me->u.local.var_idx]; in js_link_module()
28077 var_ref->header.ref_count++; in js_link_module()
28078 var_refs[mi->var_idx] = var_ref; in js_link_module()
28080 printf("local export (var_ref=%p)\n", var_ref); in js_link_module()
28092 var_ref = var_refs[me->u.local.var_idx]; in js_link_module()
28093 var_ref->header.ref_count++; in js_link_module()
28094 me->u.local.var_ref = var_ref; in js_link_module()
54478 JSVarRef *var_ref = NULL; in JS_GetClosureVariables() local
54480 var_ref = func->u.func.var_refs[idx]; in JS_GetClosureVariables()
54482 if (var_ref == NULL || var_ref->pvalue == NULL) { in JS_GetClosureVariables()
54485 JSValue var_val = *var_ref->pvalue; in JS_GetClosureVariables()