FoldHeads to output binary

so that byte_size will work in sweeper
This commit is contained in:
Martin Sumner 2017-04-11 11:17:27 +01:00
parent 9badc8fbe7
commit 618d9cf53b

View file

@ -1103,7 +1103,7 @@ accumulate_objects(FoldObjectsFun, InkerClone, Tag, DeferredFetch) ->
MDBin,
Size,
{fun fetch_value/2, InkerClone, JK}},
FoldObjectsFun(B, K, Value, Acc);
FoldObjectsFun(B, K, term_to_binary(Value), Acc);
false ->
R = fetch_value(InkerClone, JK),
case R of
@ -1530,9 +1530,9 @@ foldobjects_vs_hashtree_test() ->
FoldHeadsFun =
fun(B, K, ProxyV, Acc) ->
{proxy_object,
_MDBin,
_Size,
{FetchFun, Clone, JK}} = ProxyV,
_MDBin,
_Size,
{FetchFun, Clone, JK}} = binary_to_term(ProxyV),
V = FetchFun(Clone, JK),
[{B, K, erlang:phash2(term_to_binary(V))}|Acc]
end,
@ -1546,9 +1546,9 @@ foldobjects_vs_hashtree_test() ->
FoldHeadsFun2 =
fun(B, K, ProxyV, Acc) ->
{proxy_object,
MD,
_Size,
_Fetcher} = ProxyV,
MD,
_Size,
_Fetcher} = binary_to_term(ProxyV),
{Hash, _Size} = MD,
[{B, K, Hash}|Acc]
end,
@ -1607,7 +1607,7 @@ foldobjects_vs_foldheads_bybucket_test() ->
{proxy_object,
_MDBin,
_Size,
{FetchFun, Clone, JK}} = ProxyV,
{FetchFun, Clone, JK}} = binary_to_term(ProxyV),
V = FetchFun(Clone, JK),
[{B, K, erlang:phash2(term_to_binary(V))}|Acc]
end,