These cross dependencies will be going away soon when we merge protobuf and upb
into a single Bazel repo, but I thought it would be good to update these just
in case we need to do a release before that merge happens.
PiperOrigin-RevId: 560756369
GetOptions on fields (which parse the _serialized_options) will be called for the first time of parse or serialize instead of Build time.
Note: GetOptions on messages are still called in Build time because of message_set_wire_format. If message options are needed in descriptor.proto, a parse error will be raised in GetOptions(). We can check the file to not invoke GetOptions() for descriptor.proto as long as message_set_wire_format not needed in descriptor.proto.
Other options except message options do not invoke GetOptions() in Build time
PiperOrigin-RevId: 560741182
This branch is only for `!using_sso()`. That means that:
- `old_tagged_ptr` has low bit is set to 1
- `old_tagged_ptr` points to allocated `Rep` structure
Both facts suggest that `old_tagged_ptr` cannot be equal to nullptr.
PiperOrigin-RevId: 560704777
Currently all our upb CI coverage is running from within the protobuf workspace
and referring to upb as the external repo `@upb`. This change makes the GCC
test run cd into upb and use its workspace instead, just to make sure that
builds in the upb workspace have some coverage.
PiperOrigin-RevId: 560197956
We plan to unify protobuf and upb into a single Bazel repo, but for now they
are separate repos as far as Bazel is concerned. This change will make upb's
workspace depend on the local copy of protobuf so that protobuf changes take
effect immediately for builds inside upb's workspace. This also mimicks the way
that the protobuf workspace depends on upb.
PiperOrigin-RevId: 560188433
This change significantly reduces the code size for large enums and improves
performance by reducing cache misses and branch mispredictions.
Change the table-driven parser to use these tables instead of going through the _IsValid functions. This avoids indirect function calls in the parser.
PiperOrigin-RevId: 560179698
Our automation clobbered a few more files, so let's move them
temporarily so that we can put them back in place in a way that "git
blame" continues to work.
This is the second attempt to fix our Git history. This should allow
"git blame" to work correctly in the upb/ directory even though our
automation unexpectedly blew away that directory.
upb is going to have its own Bazel repository for now, so this change will
ensure that things like `bazel query //...` won't try to descend into upb and
get confused. I would think that Bazel should see the `WORKSPACE` file and
know not to descend into the upb/ directory, but that does not seem to be
happening (possibly a Bazel bug).
PiperOrigin-RevId: 560072475
We still retain RawMessage and RawArena, but drop the macro for readability.
In lieu of invoking define_opaque_nonnulls, we spell out RawMessage and RawArena by hand.
PiperOrigin-RevId: 559906043