Joshua Haberman
f00091f340
Beginnings of a 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
Joshua Haberman
2282d2489b
Refactoring: unify upb_msg.
...
The cost is that a upb_msg will now always have an overhead
of 2*sizeof(void*). This is comparable to proto2 overhead.
The benefit is that upb_msg is now self-describing, and
read-only algorithms can now operate on a upb_msg regardless
of the memory-management scheme.
Also, upb_array and upb_string now know inherently if they
own their associated memory, and upb_array has a generic
pointer for memory management purposes like upb_msg does.
16 years ago
Joshua Haberman
89a6c6d71f
Whoops, re-add static to MurmurHash.
16 years ago
Joshua Haberman
eb67fb9109
Fixed memory leaks in upbc.
16 years ago
Joshua Haberman
8fa6a92f53
Major refactoring of upb_msg. Temporary functionality regression.
...
There is significant refactoring here, as well as some more trivial
name changes. upb_msg has become upb_msgdef, to reflect the fact
that a upb_msg is not *itself* a message, it describes a message.
There are other renamings, such as upb_parse_state -> upb_stream_parser.
More significantly, the upb_msg class and parser have been refactored
to reflect my recent realization about how memory management should
work. upb_msg now has no memory management, and a memory mangement
scheme (that works beautifully with multiple language runtimes) will
be layered on top of it.
This iteration has the new, read-only upb_msg. upb_mm_msg (a
memory-managed message class) will come in the next change.
16 years ago
Joshua Haberman
952ea88db2
Remove perf-cppflags from repository.
16 years ago
Joshua Haberman
6945fbf048
Small fix to regression script.
16 years ago
Joshua Haberman
306bc554c6
More work on benchmarks (performance tests).
16 years ago
Joshua Haberman
1733b58257
Fix a few small compile warnings.
16 years ago
Joshua Haberman
84cd1538ee
Integrated benchmarks into main Makefile.
16 years ago
Joshua Haberman
2aaea5390a
Makefile is much improved ("make deps" works again, etc).
16 years ago
Joshua Haberman
f03c8bd7dd
Minor bugfix and makefile change.
16 years ago
Joshua Haberman
7eb16a5550
Beginnings of a more extensive benchmarking suite.
16 years ago
Joshua Haberman
946dcf4a5d
Fix tests (and src) such that all tests pass again.
16 years ago
Joshua Haberman
b07b1165d3
Merge branch 'master' of git@github.com:haberman/upb
16 years ago
Joshua Haberman
3fde2b26cd
Remove commented-out code that was moved to upb_msg.c.
16 years ago
Joshua Haberman
10cdab28e9
Add a friendly comment at the top of auto-generated C files.
16 years ago
Joshua Haberman
3149d2b372
Added a proper prototype for upb_serialize.
16 years ago
Joshua Haberman
62dbeee8f6
Add upb_serialize.c.
16 years ago
Joshua Haberman
e8c58eb78d
Sketches of serialization.
16 years ago
Joshua Haberman
a952e42e99
Fixed a bug in set_flags order in the compiler.
16 years ago
Joshua Haberman
85f6cecb80
Added calculation of sizes for serialization (untested).
16 years ago
Joshua Haberman
4bcdea25f0
More work on serialization.
16 years ago
Joshua Haberman
4240e0e598
Updated parser semantics to better support streaming.
16 years ago
Joshua Haberman
5fa6912da8
Fleshed out serialization functions a bit more.
16 years ago
Joshua Haberman
cd3d737d5e
Add sketch of deserializing code.
16 years ago
Joshua Haberman
60e7933d4c
Tweak the prototype for the wvtov conversions.
16 years ago
Joshua Haberman
4f205f3dc3
Header file rearranging/prettifying.
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
b39b463ec9
Add proto2 dynamic message to benchmark.
16 years ago
Joshua Haberman
413ccaf6b9
Re-enable checks for set_flags now that upbc emits them.
16 years ago
Joshua Haberman
c7154e0fb4
New descriptor.c and descriptor.h (generated by upbc!)
16 years ago
Joshua Haberman
e58c871c19
upb is fully self-hosting (except for text->descriptor)!
16 years ago
Joshua Haberman
d8c93dc1a2
Make the compiler correctly define the top-level extern symbol.
16 years ago
Joshua Haberman
ee1ed1ccb8
Compiler finally works (except string arrays). Untested. Holy crap that was a lot of work.
16 years ago
Joshua Haberman
e4e89247e5
More work on the compiler.
16 years ago
Joshua Haberman
509fb80b46
Bugfix to upb_table.
16 years ago
Joshua Haberman
d963b04ea9
More work on the compiler.
16 years ago
Joshua Haberman
edf5f9e8ed
Update test_table to new table API.
16 years ago
Joshua Haberman
b2a890263f
Properly initialize the fqname member of upb_msg.
16 years ago
Joshua Haberman
c9105bbf58
Support for dumping protobufs in text format.
16 years ago
Joshua Haberman
a1a9596d02
Fix tests and the build (though a few tests are failing).
16 years ago
Joshua Haberman
40e8127a24
Abandon setjmp/longjmp, performance was not measurably increased.
16 years ago
Joshua Haberman
d7632d271c
Pass pointer to tag instead of by value.
16 years ago
Joshua Haberman
cbc05553c9
Cache callbacks in the local stack frame.
16 years ago
Joshua Haberman
59d7c024f6
Updates to benchmark.
16 years ago