Joshua Haberman
527c094500
Reduced the complexity of the cbparser interface.
15 years ago
Joshua Haberman
d751973758
Ported/fixed tests to new data types.
15 years ago
Joshua Haberman
6a8dfa5f26
upb_array -> upb_arrayptr.
15 years ago
Joshua Haberman
15604083c7
Move string representations back upb.h -> upb_data.h.
15 years ago
Joshua Haberman
fa5710f1ca
upb_string* -> upb_strptr, to follow aliasing rules.
15 years ago
Joshua Haberman
ece08710a6
Bugfixes: descriptorgen works without leaks!
15 years ago
Joshua Haberman
2fdc9df97e
Other than a couple memory leaks, "make descriptorgen" works again!
15 years ago
Joshua Haberman
c33d51581a
upbc compiles and links! But probably doesn't work yet.
15 years ago
Joshua Haberman
f6cc21bc2d
Doesn't compile, but all the code to be adapted is there.
15 years ago
Joshua Haberman
ab0f2b8bba
Moved string library functions to .c instead of inlined, because they're not that small.
15 years ago
Joshua Haberman
3f0d126b2a
Only remaining undefined symbol is upb_msg_parsestr.
15 years ago
Joshua Haberman
cc39625767
Getting closer, only a few functions undefined now.
15 years ago
Joshua Haberman
afe911ea00
Removed upb_mm.
15 years ago
Joshua Haberman
8978661a76
upbc compiles, but doesn't link due to unimplemented stuff in upb_data.
15 years ago
Joshua Haberman
e5debfa1c9
More incremental work; ported some of upbc.
15 years ago
Joshua Haberman
602e093504
Core compiles, though with warnings, and is still incomplete.
15 years ago
Joshua Haberman
f49f7f94c1
More progress, upb_data and upb_def compile (but are incomplete).
15 years ago
Joshua Haberman
a230cf5053
More work.
15 years ago
Joshua Haberman
7dd113baa8
Added upb_data.*, left out of last commit.
15 years ago
Joshua Haberman
c241976485
In the midst of a major refactoring.
15 years ago
Joshua Haberman
c6cba2af37
Clarified comment.
15 years ago
Joshua Haberman
dc4246db78
Refined interface of upb_symtab.
15 years ago
Joshua Haberman
0a6fc5fad3
Truly fixed type cyclic refcounting.
15 years ago
Joshua Haberman
e15f834a91
Circular references truly work now, along with a test.
...
One simplification to come.
15 years ago
Joshua Haberman
08b4a91204
Add a test for circularly-linked descriptors.
...
The test currently triggers valgrind-detected memory errors.
15 years ago
Joshua Haberman
651c92ab33
Scheme for collecting circular refs.
...
"make descriptorgen" is now valgrind-clean again.
15 years ago
Joshua Haberman
18291eedc3
Make defs refcounted, rename upb_context->upbsymtab.
...
There is currently a memory leak when type definitions
form cycles. This will need to be dealt with.
15 years ago
Joshua Haberman
a95ab58e79
Overhaul defs to derive from a common base.
15 years ago
Joshua Haberman
246a36998b
WIP of cleaning up defs.
15 years ago
Joshua Haberman
d160380736
Update upbc to use self-describing upb_msg instead of void*.
15 years ago
Joshua Haberman
6191fe3ae2
Reference-count upb_msgdef and upb_enumdef.
...
The context owns a reference on each def, defs own references
on defs they reference, and msgs own refs on their def.
15 years ago
Joshua Haberman
9e3f5e343b
Make upb_msgdef own all its data.
...
This is in anticipation of making upb_msgdef's easy
to dup. This involved removing all traces of any
descriptors from the defs.
15 years ago
Joshua Haberman
f231856c48
Defined Pick Parser interface.
15 years ago
Joshua Haberman
868f118797
Changed parse API to know about msgdefs.
...
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.
15 years ago
Joshua Haberman
7cde43ea0a
Renamed upb_msg_fielddef -> upb_fielddef, upb_enum -> upb_enumdef.
15 years ago
Joshua Haberman
e252432a41
Refactoring: split defs into their own file, move private parsing funcs out of .h file.
15 years ago
Joshua Haberman
33a68acb14
Use a status object for errors so a message can be returned.
...
Also delay deletion of subfields until the entire message is
deleted.
15 years ago
Joshua Haberman
1fe9414757
Change upb_msg to work with messages that have 0 fields.
16 years ago
Joshua Haberman
d05eac2890
Properly free dynamic memory that has not been reused during parsing.
16 years ago
Joshua Haberman
a022e6ebdb
Fixes for more discerning compilers.
16 years ago
Joshua Haberman
9b67b322da
Small C++ header fixes.
16 years ago
Joshua Haberman
085aa44fcd
Small bugfix.
16 years ago
Joshua Haberman
cd2f77d392
Incremental improvements to cbparser, and a test.
16 years ago
Joshua Haberman
f6ee945409
Renamed upb_stream_parser -> upb_cbparser, and API cleanup.
16 years ago
Joshua Haberman
f17ed90f77
Some cleanup and reformatting, fixed the benchmarks.
16 years ago
Joshua Haberman
040f7e6ba2
Significant memory-management refactoring any Python extension.
16 years ago
Joshua Haberman
cfd67dda49
Various fixes.
16 years ago
Joshua Haberman
1e82f0ebd6
A few more thread-safety fixes.
16 years ago
Joshua Haberman
7fa19a3f95
Finish upb_context thread-safety.
16 years ago
Joshua Haberman
71d82d06d1
Add refcounting and thread-safety to message definitions.
16 years ago