bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#60237: 30.0.50; tree sitter core dumps when I edebug view a node


From: Mickey Petersen
Subject: bug#60237: 30.0.50; tree sitter core dumps when I edebug view a node
Date: Sun, 26 Feb 2023 09:41:18 +0000
User-agent: mu4e @VERSION@; emacs 30.0.50

Yuan Fu <casouri@gmail.com> writes:

>> GC has historically never called xmalloc, so the profiler will
>> likely
>> crash upon growing the mark stack as well.  I guess another
>> important
>> question is why ts_delete_parser is calling xmalloc.
>>
>
>> As you see, when we call ts_tree_delete, it calls
>> ts_subtree_release,
>> which in turn calls malloc (redirected into our xmalloc).  Is this
>> expected?  Can you look in the tree-sitter sources and verify that
>> this is OK?
>
> I had a look, and it seems legit. In tree-sitter, a TSTree (or more
> precisely, a Subtree) is just some inlined data plus a refcounted
> pointer to the complete data. This way multiple trees share common
> subtrees/nodes. Eg, when incrementally parsing, you pass in an old
> tree and get a new tree, these two trees will share the unchanged part
> of the tree.

Would that mean we could possibly preserve node instances -- either the real TS 
ones, or an Emacs-created facsimile -- between incremental parsing? That would 
be useful for refactoring.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]