summaryrefslogtreecommitdiff
path: root/src/upb_decoder_x86.dasc
AgeCommit message (Collapse)Author
2011-07-15Directory restructure.Joshua Haberman
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).
2011-07-14Major refactoring: upb_string is gone in favor of upb_strref.Joshua Haberman
2011-05-21Make all handlers objects refcounted.Joshua Haberman
I'm realizing that basically all upb objects will need to be refcounted to be sharable across languages, but *not* messages which are on their way out so we can get out of the business of data representations. Things which must be refcounted: - encoders, decoders - handlers objects - defs
2011-05-20Add startseq/endseq handlers.Joshua Haberman
Startseq/endseq handlers are called at the beginning and end of a sequence of repeated values. Protobuf does not really have direct support for this (repeated primitive fields do not delimit "begin" and "end" of the sequence) but we can infer them from the bytestream. The benefit of supporting them explicitly is that they get their own stack frame and closure, so we can avoid having to find the array's address over and over and deciding if we need to initialize it. This will also pave the way for better support of JSON, which does have explicit "startseq/endseq" markers: [].
2011-05-20JIT: factor out push/pop frame into macros.Josh Haberman
2011-05-10Fix JIT for new interface.Joshua Haberman
2011-05-08More renaming.Joshua Haberman
2011-05-08Decoder redesign in preparation for packed fields and start/endseq.Joshua Haberman
2011-05-06Refactor varint encoding/decoding.Joshua Haberman
2011-04-15Calculate and print string sizes in test messages.Joshua Haberman
2011-04-14Fix GDB JIT registration on Linux.Joshua Haberman
2011-04-06JIT now works on OS X!Joshua Haberman
Had to fix the case where the jump table was allocated in a >4GB address.
2011-04-06Disable GDB JIT interface on OS X.Josh Haberman
OS X doesn't use ELF, so our little trick doesn't work there.
2011-04-04Speed up parsetostruct by using type-specialized callbacks.Joshua Haberman
2011-04-02JIT passes all tests!Joshua Haberman
2011-04-01First rough version of the JIT.Joshua Haberman
It can successfully parse SpeedMessage1. Preliminary results: 750MB/s on Core2 2.4GHz. This number is 2.5x proto2. This isn't apples-to-apples, because proto2 is parsing to a struct and we are just doing stream parsing, but for apps that are currently using proto2, this is the improvement they would see if they could move to stream-based processing. Unfortunately perf-regression-test.py is broken, and I'm not 100% sure why. It would be nice to fix it first (to ensure that there are no performance regressions for the table-based decoder) but I'm really impatient to get the JIT checked in.
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback