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
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
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
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
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
Josh Haberman
9d2fcd3692
Some progress on upb_stdio.
...
It's still not correct, but it's closer.
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
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
51d4e295a4
Python: fleshed out accessors.
13 years ago
Joshua Haberman
fe3df2c9bc
Python: basic SymbolTable support and empty accessors.
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
a1bb3dc448
Makefile target for running Python tests.
13 years ago
Joshua Haberman
487bfdfc06
Begin port of Python extension to new APIs.
13 years ago
Joshua Haberman
6981e468a3
More work on Lua extension, and consequent core refactoring.
14 years ago
Joshua Haberman
57abebaaf9
Fixed "make descriptorgen".
14 years ago
Joshua Haberman
56984e8db8
Significant work on Lua extension.
...
Also changes in core library to accommodate.
14 years ago
Joshua Haberman
92b4c38fa5
Added comment about how to disassemble JIT output.
14 years ago
Joshua Haberman
daf36f0747
Get rid of upb_symtabtxn.
...
This type was nothing but a map of defs.
We can as easily just pass an array of defs
into upb_symtab_add().
14 years ago
Joshua Haberman
b6ca2718c8
Make Lua extension build again.
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