summaryrefslogtreecommitdiff
path: root/src/upb.h
AgeCommit message (Collapse)Author
2009-12-28More incremental work; ported some of upbc.Joshua Haberman
2009-12-06Truly fixed type cyclic refcounting.Joshua Haberman
2009-12-06Circular references truly work now, along with a test.Joshua Haberman
One simplification to come.
2009-12-05Scheme for collecting circular refs.Joshua Haberman
"make descriptorgen" is now valgrind-clean again.
2009-12-05Make defs refcounted, rename upb_context->upbsymtab.Joshua Haberman
There is currently a memory leak when type definitions form cycles. This will need to be dealt with.
2009-11-27WIP of cleaning up defs.Joshua Haberman
2009-11-26Make upb_msgdef own all its data.Joshua Haberman
This is in anticipation of making upb_msgdef's easy to dup. This involved removing all traces of any descriptors from the defs.
2009-11-14Changed parse API to know about msgdefs.Joshua Haberman
This should make it both easier to use and easier to optimize, in exchange for a small amount of generality. In practice, any remotely normal case is still very natural.
2009-11-14Renamed upb_msg_fielddef -> upb_fielddef, upb_enum -> upb_enumdef.Joshua Haberman
2009-09-26Use a status object for errors so a message can be returned.Joshua Haberman
Also delay deletion of subfields until the entire message is deleted.
2009-08-27Some cleanup and reformatting, fixed the benchmarks.Joshua Haberman
2009-08-24Significant memory-management refactoring any Python extension.Joshua Haberman
2009-08-12Refactoring: unify upb_msg.Joshua Haberman
The cost is that a upb_msg will now always have an overhead of 2*sizeof(void*). This is comparable to proto2 overhead. The benefit is that upb_msg is now self-describing, and read-only algorithms can now operate on a upb_msg regardless of the memory-management scheme. Also, upb_array and upb_string now know inherently if they own their associated memory, and upb_array has a generic pointer for memory management purposes like upb_msg does.
2009-08-07Major refactoring of upb_msg. Temporary functionality regression.Joshua Haberman
There is significant refactoring here, as well as some more trivial name changes. upb_msg has become upb_msgdef, to reflect the fact that a upb_msg is not *itself* a message, it describes a message. There are other renamings, such as upb_parse_state -> upb_stream_parser. More significantly, the upb_msg class and parser have been refactored to reflect my recent realization about how memory management should work. upb_msg now has no memory management, and a memory mangement scheme (that works beautifully with multiple language runtimes) will be layered on top of it. This iteration has the new, read-only upb_msg. upb_mm_msg (a memory-managed message class) will come in the next change.
2009-07-29Header file rearranging/prettifying.Joshua Haberman
2009-07-22Compiler finally works (except string arrays). Untested. Holy crap that ↵Joshua Haberman
was a lot of work.
2009-07-21Remove extraneous string include.Joshua Haberman
2009-07-09Implemented upb_msg_eql.Joshua Haberman
2009-07-08Bugfix and additions to upb.h and upb_string.hJoshua Haberman
2009-07-08Directory restructuring.Joshua Haberman
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback