Joshua Haberman
ffdcc46390
Fixed a handful of reference leaks found in a debug build of Python ( #484 )
...
* Fixed some reference leaks.
* Fixed a few reference leaks.
* Fixed a few more memory errors.
* Fixed a few more reference leaks.
* Revert minimal_test.py.
* Re-enable limited API.
* Removed some debugging and spurious changes.
* Addressed PR comments.
3 years ago
Fabian Meumertzheim
5ea5b05530
Build tools in the exec configuration
...
Bazel has deprecated the host configuration and replaced it with the
exec configuration, which has proper support for transitions and remote
build execution.
3 years ago
Joshua Haberman
33b6049871
Fixed test_util.py so that golden data can be found.
3 years ago
Joshua Haberman
4423e917ad
All tests in the repo are passing.
3 years ago
Joshua Haberman
e079f1bce5
Patched protobuf repo sufficiently for things to work.
3 years ago
Joshua Haberman
c5a69b79aa
Updated protobuf version.
...
This also required fixing a bug in the fast parser.
3 years ago
Joshua Haberman
b8736ae28a
WIP.
3 years ago
Joshua Haberman
5d92e132c7
Removed defunct link to old protobuf.
3 years ago
Joshua Haberman
6f7634f707
Fixed ABSL version to a specific commit.
3 years ago
Joshua Haberman
ca8eadca41
Updated version of google-benchmark so we can use interleaving.
3 years ago
Joshua Haberman
7183780b60
Added a Valgrind test that works for Python!
3 years ago
Joshua Haberman
98eab1c0c2
Fix the build on macos.
3 years ago
Joshua Haberman
ae160982e3
Fixed the Python system headers rule.
...
It now usse python sysconfig to find the include directory.
3 years ago
Joshua Haberman
5d8c3db94f
Added copyright header and docs for python_headers().
3 years ago
Joshua Haberman
94ece04552
Initial commit of Python+upb.
3 years ago
Joshua Haberman
eabb77458a
Fixes to make upb's tests compatible with a minimal Docker container.
3 years ago
Joshua Haberman
314e840a77
Fixed error message in Bazel aspect.
...
Fixes: https://github.com/protocolbuffers/upb/issues/391
3 years ago
Joshua Haberman
334b22e809
Downgrade rules_python to 0.1.0 to accommodate Kokoro image.
...
Kokoro still is on Python 3.5. Hopefully soon we will be on
a Bazel Docker image where we can include a newer Python.
3 years ago
Joshua Haberman
f5796aa607
Updated Bazel fuzzing to use the newest fuzz rules.
3 years ago
Joshua Haberman
173554146f
Updated some docs and removed/rearranged some obsolete stuff.
3 years ago
Joshua Haberman
dda5416569
Update bazel-skylib main branch name.
4 years ago
Joshua Haberman
823eb09694
Update all 2011 dates to 2021.
4 years ago
Joshua Haberman
e59d2c8fa7
Added license headers to all files.
4 years ago
Joshua Haberman
89df647460
Updated versions of ABSL and protobuf deps.
4 years ago
Joshua Haberman
f5d2d55007
Deleted the legacy "Handlers" APIs. upb can finally be deserving of its name.
...
This is possible now that all users have been migrated to the new
upb_msg APIs.
4 years ago
Esun Kim
3cab8a38fc
Fixed upbdefs error
4 years ago
Joshua Haberman
7a54a5f3d6
Split the code generators for .upb and .upbdefs.
...
Before there was a single code generator that generated both
.upb and .upbdefs, even though they are generated by different
rules. This worked fine as long as the codegen steps were
sandboxed, but if not it led to build errors.
Fixes https://github.com/protocolbuffers/upb/issues/354 .
4 years ago
Joshua Haberman
555fbbc0bc
Size benchmarks are working pretty well.
4 years ago
Joshua Haberman
3a3efe69a2
Added incompatible_use_toolchain_transition = True per https://github.com/bazelbuild/bazel/issues/11584
4 years ago
Joshua Haberman
5b1f0d86a1
For Kokoro, only build/test -m32 on Linux.
...
Also fixed a bunch of bugs found by gcc's -fanalyzer.
4 years ago
Joshua Haberman
e8f9eac68c
Added #defines UPB_ENABLE_FASTTABLE and UPB_TRY_ENABLE_FASTTABLE.
...
These control whether fasttable decoding is on.
4 years ago
Benjamin Peterson
b5bd5807a7
Migrate to modern Starlark linking api.
...
See https://github.com/bazelbuild/bazel/issues/10860 .
4 years ago
Joshua Haberman
7e5bd65098
Plumbed copts (including the crucial -std=c99) to upb_proto_library() aspect.
4 years ago
Joshua Haberman
a274ad786a
Plumbed copts (including the crucial -std=c99) to upb_proto_library() aspect.
4 years ago
Joshua Haberman
2c8bb6dd9d
Specify C99 explicitly until/unless we stop using bool.
4 years ago
Joshua Haberman
a345af9883
Added a codegen parameter for whether fasttables are generated or not.
...
Example:
$ CC=clang bazel build -c opt --copt=-g benchmarks:benchmark --//:fasttable_enabled=false
INFO: Build option --//:fasttable_enabled has changed, discarding analysis cache.
INFO: Analyzed target //benchmarks:benchmark (0 packages loaded, 913 targets configured).
INFO: Found 1 target...
Target //benchmarks:benchmark up-to-date:
bazel-bin/benchmarks/benchmark
INFO: Elapsed time: 0.760s, Critical Path: 0.58s
INFO: 7 processes: 1 internal, 6 linux-sandbox.
INFO: Build completed successfully, 7 total actions
$ bazel-bin/benchmarks/benchmark --benchmark_filter=BM_Parse_Upb
------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------
BM_Parse_Upb_FileDesc_WithArena 10985 ns 10984 ns 63567 651.857MB/s
BM_Parse_Upb_FileDesc_WithInitialBlock 10556 ns 10554 ns 66138 678.458MB/s
$ CC=clang bazel build -c opt --copt=-g benchmarks:benchmark --//:fasttable_enabled=true
INFO: Build option --//:fasttable_enabled has changed, discarding analysis cache.
INFO: Analyzed target //benchmarks:benchmark (0 packages loaded, 913 targets configured).
INFO: Found 1 target...
Target //benchmarks:benchmark up-to-date:
bazel-bin/benchmarks/benchmark
INFO: Elapsed time: 0.744s, Critical Path: 0.58s
INFO: 7 processes: 1 internal, 6 linux-sandbox.
INFO: Build completed successfully, 7 total actions
$ bazel-bin/benchmarks/benchmark --benchmark_filter=BM_Parse_Upb
------------------------------------------------------------------------------
Benchmark Time CPU Iterations
------------------------------------------------------------------------------
BM_Parse_Upb_FileDesc_WithArena 3284 ns 3284 ns 213495 2.1293GB/s
BM_Parse_Upb_FileDesc_WithInitialBlock 2882 ns 2882 ns 243069 2.4262GB/s
Biggest unknown is whether this parameter should default to true or false.
4 years ago
Joshua Haberman
b7dc77415a
Added licenses() to all BUILD files.
4 years ago
Joshua Haberman
e3f41de6c7
Split monolithic BUILD file into many build files.
4 years ago
Joshua Haberman
ee7da95367
Bzl formatting fix per buildifier.
4 years ago
Joshua Haberman
d225dfc2ed
Buildifier formatting fixes.
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
6fe84526be
Mark _is_bazel to be replace in google3.
4 years ago
Joshua Haberman
8f11ec57d2
Applied changes from google3.
5 years ago
Joshua Haberman
0dc2394da5
Changes to support import into google3 ( #291 )
...
* Fixes for google3.
* Added to failure list for new failure.
* Reused existing failure list file.
* Add a ./ to assist rewriting.
5 years ago
Joshua Haberman
16facab490
Created an amalgamation without handlers, and fixed some bugs. ( #283 )
...
* Created amalgamation with upb_msg but no handlers.
* Bugfix for upb_array_resize().
* Renamed "lite" amalgamation to "core", to avoid confusion.
Traditionally "lite" has meant "without reflection", but here we
mean it as "without handlers-based code."
* Build fixes from CI tests.
* Removed some more C++-style comments.
* Fix for out-of-order statements.
5 years ago
Joshua Haberman
0842f88211
Support for proto3 optional. ( #270 )
...
* Added support for proto3 optional to defs.
* Added proto3 optional support. Untested at the moment.
* Changes to support proto3 optional.
* Fixed real oneof count for messages with no fields.
* Fixed compile error and test.
* Added comment about why I'm commenting out the assert.
5 years ago
Yannic
d638d74d1b
Add load statements for @rules_proto ( #271 )
...
This makes upb compatible with --incompatible_load_proto_rules_from_bzl.
See https://github.com/bazelbuild/bazel/issues/8922
5 years ago
Joshua Haberman
378cbbc3cc
Updated to new protobuf version, and added support for packed=false. ( #264 )
...
* WIP.
* Passes most tests.
* A few fixes.
* A few optimizations.
* Some more optimiation.
* Update Protobuf to v3.11.4 and Abseil to LTS 2020-02-25
* Use longjmp instead of explicit error checks at every level.
* Used macros for better documentation of ops.
* Fixed bug with map parsing. All tests are passing except a few conformance tests.
* Fixed remaining bugs, all conformance tests pass.
Also ported all of upb to a single UPB_PTR_AT() macro instead of
having multiple .c files define their own.
* Formatted with clang-format.
* Fixes to compile on Linux.
* A few more compile fixes.
* Script to benchmark changes.
* Fixed parenthesis bug in op calculation.
* Updated generated descriptor files.
* WIP.
* Removed trailing enum to fix the Linux build.
* Respect packed=false to fix conformance failures in new protobuf version.
* Small simplification.
* Fixes to decoder.
* Removed stray comment.
Co-authored-by: Yannic Bonenberger <contact@yannic-bonenberger.com>
5 years ago
Joshua Haberman
6c5d5afc43
Remove compatibility code for old Bazel versions.
5 years ago
Anna R
a27429f265
Add port_def.inc and port_undef.inc to generated code hdrs
5 years ago