I am getting ready to move almost everything under the upb/ directory up one
level to integrate upb better into its new location in the protobuf repo. This
change makes a few tweaks to prepare for that:
- Delete upb's LICENSE and CONTRIBUTING.md files since we already have similar
files at the top level.
- Rename `//python:python_version` so that it won't conflict later with
`//upb/python:python_version`.
- Move the contents of python/BUILD.bazel out to a Bazel macro to facilitate
merging that BUILD.bazel file with upb/python/BUILD.
PiperOrigin-RevId: 567119840
Prior to this CL, upb MiniDescriptors only allowed per-message control over UTF-8. This CL adds a new field-level modifier to upb MiniDescriptors that can flip a field to the opposite of the message default, like we already have for packed, allowing per-field control over UTF-8 validation.
PiperOrigin-RevId: 566638331
For LITE messages we append the type name to the data, avoiding an
indirection and a relocation.
For descriptor messages we mark them as such and have a secondary vtable. This
way we avoid having to put those pointers on each message ClassData. We save in
data size and relocations. If in the future we determine that the extra jump is
costly we can inline the relevant descriptor method pointers into `ClassData`.
PiperOrigin-RevId: 565775188
Unfortunately in OSS with Bazel it appears that we must include this empty file, otherwise we get compile errors. More info in: b/300637173
PiperOrigin-RevId: 565699708
We do not want to repeatedly check `using_sso` when iterating over an array. Hence instead of using `Get(i) / Mutable(i)` from base class, we request a pointer to the underlying array (thus, reducing number of checks from N to 1).
Additionally, there is a loop with a `Delete` call - updated it to use `CommonHandler`, so that it reduces code bloat.
PiperOrigin-RevId: 565665669