Joshua Haberman
ee84a7da16
Add (but do not activate) an SSE varint decoder.
14 years ago
Joshua Haberman
bd1dfd397e
Cache temporary string in the decoder, for better benchmark numbers.
14 years ago
Joshua Haberman
c358fff57f
Cache decoding objects for better benchmark results. (~15%)
...
I would prefer to find an API that is both fast and doesn't
require this, but we'll do this for now.
14 years ago
Joshua Haberman
f858a8f287
Precompute bit offset and bitmask for a small perf improvement.
14 years ago
Joshua Haberman
6e308b7e80
Fix upb's parsetostruct benchmark.
14 years ago
Joshua Haberman
0313826cef
Benchmarks compile and run again!
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
e170259e4a
Improved table benchmark accuracy and output formatting.
14 years ago
Joshua Haberman
f07cd8ff1d
Merge branch 'src-refactoring'
14 years ago
Joshua Haberman
8465e5e650
Gutted upb_msg a bit, re-adding only the essentials.
14 years ago
Joshua Haberman
9aa7e559d6
Fixes to decoder and textprinter: it works (for some input)!
...
A protobuf -> text stream for descriptor.proto
now outputs the same text as proto2.
14 years ago
Joshua Haberman
02a8cdfff2
Fixes to decoder, stdio, textprinter.
14 years ago
Joshua Haberman
93099cccd1
upb_strstream compiles again.
...
That covers all source files except upb_msg!
14 years ago
Joshua Haberman
8536bbc5f8
Some work on upb_msg, but it has a long way to go.
14 years ago
Joshua Haberman
d98db7cb56
Textprinter is compiling again.
14 years ago
Joshua Haberman
fbb9fd35e0
Improve comments in headers, to better explain core interfaces.
14 years ago
Joshua Haberman
5af1ade543
More work on textprinter.
14 years ago
Joshua Haberman
2c24cbb108
More work on decoder and stdio bytesrc/bytesink.
14 years ago
Joshua Haberman
93381f1411
Decoder compiles again! But probably doesn't work.
14 years ago
Joshua Haberman
fe659c8c93
Getting closer to a decoder that could actually compile and work.
14 years ago
Joshua Haberman
58a70b55c6
Decoder code structure is mostly in-place.
14 years ago
Joshua Haberman
5511aa16b0
Begin porting old decoder to new interfaces.
...
Doesn't build yet.
14 years ago
Joshua Haberman
2ea9737e5d
Added test_stream.c for testing upb_stream.h.
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
e9b9bbf216
Add INLINE to a few identifiers.
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
b471ca6b81
The last major revision to the upb_stream protocol.
...
Sources and sinks communicate by means of a
upb_handlers object, which encapsulates a set of
handler callbacks and will possibly offer richer
semantics in the future like giving specific
fields different callbacks.
The upb_handlers protocol supports delegation, so
sets of handlers can be written in reusable ways.
For example, if a set of handlers is written to
handle a specific .proto type, those handlers can
be used whether that type is at the top level or
whether it is a sub-message of a higher-level type.
Delegation allows the streaming protocol to
properly compose.
14 years ago
Joshua Haberman
2a7f51f3fd
Change upb_src to use push-based interface.
...
Unfortunately my previous detailed commit message was
lost somehow by git or vi. Will have to explain in more
detail at a later date the rationale for this change.
The build will be broken until I port the old decoder
to this new interface.
14 years ago
Joshua Haberman
a9e998159c
Fleshed out upb_msg: test_vs_proto2 compiles but fails.
15 years ago
Joshua Haberman
4e7dc9d8b6
Re-add a simplified upb_msg.
15 years ago
Joshua Haberman
2a617bf12c
Optimizations and bugfix to benchmark.
15 years ago
Joshua Haberman
372c8f0487
Fixes to benchmark.
15 years ago
Joshua Haberman
851c6a6915
strstream header file also.
15 years ago
Joshua Haberman
e30260bb0a
upb_stringsrc: upb_bytesrc for strings.
15 years ago
Joshua Haberman
678799082b
Stream decoding benchmark.
15 years ago
Joshua Haberman
672f4617e2
Lua support for fielddefs and getting their properties.
15 years ago
Joshua Haberman
d3d939ab7f
Fix the case where no def is found for lookup.
15 years ago
Joshua Haberman
21ee24a730
Updated Lua extension to handle fielddefs.
15 years ago
Joshua Haberman
71ac83fe7a
Make object cache weak.
15 years ago
Joshua Haberman
4a38d38f96
Use a weak table to cache objects.
...
This simplifies things considerably, and is more
in line with common practice.
15 years ago
Joshua Haberman
f6bc538f31
Prevent abort() if add_descriptorproto() is called twice.
15 years ago
Joshua Haberman
904a79cec3
Fix bugs in lookup and getdefs.
15 years ago
Joshua Haberman
5871ed0d02
First go at Lua bindings.
15 years ago