google-protobuf 3.16.0-x86-linux → 3.17.0.rc.1-x86-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of google-protobuf might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/ext/google/protobuf_c/extconf.rb +1 -0
- data/ext/google/protobuf_c/message.c +4 -1
- data/ext/google/protobuf_c/protobuf.c +14 -8
- data/lib/google/2.3/protobuf_c.so +0 -0
- data/lib/google/2.4/protobuf_c.so +0 -0
- data/lib/google/2.5/protobuf_c.so +0 -0
- data/lib/google/2.6/protobuf_c.so +0 -0
- data/lib/google/2.7/protobuf_c.so +0 -0
- data/lib/google/3.0/protobuf_c.so +0 -0
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 131b3316a33ae49fbe3a0fbc4cd254e58b36e0f911fb812d071641e75cdce338
|
4
|
+
data.tar.gz: 1c5393625f365c6a32be48b8c67e71a4e7858aab9fc09701b7e4d05eb9de1bf4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f89a9f138ab182a909b4dc9eb174f79e142f7464eb3376f463c0dbb37e7f1a761770d0e2ef9cdeb076d92033668891531e8c8c5f9f44e181e4018a710fef557a
|
7
|
+
data.tar.gz: 1a957844561318097d3dff513a948c4fb673b67888c209dff063f46afa512d90638312babda41faf83ebdfe72e8d846b30301a8e7698afbd832801efe3c53bab
|
@@ -734,7 +734,10 @@ uint64_t Message_Hash(const upb_msg* msg, const upb_msgdef* m, uint64_t seed) {
|
|
734
734
|
*/
|
735
735
|
static VALUE Message_hash(VALUE _self) {
|
736
736
|
Message* self = ruby_to_Message(_self);
|
737
|
-
|
737
|
+
uint64_t hash_value = Message_Hash(self->msg, self->msgdef, 0);
|
738
|
+
// RUBY_FIXNUM_MAX should be one less than a power of 2.
|
739
|
+
assert((RUBY_FIXNUM_MAX & (RUBY_FIXNUM_MAX + 1)) == 0);
|
740
|
+
return INT2FIX(hash_value & RUBY_FIXNUM_MAX);
|
738
741
|
}
|
739
742
|
|
740
743
|
/*
|
@@ -238,8 +238,16 @@ void Arena_register(VALUE module) {
|
|
238
238
|
// We use WeakMap for the cache. For Ruby <2.7 we also need a secondary Hash
|
239
239
|
// to store WeakMap keys because Ruby <2.7 WeakMap doesn't allow non-finalizable
|
240
240
|
// keys.
|
241
|
-
|
242
|
-
|
241
|
+
//
|
242
|
+
// We also need the secondary Hash if sizeof(long) < sizeof(VALUE), because this
|
243
|
+
// means it may not be possible to fit a pointer into a Fixnum. Keys are
|
244
|
+
// pointers, and if they fit into a Fixnum, Ruby doesn't collect them, but if
|
245
|
+
// they overflow and require allocating a Bignum, they could get collected
|
246
|
+
// prematurely, thus removing the cache entry. This happens on 64-bit Windows,
|
247
|
+
// on which pointers are 64 bits but longs are 32 bits. In this case, we enable
|
248
|
+
// the secondary Hash to hold the keys and prevent them from being collected.
|
249
|
+
|
250
|
+
#if RUBY_API_VERSION_CODE >= 20700 && SIZEOF_LONG >= SIZEOF_VALUE
|
243
251
|
#define USE_SECONDARY_MAP 0
|
244
252
|
#else
|
245
253
|
#define USE_SECONDARY_MAP 1
|
@@ -326,7 +334,7 @@ static VALUE SecondaryMap_Get(VALUE key, bool create) {
|
|
326
334
|
VALUE ret = rb_hash_lookup(secondary_map, key);
|
327
335
|
if (ret == Qnil && create) {
|
328
336
|
SecondaryMap_MaybeGC();
|
329
|
-
ret =
|
337
|
+
ret = rb_class_new_instance(0, NULL, rb_cObject);
|
330
338
|
rb_hash_aset(secondary_map, key, ret);
|
331
339
|
}
|
332
340
|
return ret;
|
@@ -336,11 +344,9 @@ static VALUE SecondaryMap_Get(VALUE key, bool create) {
|
|
336
344
|
|
337
345
|
// Requires: secondary_map_mutex is held by this thread iff create == true.
|
338
346
|
static VALUE ObjectCache_GetKey(const void* key, bool create) {
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
PBRUBY_ASSERT((key_int & 3) == 0);
|
343
|
-
VALUE ret = LL2NUM(key_int >> 2);
|
347
|
+
VALUE key_val = (VALUE)key;
|
348
|
+
PBRUBY_ASSERT((key_val & 3) == 0);
|
349
|
+
VALUE ret = LL2NUM(key_val >> 2);
|
344
350
|
#if USE_SECONDARY_MAP
|
345
351
|
ret = SecondaryMap_Get(ret, create);
|
346
352
|
#endif
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-protobuf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.17.0.rc.1
|
5
5
|
platform: x86-linux
|
6
6
|
authors:
|
7
7
|
- Protobuf Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05-
|
11
|
+
date: 2021-05-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler-dock
|
@@ -128,7 +128,7 @@ homepage: https://developers.google.com/protocol-buffers
|
|
128
128
|
licenses:
|
129
129
|
- BSD-3-Clause
|
130
130
|
metadata:
|
131
|
-
source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.
|
131
|
+
source_code_uri: https://github.com/protocolbuffers/protobuf/tree/v3.17.0-rc1/ruby
|
132
132
|
post_install_message:
|
133
133
|
rdoc_options: []
|
134
134
|
require_paths:
|
@@ -143,9 +143,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
143
143
|
version: 3.1.dev
|
144
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
145
|
requirements:
|
146
|
-
- - "
|
146
|
+
- - ">"
|
147
147
|
- !ruby/object:Gem::Version
|
148
|
-
version:
|
148
|
+
version: 1.3.1
|
149
149
|
requirements: []
|
150
150
|
rubygems_version: 3.2.3
|
151
151
|
signing_key:
|