google-protobuf 3.16.0-universal-darwin → 3.17.0.rc.1-universal-darwin
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.bundle +0 -0
- data/lib/google/2.4/protobuf_c.bundle +0 -0
- data/lib/google/2.5/protobuf_c.bundle +0 -0
- data/lib/google/2.6/protobuf_c.bundle +0 -0
- data/lib/google/2.7/protobuf_c.bundle +0 -0
- data/lib/google/3.0/protobuf_c.bundle +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: cdcd06dc3e388c249383c183f33f812bc1fbcf56d40226c866af813b650ee511
|
4
|
+
data.tar.gz: 3472c063effded1340c101794bcd7f3c823ed7f6fc52de36111a987ef1d47dc1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d48cd2a30dfbdb628549cc58a32e7cbabf7da62dad5961c19c3caf3d881f020ebb69dda56928e709f5630acceeb141bfb98e9bdf64a50719703883631b19087
|
7
|
+
data.tar.gz: 2662146181f09fbafbf97a84e03b4ea9096233826d66442ec9dae9a90e5bc218685828a93cefb16fb838220db5f684b7d3ec3baf2e20620a7f40f219b32d9a3c
|
@@ -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: universal-darwin
|
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.17
|
151
151
|
signing_key:
|