summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2012-03-24Sync from internal Google development.Joshua Haberman
Many improvements, too many to mention. One significant perf regression warrants investigation: omitfp.parsetoproto2_googlemessage1.upb_jit: 343 -> 252 (-26.53) plain.parsetoproto2_googlemessage1.upb_jit: 334 -> 251 (-24.85) 25% regression for this benchmark is bad, but since I don't think there's any fundamental design issue that caused it I'm going to go ahead with the commit anyway. Can investigate and fix later. Other benchmarks were neutral or showed slight improvement.
2011-09-04Const invasion: large parts of upb made const-correct.Joshua Haberman
2011-08-31Header cleanup, clarify/correct comments for interfaces.Joshua Haberman
2011-07-31Fixed "make descriptorgen".Joshua Haberman
2011-07-15Directory restructure.Joshua Haberman
Includes are now via upb/foo.h. Files specific to the protobuf format are now in upb/pb (the core library is concerned with message definitions, handlers, and byte streams, but knows nothing about any particular serializationf format).
2011-02-13Moved upbc -> src/Joshua Haberman
2011-02-13Fix upbc and descriptorgen, and update descriptor.Joshua Haberman
2010-06-26Added constants for field names and numbers.Joshua Haberman
Not used in this branch, but it is used in the src-refactoring branch.
2010-01-16Removed union tag from types.Joshua Haberman
2010-01-15Remove struct keyword from all types, use typedef instead.Joshua Haberman
2010-01-15upb_parser -> upb_decoderJoshua Haberman
2010-01-04upb_array -> upb_arrayptr.Joshua Haberman
2010-01-02Move string representations back upb.h -> upb_data.h.Joshua Haberman
2010-01-02upb_string* -> upb_strptr, to follow aliasing rules.Joshua Haberman
2010-01-01Bugfixes: descriptorgen works without leaks!Joshua Haberman
2009-12-31Other than a couple memory leaks, "make descriptorgen" works again!Joshua Haberman
2009-12-28upbc compiles, but doesn't link due to unimplemented stuff in upb_data.Joshua Haberman
2009-12-28More incremental work; ported some of upbc.Joshua Haberman
2009-12-06Updated upbc to new dyncasts.Joshua Haberman
2009-12-05Add a test for circularly-linked descriptors.Joshua Haberman
The test currently triggers valgrind-detected memory errors.
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-28Overhaul defs to derive from a common base.Joshua Haberman
2009-11-27Update upbc to use self-describing upb_msg instead of void*.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-11-14Refactoring: split defs into their own file, move private parsing funcs out ↵Joshua Haberman
of .h file.
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-30Small bugfix: enums are int32, not uint32.Joshua Haberman
2009-08-27Fix upbc for upb_array API change.Joshua Haberman
2009-08-24Significant memory-management refactoring any Python extension.Joshua Haberman
2009-08-16Various fixes.Joshua Haberman
2009-08-15Finish upb_context thread-safety.Joshua Haberman
2009-08-15Add refcounting and thread-safety to message definitions.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-07Fixed memory leaks in upbc.Joshua Haberman
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-08-02Add a friendly comment at the top of auto-generated C files.Joshua Haberman
2009-08-01Fixed a bug in set_flags order in the compiler.Joshua Haberman
2009-07-23upb is fully self-hosting (except for text->descriptor)!Joshua Haberman
2009-07-23Make the compiler correctly define the top-level extern symbol.Joshua Haberman
2009-07-22Compiler finally works (except string arrays). Untested. Holy crap that ↵Joshua Haberman
was a lot of work.
2009-07-22More work on the compiler.Joshua Haberman
2009-07-21More work on the compiler.Joshua Haberman
2009-07-08More work on the compiler.Joshua Haberman
2009-07-08More compiler work.Joshua Haberman
2009-07-08More work on the compiler.Joshua Haberman
2009-07-08Directory restructuring.Joshua Haberman
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback