Joshua Haberman
19517cc6f3
Switch to non-branching varint decoder.
14 years ago
Josh Haberman
b796c1b317
Update copyright to be Google Inc.
...
This doesn't reflect any material change in
how I will be working on upb, and I have no
problem making this change. It's still open
source under the BSD license, and I'll still
be working on it well beyond the hours that
constitute a normal job.
14 years ago
Joshua Haberman
0c6786c6fa
Split varint decoders into separate .h file.
...
This makes it easier to benchmark and test the
multiple possible implementations of varint decoding.
14 years ago
Joshua Haberman
ee84a7da16
Add (but do not activate) an SSE varint decoder.
14 years ago
Joshua Haberman
4667ed4be9
All tests pass again, valgrind-clean! Next up: benchmarks.
14 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
d751973758
Ported/fixed tests to new data types.
15 years ago
Joshua Haberman
ece08710a6
Bugfixes: descriptorgen works without leaks!
15 years ago
Joshua Haberman
0a6fc5fad3
Truly fixed type cyclic refcounting.
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
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
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
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
cd2f77d392
Incremental improvements to cbparser, and a test.
15 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
Joshua Haberman
946dcf4a5d
Fix tests (and src) such that all tests pass again.
16 years ago
Joshua Haberman
3149d2b372
Added a proper prototype for upb_serialize.
16 years ago
Joshua Haberman
e373367fb7
Move parsing functions to header file in anticipation of code generation (want them inlined).
16 years ago
Joshua Haberman
e58c871c19
upb is fully self-hosting (except for text->descriptor)!
16 years ago
Joshua Haberman
a1a9596d02
Fix tests and the build (though a few tests are failing).
16 years ago
Joshua Haberman
293cbe5135
Enhanced testing.
16 years ago
Joshua Haberman
462b26c1cc
Directory restructuring.
16 years ago
Joshua Haberman
aecbfe4224
Moved upb_enum to a proper C file, updated upb_inlinedefs.
16 years ago
Joshua Haberman
b0ef7f0b67
More fixes, completions, still doesn't quite work.
16 years ago
Joshua Haberman
f813688f3e
Major revision to upb_parse.
16 years ago
Joshua Haberman
2d21601d47
Reworked low-level parsing: smaller, safer.
16 years ago
Joshua Haberman
2bb7637797
Fixed conversion warning in tests.c.
16 years ago
Joshua Haberman
24c14a3ad0
Increased robustness of 64-bit varint test.
16 years ago
Joshua Haberman
c419731462
Bring 'tests' back up to date and build it again.
16 years ago
Joshua Haberman
268bb50e80
Enabled more warnings, fixed the warnings.
16 years ago
Joshua Haberman
c8d67b2686
More refactoring of structures.
...
pbstream_internal.h is now where even lower-level parsing
functions go.
16 years ago
Joshua Haberman
5a31f694a7
Implemented the array part of the fieldnum lookup.
16 years ago
Joshua Haberman
e195d5379d
Since the stack has a fixed size, don't allocate dynamically.
16 years ago
Joshua Haberman
d351981f9e
Change to a fixed stack size.
...
Proto2 only allows a nesting depth of 64, so we follow suit.
16 years ago
Joshua Haberman
47fb22194c
Another test, another bugfix.
16 years ago
Joshua Haberman
e6b461c84a
More tests and bugfixes -- parses its first proto!
16 years ago
Joshua Haberman
a0a99811be
Removed bounds checking, for speed and simplicity.
...
Callers must always over-allocate their buffer by at least
ten bytes. Since we will never read *more* than ten bytes,
there is no need to do bounds checking inside the parsing
code.
16 years ago
Joshua Haberman
a38b191e8d
Move submessage begin code to handler as well.
16 years ago
Joshua Haberman
faf6b5f3bf
Massive changes (practically a rewrite). More compact and minimal.
...
Still doesn't actually work yet, but much closer.
16 years ago
Joshua Haberman
5fb04a8ba5
Tests and fixes to bugs that the tests found.
16 years ago