Joshua Haberman
86bad61b76
Sync from internal Google development.
...
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.
13 years ago
Joshua Haberman
1b9b6bd1ad
Fixed the open-source build.
13 years ago
Joshua Haberman
1bcab1377d
Sync with internal Google development.
...
This breaks the open-source build, will
follow up with a change to fix it.
13 years ago
Joshua Haberman
99ae0ed397
Changes to get upb compiling inside Google.
13 years ago
Joshua Haberman
887abe669f
Added an example, constified some more methods.
13 years ago
Joshua Haberman
621c0cdcb5
Const invasion: large parts of upb made const-correct.
13 years ago
Joshua Haberman
521ac7a89a
Refined upb_status.
13 years ago
Joshua Haberman
6981e468a3
More work on Lua extension, and consequent core refactoring.
14 years ago
Joshua Haberman
10265aa56b
Directory restructure.
...
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).
14 years ago
Joshua Haberman
6a1f3a6693
Major refactoring: upb_string is gone in favor of upb_strref.
14 years ago
Joshua Haberman
559e23c796
Major refactoring: abandon upb_msg, add upb_accessors.
...
Next on the chopping block is upb_string.
14 years ago
Joshua Haberman
d619852e06
Change dispatcher error handling model.
...
Now the dispatcher will call error handlers
instaed of returning statuses that the caller
has to constantly check.
14 years ago
Joshua Haberman
6955dfb302
Calculate and print string sizes in test messages.
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
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
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
a9e998159c
Fleshed out upb_msg: test_vs_proto2 compiles but fails.
15 years ago
Joshua Haberman
611afe9c69
Removed union tag from types.
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
d751973758
Ported/fixed tests to new data types.
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
a95ab58e79
Overhaul defs to derive from a common base.
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
7cde43ea0a
Renamed upb_msg_fielddef -> upb_fielddef, upb_enum -> upb_enumdef.
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
46fac0f58d
Tests use valgrind, chdir in test.
15 years ago
Joshua Haberman
00ba0d1ac1
Unit test comparing parsed results with proto2.
15 years ago