Joshua Haberman
fa8b605f78
Implemented MiniDescriptors for proto2 enums.
...
An enum MiniDescriptor simply encodes a set of valid `int32_t` values, so that the protobuf parser can test whether a given enum value is known or not.
The format implemented here is novel and needs to be documented. In short, the format is:
1. base92 values 0-31: 5-bit mask indicating presence or absence of the next five enum values.
2. base92 values 60-91: varint indicating skip over a region of enum values.
Negative enum values are encoded as their `uint32_t` equivalent.
PiperOrigin-RevId: 442892799
3 years ago
Protobuf Team
e1e7435e70
Internal change
...
PiperOrigin-RevId: 440796832
3 years ago
Joshua Haberman
9cc02bb60d
Rewrote the MessageSet parsing code in the upb decoder to properly handle several edge cases.
...
PiperOrigin-RevId: 440788402
3 years ago
Protobuf Team
bef53686ec
Add support for clear field in upbc.
...
Add support for setting extension field value.
PiperOrigin-RevId: 439365359
3 years ago
Protobuf Team
e80ac6df59
Fix typos
...
PiperOrigin-RevId: 435416635
3 years ago
Protobuf Team
78f5af8103
Internal change
...
PiperOrigin-RevId: 435060849
3 years ago
Protobuf Team
b8edc7153f
Internal change
...
PiperOrigin-RevId: 435056074
3 years ago
Joshua Haberman
99d0b36baa
Change parameter to const void*.
3 years ago
Joshua Haberman
570332dfee
Ruby needs the "seed" parameter in our hash function.
3 years ago
Joshua Haberman
a1a101ab8e
clang-format.
3 years ago
Joshua Haberman
cb55c4d781
Addressed PR comments.
3 years ago
Joshua Haberman
8d148f023e
Clang-format and fixed missing dep.
3 years ago
Joshua Haberman
20e7802fca
Clang-format.
3 years ago
Joshua Haberman
3692e6659f
Reverted decode_fast.c changes. They are not necessary for this PR.
3 years ago
Joshua Haberman
c4ae35070b
Removed asserts we can no longer count on.
3 years ago
Joshua Haberman
911a25e738
Passes nearly all tests!
3 years ago
Joshua Haberman
273398ca5f
Removed MessageLayout from upbc.
3 years ago
Joshua Haberman
5b711f286b
WIP.
3 years ago
Joshua Haberman
e0aaad386f
Passes all conformance tests!
3 years ago
Joshua Haberman
37a7661855
Fixed bitmath bug.
3 years ago
Joshua Haberman
c3d8ef7939
Get packed flag working.
3 years ago
Joshua Haberman
03c1fe48c4
We are passing most tests and most conformance tests!
...
Proto2 enum mini-table building is not yet implemented.
3 years ago
Joshua Haberman
76a81e2177
WIP.
3 years ago
Joshua Haberman
afffa9eaeb
Two Ruby changes to unblock the release
3 years ago
Joshua Haberman
bcb08bf9f0
Clang-format.
3 years ago
Joshua Haberman
6509f13568
Reverted extra debug assignment.
3 years ago
Joshua Haberman
1046d778a2
Removed debug print statements.
3 years ago
Joshua Haberman
7d5f4cd9b6
Implemented the functionality to make the test pass.
3 years ago
theodorerose
97273a3638
WIP
3 years ago
Joshua Haberman
970c645140
Fixes for google3 (layering check and formatting).
3 years ago
Joshua Haberman
91713481fd
Clang format.
3 years ago
Joshua Haberman
50c1298f32
Added conformance test variant to exercise dynamic minitable building.
3 years ago
Joshua Haberman
dc6ba4106f
WIP.
3 years ago
Joshua Haberman
74d1a86473
Fixed predicate to compare integers rather than pointers.
3 years ago
Joshua Haberman
a1064db34f
Addressed PR comments.
3 years ago
Joshua Haberman
8a6f9591d8
WIP.
3 years ago
Joshua Haberman
7c4d12e856
Addressed PR comments.
3 years ago
Joshua Haberman
8405436044
Addressed PR comments.
3 years ago
Joshua Haberman
f5246b70fd
clang-format
3 years ago
Joshua Haberman
05d23ea955
Fixed UBSAN errors.
3 years ago
Joshua Haberman
8ede0d552d
Tests are passing.
3 years ago
Joshua Haberman
4586eea766
Fixed clang-format.
3 years ago
Joshua Haberman
44363393f3
Backed out a functional refactoring.
3 years ago
Joshua Haberman
532dc1f0f0
Renamed a few more constants to the new style.
...
These are not in the public API and so were not prioritized before.
No functional change here, just renames.
3 years ago
Joshua Haberman
de2c129362
First draft of mini-table building API.
3 years ago
Joshua Haberman
7647b79403
WIP.
3 years ago
Joshua Haberman
af6574a416
WIP.
3 years ago
Joshua Haberman
dbd5dbed46
Fixed pointer tagging on 32-bit builds.
3 years ago
Joshua Haberman
b1c5104ae2
Two small spelling fixes.
...
We should get a codespell presubmit going.
3 years ago
Joshua Haberman
6d2ab885be
Fix clang-format.
3 years ago