Joshua Haberman
3a758132b4
Added proper support for enum default values.
14 years ago
Joshua Haberman
fd184f0df2
Major work on Lua extension and default values.
...
Default values are now supported, and the Lua extension
can now create and modify individual protobuf objects.
14 years ago
Joshua Haberman
61e5d367ff
Change the API for getting the bootstrapped defs.
...
The symtab that contains them is now hidden, and
you can look them up by name but there is no access
to the symtab itself, so there is no risk of
mutating it (by extending it, adding other defs
to it, etc).
14 years ago
Joshua Haberman
d8b2154862
First version of an assembly language decoder.
...
It is slower than the C decoder for now because it
falls off the fast path too often. But it can
successfully decode varints, fixed32 and fixed64.
14 years ago
Joshua Haberman
f1e1cc4695
Split inttable into a hash part and an array part.
...
upb_inttable() now supports a "compact" operation that will
decide on an array size and put all entries with small enough
keys into the array part for faster lookup.
Also exposed the upb_itof_ent structure and put a few useful
values there, so they are one fewer pointer chase away.
14 years ago
Joshua Haberman
4f9aeee6c7
More completely fixed the 0-key thing.
...
Unfortunately this degrades hash table lookup performance by
about 8%, which affects the streaming benchmark for googlemessage1
by about 5%. We could get this back at the cost of some memory,
but it would be nice to avoid that.
14 years ago
Joshua Haberman
6881b2c5cb
Added proper error about broken 0-values for enums.
14 years ago
Joshua Haberman
4dce5ab709
Fix upbc and descriptorgen, and update descriptor.
14 years ago
Joshua Haberman
6bdbb45e88
Merged core/ and stream/ -> src/. The split wasn't worth it.
14 years ago
Joshua Haberman
f858a8f287
Precompute bit offset and bitmask for a small perf improvement.
14 years ago
Joshua Haberman
4667ed4be9
All tests pass again, valgrind-clean! Next up: benchmarks.
14 years ago
Joshua Haberman
806ba1c80d
Another round of fixes.
...
test_vs_proto2.googlemessage1 passes again,
with no memory leaks!
14 years ago
Joshua Haberman
3affb31926
Tons of work: we're close to passing test_vs_proto2 again.
14 years ago
Joshua Haberman
93381f1411
Decoder compiles again! But probably doesn't work.
14 years ago
Joshua Haberman
c9df91b04a
upb bootstraps again! and with no memory leaks!
14 years ago
Joshua Haberman
a695b92cce
Debugging test_def, it's close to working again!
14 years ago
Joshua Haberman
1dea81b1c2
Interface refinement: rename some constants.
...
* UPB_STOP -> UPB_BREAK, better represents breaking
out of a parsing loop.
* UPB_STATUS_OK -> UPB_OK, for all status codes, more
concise at no readability cost (perhaps an improvement).
14 years ago
Joshua Haberman
a38742bbe1
A few minor changes to the streaming protocol.
...
1. the start and end callbacks can now return
a upb_flow_t and set a status message.
2. clarified some semantics around passing an
error status back from the callbacks.
14 years ago
Joshua Haberman
bcc688a303
upb_def compiles again!
14 years ago
Joshua Haberman
4559918090
More work on upb_src.
14 years ago
Joshua Haberman
db512df98e
A bunch of work on upb_def and upb_value.
14 years ago
Joshua Haberman
a9e998159c
Fleshed out upb_msg: test_vs_proto2 compiles but fails.
15 years ago
Joshua Haberman
372c8f0487
Fixes to benchmark.
15 years ago
Joshua Haberman
21ee24a730
Updated Lua extension to handle fielddefs.
15 years ago
Joshua Haberman
f6bc538f31
Prevent abort() if add_descriptorproto() is called twice.
15 years ago
Joshua Haberman
5871ed0d02
First go at Lua bindings.
15 years ago
Joshua Haberman
4b6c8b6b23
Fixed bugs in textoutput.
...
Text output from descriptor.proto is now
identical to protoc!
15 years ago
Joshua Haberman
7a6a702792
Allow static upb_strings.
...
This can allow strings to reference static data, and
reduced the memory footprint of test_def by about 10%
(3k).
15 years ago
Joshua Haberman
c7a95061a7
Successfully bootstraps!!
15 years ago
Joshua Haberman
ae0beee285
Fixed upb_string error with strange vsnprintf() behavior.
15 years ago
Joshua Haberman
db6c7387bc
Incremental progress towards getting upb_def to bootstrap.
15 years ago
Joshua Haberman
67b16cbe5c
Basic test_def links and passes no-op test!
15 years ago
Joshua Haberman
2ef013126c
Fleshed out upb_string further. Now upb_def's only
...
unresolved references are upb_src.
15 years ago
Joshua Haberman
28ec9a1fa0
Split src/ into core/ and stream/.
15 years ago
Joshua Haberman
be5ddd8a64
Tweaks to upb_src/upb_sink interfaces.
15 years ago
Joshua Haberman
209dce5eb0
Defined the function for getting a upb_symtab for descriptor.proto.
15 years ago
Joshua Haberman
9d051254b3
Implemented upb_baredecoder, for bootstrapping.
15 years ago
Joshua Haberman
5ea7f943f9
upb_def now theoretically works again.
15 years ago
Joshua Haberman
9c9b464553
Implement upb_deflist_qualify.
15 years ago
Joshua Haberman
956fc84150
More work on upb_def.
15 years ago
Joshua Haberman
a417be0f87
More work on upb_def.
15 years ago
Joshua Haberman
229fcf7119
upb_def compiles again, though with lots of #if 0.
15 years ago
Joshua Haberman
6bf58a7328
Incremental progress on upb_def.
15 years ago
Joshua Haberman
35e5c248be
Work to make upb_def consume a upb_src.
15 years ago
Joshua Haberman
cfe0ef08c1
Changes to upb_def to stop using upb_msg.
15 years ago
Joshua Haberman
d5566c6038
Remove struct keyword from all types, use typedef instead.
15 years ago
Joshua Haberman
9116c697f8
upb_parser -> upb_decoder
15 years ago
Joshua Haberman
6a8dfa5f26
upb_array -> upb_arrayptr.
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