google-protobuf 3.16.0-x86-linux → 3.17.0.rc.1-x86-linux
Sign up to get free protection for your applications and to get access to all the features.
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:
|