@@ -254,21 +254,6 @@ impl Pack {
254254 // Check if the object type is valid
255255 let t = ObjectType :: from_u8 ( type_bits) ?;
256256
257- // util lambda: return data with result capacity after rebuilding, for Memory Control
258- let reserve_delta_data = |data : Vec < u8 > | -> Vec < u8 > {
259- let result_size = { // Read `result-size` of delta_obj
260- let mut reader = Cursor :: new ( & data) ;
261- let _ = utils:: read_varint_le ( & mut reader) . unwrap ( ) . 0 ; // base_size
262- utils:: read_varint_le ( & mut reader) . unwrap ( ) . 0 // size after rebuilding
263- } ;
264- // capacity() == result_size, len() == data.len()
265- // just for accurate Memory Control (rely on `heap_size()` that based on capacity)
266- // Seems wasteful temporarily, but for final memory limit.
267- let mut data_result_cap = Vec :: with_capacity ( result_size as usize ) ;
268- data_result_cap. extend ( data) ;
269- data_result_cap
270- } ;
271-
272257 match t {
273258 ObjectType :: Commit | ObjectType :: Tree | ObjectType :: Blob | ObjectType :: Tag => {
274259 let ( data, raw_size) = self . decompress_data ( pack, size) ?;
@@ -292,7 +277,7 @@ impl Pack {
292277
293278 Ok ( CacheObject {
294279 base_offset,
295- data_decompress : reserve_delta_data ( data) ,
280+ data_decompress : data,
296281 obj_type : t,
297282 offset : init_offset,
298283 mem_recorder : None ,
@@ -310,7 +295,7 @@ impl Pack {
310295
311296 Ok ( CacheObject {
312297 base_ref : ref_sha1,
313- data_decompress : reserve_delta_data ( data) ,
298+ data_decompress : data,
314299 obj_type : t,
315300 offset : init_offset,
316301 mem_recorder : None ,
0 commit comments