Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

epic: update C extension to use the TypedData API #2808

Closed
16 tasks done
flavorjones opened this issue Mar 3, 2023 · 8 comments
Closed
16 tasks done

epic: update C extension to use the TypedData API #2808

flavorjones opened this issue Mar 3, 2023 · 8 comments
Labels
help wanted topic/memory Segfaults, memory leaks, valgrind testing, etc.

Comments

@flavorjones
Copy link
Member

flavorjones commented Mar 3, 2023

The old Data API has been soft deprecated for a long time. The TypedData API is a bit more strict and opens the door for compaction, write barriers, memsize, etc.

Here are the classes that need to be updated:

cc @casperisfine

@flavorjones flavorjones added topic/memory Segfaults, memory leaks, valgrind testing, etc. help wanted labels Mar 3, 2023
@flavorjones
Copy link
Member Author

If anyone wants to lend a hand, look at the changes in #2806 for guidance on what to do.

@flavorjones flavorjones changed the title update C extension to use the TypedData API epic: update C extension to use the TypedData API Mar 3, 2023
@casperisfine
Copy link

cc @etiennebarrie ^

@flavorjones
Copy link
Member Author

I'm grabbing XPathContext

@flavorjones
Copy link
Member Author

I'm grabbing NodeSet

@casperisfine
Copy link

Grabing XML::SAX::Parser with @etiennebarrie

flavorjones added a commit that referenced this issue Mar 7, 2023
See #2808

Note that I chose to make a new public function,
`noko_xml_node_set_unwrap`, to allow other files to unwrap node
sets. This differs from the tactic adopted in #2807 / cb1557d which
was to make public the data type.

We should probably decide which is the better approach and
standardize on it.
@flavorjones
Copy link
Member Author

Renaming some of the C functions means that some memleak suppressions are coming up now. I'll fix that and then close this.

@flavorjones
Copy link
Member Author

Amazing, thank you @etiennebarrie and @byroot !

@byroot
Copy link
Contributor

byroot commented Mar 8, 2023

🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted topic/memory Segfaults, memory leaks, valgrind testing, etc.
Projects
None yet
Development

No branches or pull requests

4 participants
@flavorjones @byroot @casperisfine and others