ソースを参照

avoid gc issue

Tao Wen 8 年 前
コミット
b67201557a
1 ファイル変更2 行追加1 行削除
  1. 2 1
      feature_reflect_slice.go

+ 2 - 1
feature_reflect_slice.go

@@ -142,7 +142,8 @@ func reuseSlice(slice *sliceHeader, sliceType reflect.Type, expectedCap int) {
 	if expectedCap <= slice.Cap {
 		return
 	}
-	dst := unsafe.Pointer(reflect.MakeSlice(sliceType, 0, expectedCap).Pointer())
+	newVal := reflect.MakeSlice(sliceType, 0, expectedCap)
+	dst := unsafe.Pointer(newVal.Pointer())
 	slice.Cap = expectedCap
 	slice.Data = dst
 }