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
b5f5ee867e
Refinement of upb_bytesrc interface.
...
Added a upb_byteregion that tracks a region of
the input buffer; decoders use this instead of
using a upb_bytesrc directly. upb_byteregion
is also used as the way of passing a string to
a upb_handlers callback. This symmetry makes
decoders compose better; if you want to take
a parsed string and decode it as something else,
you can take the string directly from the callback
and feed it as input to another parser.
A commented-out version of a pinning interface
is present; I decline to actually implement it
(and accept its extra complexity) until/unless
it is clear that it is actually a win. But it
is included as a proof-of-concept, to show that
it fits well with the existing interface.
13 years ago
Joshua Haberman
99ae0ed397
Changes to get upb compiling inside Google.
13 years ago
Joshua Haberman
d29339d126
Fix GDB unwinding through JIT-compiled frames.
13 years ago
Joshua Haberman
c0a08a6827
Fixes to get upb to compile inside Google.
13 years ago
Joshua Haberman
56f7a345d7
x86 JIT: now works without -NDNDEBUG (also small perf increase).
13 years ago
Joshua Haberman
64e199d18b
Small bugfix for x86->x64 rename.
13 years ago
Joshua Haberman
8899727827
Fix perf-tests.sh to skip building non-upb tests.
13 years ago
Joshua Haberman
7d986946b7
Rename x86 -> x64, since JIT is x64-only.
13 years ago
Joshua Haberman
7a0e63ec61
x86 JIT: avoid storing pointer for every field.
13 years ago
Joshua Haberman
878fc9c362
Small typo fix.
13 years ago
Joshua Haberman
7f045f9451
x86 JIT: add easy switch between replicated/common dispatch.
13 years ago
Joshua Haberman
887abe669f
Added an example, constified some more methods.
13 years ago
Joshua Haberman
bda3269a42
Fleshed out fielddef default functionality.
...
Fixes unit test submitted by Hunter Morris (thanks!).
13 years ago
Hunter Morris
7175edb10a
Add failing unit test
...
This might actually just bring to light my misuse of the upb_fielddef
functions. The test assertions are fine, but an assertion in upb/upb.h
fails:
./upb/upb.h:181: upb_value_getptr: Assertion `val.type == 33' failed.
13 years ago
Joshua Haberman
aca8cef29b
Merge pull request #2 from winksaville/fix-typo-handler.h
...
Fix typo in handler.h
13 years ago
Wink Saville
0606476cb6
Fix typo in handler.h
...
Signed-off-by: Wink Saville <wink@saville.com>
13 years ago
Joshua Haberman
2054853964
Header tweaking.
13 years ago
Joshua Haberman
f226554fa5
Fleshed out C++ def wrappers some.
13 years ago
Joshua Haberman
621c0cdcb5
Const invasion: large parts of upb made const-correct.
13 years ago
Joshua Haberman
8f2758dda2
Work on C++ wrappers, added C++ test.
13 years ago
Joshua Haberman
4a8b9be46c
Header cleanup, clarify/correct comments for interfaces.
13 years ago
Joshua Haberman
d1d126acf4
Make "benchmark" build "benchmarks", add bug note.
13 years ago
Joshua Haberman
8eb2b2a216
Revised upb_bytesink, refactored upb_textprinter (untested).
13 years ago
Joshua Haberman
521ac7a89a
Refined upb_status.
13 years ago
Joshua Haberman
48fedab345
Add packed field support (untested).
13 years ago
Joshua Haberman
c03802b0f1
Some updates to the experimental C++ wrapper.
13 years ago
Joshua Haberman
e8796beffc
Add comment clarifying that the proto2 benchmark is ugly and temporary.
13 years ago
Josh Haberman
9d2fcd3692
Some progress on upb_stdio.
...
It's still not correct, but it's closer.
13 years ago
Joshua Haberman
6c6013e51e
Fold gen-deps.sh into Makefile.
13 years ago
Joshua Haberman
adb6580d97
Let the JIT emit hasbit-setting code in addition to calling a callback.
...
This leads to a major (20-40%) improvement in the parsetoproto2
benchmark with small messages. We now are faster than proto2 in all
apples-to-apples comparisons, at least given the (admittedly
limited) set of benchmarks in this source tree.
13 years ago
Joshua Haberman
a5e6a7b029
Fix stack alignment on OS X.
13 years ago
Joshua Haberman
8bdc6d233e
Prime the decoder buf for modest perf improvement on small messages.
13 years ago
Joshua Haberman
d5324d1d5c
Some Makefile cleanup.
13 years ago
Joshua Haberman
7935b702c5
More cleanup.
13 years ago
Joshua Haberman
282b34529f
Some source cleanup/commenting.
13 years ago
Joshua Haberman
08e7ad94f9
Renamed lang_ext -> bindings, README updates.
13 years ago
Josh Haberman
3387ccaffd
Avoid longjmp() in successful case.
...
Speeds up short messages by 15-25%.
13 years ago
Josh Haberman
a090a7abf6
Fix proto2 benchmark for newer proto2.
13 years ago
Joshua Haberman
06b8181f97
Benchmark to parse into proto2 messages.
13 years ago
Joshua Haberman
40f271b854
x86 JIT: add callback specializations for a 10% speedup when parsing to struct.
13 years ago
Joshua Haberman
fa82e4fbf0
Benchmark JIT vs no JIT without forcing a whole-project recompile.
13 years ago
Joshua Haberman
51d4e295a4
Python: fleshed out accessors.
13 years ago
Joshua Haberman
fe3df2c9bc
Python: basic SymbolTable support and empty accessors.
13 years ago
Joshua Haberman
2cf930ef51
Python: fixed object cache and fleshed out MessageDef a bit.
13 years ago
Joshua Haberman
25cdf1e6f7
Fixed overzealous assert().
13 years ago
Joshua Haberman
336268b3d7
Fixed a few memory leaks and Makefile tweaks.
13 years ago
Joshua Haberman
be74572455
Fixed off-by-one stack allocation error.
13 years ago
Joshua Haberman
fc9c49860b
Python: Implemented weak-ref'd object cache.
...
Also some preliminary work on upb.MessageDef.
13 years ago
Joshua Haberman
a1bb3dc448
Makefile target for running Python tests.
13 years ago