Skip to content

Commit 1cee2ee

Browse files
GODRIVER-3455 Remove kind RF cache
1 parent b3fbcef commit 1cee2ee

File tree

1 file changed

+0
-34
lines changed

1 file changed

+0
-34
lines changed

bson/codec_cache.go

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ func init() {
2424
// statically assert array size
2525
var _ = (kindEncoderCache{}).entries[reflect.UnsafePointer]
2626
var _ = (kindDecoderCache{}).entries[reflect.UnsafePointer]
27-
var _ = (kindEncoderReflectFreeCache{}).entries[reflect.UnsafePointer]
2827

2928
type typeEncoderCache struct {
3029
cache sync.Map // map[reflect.Type]ValueEncoder
@@ -129,39 +128,6 @@ func (c *typeDecoderCache) Clone() *typeDecoderCache {
129128
// so we wrap the ValueEncoder with a kindEncoderCacheEntry to ensure the type
130129
// is always the same (since different concrete types may implement the
131130
// ValueEncoder interface).
132-
type kindEncoderReflectFreeCacheEntry struct {
133-
enc reflectFreeValueEncoder
134-
}
135-
136-
type kindEncoderReflectFreeCache struct {
137-
entries [reflect.UnsafePointer + 1]atomic.Value // *kindEncoderCacheEntry
138-
}
139-
140-
func (c *kindEncoderReflectFreeCache) Store(rt reflect.Kind, enc reflectFreeValueEncoder) {
141-
if enc != nil && rt < reflect.Kind(len(c.entries)) {
142-
c.entries[rt].Store(&kindEncoderReflectFreeCacheEntry{enc: enc})
143-
}
144-
}
145-
146-
func (c *kindEncoderReflectFreeCache) Load(rt reflect.Kind) (reflectFreeValueEncoder, bool) {
147-
if rt < reflect.Kind(len(c.entries)) {
148-
if ent, ok := c.entries[rt].Load().(*kindEncoderReflectFreeCacheEntry); ok {
149-
return ent.enc, ent.enc != nil
150-
}
151-
}
152-
return nil, false
153-
}
154-
155-
func (c *kindEncoderReflectFreeCache) Clone() *kindEncoderReflectFreeCache {
156-
cc := new(kindEncoderReflectFreeCache)
157-
for i, v := range c.entries {
158-
if val := v.Load(); val != nil {
159-
cc.entries[i].Store(val)
160-
}
161-
}
162-
return cc
163-
}
164-
165131
type kindEncoderCacheEntry struct {
166132
enc ValueEncoder
167133
}

0 commit comments

Comments
 (0)