Joshua Haberman
c10b24ffb2
Simplified switch().
4 years ago
Joshua Haberman
ded2e657a7
Added compatibility with old generated code.
...
Until everyone can regenerate their code, we need to provide
compatible semantics with the old generated code.
Also fixed a bug where enums were allocated 8 bytes instead
of 4.
4 years ago
Joshua Haberman
5b0c5c7d4a
Dispatch inline.
4 years ago
Joshua Haberman
75edd3e59c
Changed to use table pairs, seems to ever-so-slightly regress.
4 years ago
Joshua Haberman
69d99a247e
Merge pull request #3 from haberman/shifted-table
...
Compress table by storing mask in low bits of table pointer.
4 years ago
Joshua Haberman
bca7edac8c
Cleaned up table compression a bit.
4 years ago
Joshua Haberman
b95f217996
A little speed boost, now hitting 2.51GB/s.
4 years ago
Joshua Haberman
8ed6b2fe85
Stored mask in the table pointer.
4 years ago
Joshua Haberman
a6dc88556d
Tables are compressed, but perf goes down to 2.44GB/s.
4 years ago
Joshua Haberman
91eb09b1bc
Add a few comments.
4 years ago
Joshua Haberman
7a1835d7c3
Merge branch 'master' into fast-table
4 years ago
Joshua Haberman
8bd5c0088e
Merge pull request #316 from haberman/submsg-array
...
Fixed bug where submsg array could have excess elements.
4 years ago
Joshua Haberman
a4966fd230
Added a few extra sanity checks.
4 years ago
Joshua Haberman
99acbe0da8
Fixed bug where submsg array could have excess elements.
...
Before we were allocating an array element for every sub-message
field, even if two different fields had messages of the same type.
4 years ago
Joshua Haberman
2a0425ecf5
Merge pull request #315 from haberman/conformance-fixes
...
Updated to a new version of protobuf and fixed a few conformance tests.
4 years ago
Joshua Haberman
7ccf5650c7
If we encounter "null" for a non-NullValue enum, throw an error.
4 years ago
Joshua Haberman
0a3a94a12f
Updated to a new version of protobuf and fixed a few conformance tests.
...
When `google.protobuf.NullValue` appears on its own, we need to parse
and serialize it as plain JSON "null" value.
4 years ago
Joshua Haberman
ddd5f28c4f
Merge branch 'is_bazel'
4 years ago
Joshua Haberman
10fa3a0c77
Merge pull request #314 from haberman/addunknown
...
Fixed bug in addunknown and added ASAN poisoning.
4 years ago
Joshua Haberman
504e105420
undef UPB_ASAN.
4 years ago
Joshua Haberman
ab96d1ec41
Removed extraneous C++-style comment.
4 years ago
Joshua Haberman
d5096f9ee8
Fixed bug in addunknown and added ASAN poisoning.
4 years ago
Joshua Haberman
6fe84526be
Mark _is_bazel to be replace in google3.
4 years ago
Joshua Haberman
f01efe8b64
Removed another C99-ism.
4 years ago
Joshua Haberman
1749082bbb
Removed C99-ism.
4 years ago
Joshua Haberman
147e363f56
Merge branch 'master' into fast-table
4 years ago
Joshua Haberman
f2ddc15d76
Bugfix: initialize fastlimit and fastend.
4 years ago
Joshua Haberman
65e49b694b
Merge branch 'gerben-fast-table' into fast-table
4 years ago
Joshua Haberman
1abf7d418d
Added generated files.
4 years ago
Gerben Stavenga
3f719fa6b2
Bugfix: offsetting hasbits with 16 introduced a bug in calculating
...
hasmasks. Removing extra <<16 shift in hasmask calculating and masking
out the first 16 bits. This makes messages without hasbits work as well.
4 years ago
Joshua Haberman
aec762e405
Merge branch 'master' into fast-table
...
Tests are failing.
4 years ago
Joshua Haberman
4f77aaafd8
Merge pull request #2 from gerben-s/fast-table
...
Refactor some code. I extracted some common code from all message field
4 years ago
Gerben Stavenga
4053805759
Bugfixes
4 years ago
Joshua Haberman
d1cd80385b
Merge pull request #313 from haberman/inline-arena
...
Inline arena for the duration of the decode.
4 years ago
Joshua Haberman
ad21083623
Merge pull request #313 from haberman/inline-arena
...
Inline arena for the duration of the decode.
4 years ago
Joshua Haberman
2339fc779c
Updated obsolete comment.
4 years ago
Joshua Haberman
b393849bbd
Updated obsolete comment.
4 years ago
Joshua Haberman
ebe53f8590
Fixed compile error.
4 years ago
Joshua Haberman
b37f82b58b
Fixed compile error.
4 years ago
Joshua Haberman
71749b7caf
Implemented inline array allocation, and moved type->lg2 map to reflection.
4 years ago
Joshua Haberman
9557b97acc
Implemented inline array allocation, and moved type->lg2 map to reflection.
4 years ago
Joshua Haberman
b58d2a0ee6
Shrink overhead of message representation.
4 years ago
Joshua Haberman
0bf063a2ca
Shrink overhead of message representation.
4 years ago
Joshua Haberman
d87ceeacab
Shave off one more store.
4 years ago
Joshua Haberman
ddc52ab9d6
Shave off one more store.
4 years ago
Joshua Haberman
c25d895adf
Shrunk the arena state that needs to be synced.
4 years ago
Joshua Haberman
7f67f68c1c
Shrunk the arena state that needs to be synced.
4 years ago
Joshua Haberman
ff40dd6ea9
Added new internal header.
4 years ago
Joshua Haberman
85a43e5461
Added new internal header.
4 years ago
Gerben Stavenga
36662b3735
Refactor some code. I extracted some common code from all message field
...
parsers, to a tail recursive function. Removed the varint jmp table for
a simple varint parse loop, that removes the stack frames. Also careful
with not losing information in repeated message tag check. When written
mindful the checks and loads that happen can be reused for tag dispatch
if not the expected tag.
4 years ago