-
-
Notifications
You must be signed in to change notification settings - Fork 904
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
Labels
Comments
flavorjones
added
topic/memory
Segfaults, memory leaks, valgrind testing, etc.
help wanted
labels
Mar 3, 2023
If anyone wants to lend a hand, look at the changes in #2806 for guidance on what to do. |
flavorjones
changed the title
update C extension to use the
epic: update C extension to use the Mar 3, 2023
TypedData
APITypedData
API
cc @etiennebarrie ^ |
I'm grabbing XPathContext |
flavorjones
added a commit
that referenced
this issue
Mar 3, 2023
flavorjones
added a commit
that referenced
this issue
Mar 6, 2023
This was referenced Mar 6, 2023
casperisfine
pushed a commit
to casperisfine/nokogiri
that referenced
this issue
Mar 7, 2023
Ref: sparklemotion#2808 Since it has no mark function, we can enable write barrier without changing any code.
I'm grabbing NodeSet |
Grabing |
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.
This was referenced Mar 7, 2023
Renaming some of the C functions means that some memleak suppressions are coming up now. I'll fix that and then close this. |
Amazing, thank you @etiennebarrie and @byroot ! |
🎉 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
The old
Data
API has been soft deprecated for a long time. TheTypedData
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:
XSLT::Stylesheet
Migrate Nokogiri::XSLT::Stylesheet to the TypedData API #2806XML::XPathContext
migrate XML::XPathContext to the TypedData API #2809XML::Document
Migrate Nokogiri::XML::Document to the TypedData API #2807XML::Reader
Migrate XML::Reader to the TypedData API #2810Nokogiri::EncodingHandler
ext: migrate Nokogiri::EncodingHandler to TypedData API #2811XML::ElementContent
Migrate XML::ElementContent to the TypedData API #2814XML::Schema
Migrate XML::Schema to the TypedData API #2815XML::RelaxNG
Migrate XML::RelaxNG to the TypedData API #2816HTML4::ElementDescription
Migrate HTM4::ElementDescription to TypedData #2821XML::SAX::Parser
Migrate XML::SAX::Parser to the TypedData API #2823XML::NodeSet
ext: migrate NodeSet to TypedData api #2824XML::SAX::ParserContext
andHTML4::SAX::ParserContext
migrate SAX push parsers and parser contexts to TypedData API #2826XML::SAX::PushParser
andHTML4::SAX::PushParser
migrate SAX push parsers and parser contexts to TypedData API #2826WB_PROTECTED
on all of the classes that don't declare mark functions miscellaneous TypedData changes #2825cc @casperisfine
The text was updated successfully, but these errors were encountered: