Mercurial > vim
comparison src/proto/eval.pro @ 33160:4ecf54d709b3 v9.0.1862
patch 9.0.1862: Vim9 Garbage Collection issues
Commit: https://github.com/vim/vim/commit/e651e110c17656a263dd017b14c85b332163a58d
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Mon Sep 4 07:51:01 2023 +0200
patch 9.0.1862: Vim9 Garbage Collection issues
Problem: Vim9 Garbage Collection issues
Solution: Class members are garbage collected early leading to
use-after-free problems. Handle the garbage
collection of classes properly.
closes: #13019
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 04 Sep 2023 08:00:06 +0200 |
parents | 705d0e1329a5 |
children | 19cdfe768104 |
comparison
equal
deleted
inserted
replaced
33159:90b7e7236474 | 33160:4ecf54d709b3 |
---|---|
57 int set_ref_in_ht(hashtab_T *ht, int copyID, list_stack_T **list_stack); | 57 int set_ref_in_ht(hashtab_T *ht, int copyID, list_stack_T **list_stack); |
58 int set_ref_in_dict(dict_T *d, int copyID); | 58 int set_ref_in_dict(dict_T *d, int copyID); |
59 int set_ref_in_list(list_T *ll, int copyID); | 59 int set_ref_in_list(list_T *ll, int copyID); |
60 int set_ref_in_list_items(list_T *l, int copyID, ht_stack_T **ht_stack); | 60 int set_ref_in_list_items(list_T *l, int copyID, ht_stack_T **ht_stack); |
61 int set_ref_in_callback(callback_T *cb, int copyID); | 61 int set_ref_in_callback(callback_T *cb, int copyID); |
62 int set_ref_in_item_class(class_T *cl, int copyID, ht_stack_T **ht_stack, list_stack_T **list_stack); | |
62 int set_ref_in_item(typval_T *tv, int copyID, ht_stack_T **ht_stack, list_stack_T **list_stack); | 63 int set_ref_in_item(typval_T *tv, int copyID, ht_stack_T **ht_stack, list_stack_T **list_stack); |
63 char_u *echo_string_core(typval_T *tv, char_u **tofree, char_u *numbuf, int copyID, int echo_style, int restore_copyID, int composite_val); | 64 char_u *echo_string_core(typval_T *tv, char_u **tofree, char_u *numbuf, int copyID, int echo_style, int restore_copyID, int composite_val); |
64 char_u *echo_string(typval_T *tv, char_u **tofree, char_u *numbuf, int copyID); | 65 char_u *echo_string(typval_T *tv, char_u **tofree, char_u *numbuf, int copyID); |
65 int buf_byteidx_to_charidx(buf_T *buf, int lnum, int byteidx); | 66 int buf_byteidx_to_charidx(buf_T *buf, int lnum, int byteidx); |
66 int buf_charidx_to_byteidx(buf_T *buf, int lnum, int charidx); | 67 int buf_charidx_to_byteidx(buf_T *buf, int lnum, int charidx); |