Commit aabe5168 authored by Annie Ke's avatar Annie Ke Committed by Kelvin Fichter
parent aac58896
...@@ -592,18 +592,20 @@ library Lib_RLPReader { ...@@ -592,18 +592,20 @@ library Lib_RLPReader {
} }
// Pick out the remaining bytes. // Pick out the remaining bytes.
uint256 mask = 256 ** (32 - (_length % 32)) - 1; unchecked {
assembly { uint256 mask = 256 ** (32 - (_length % 32)) - 1;
mstore( assembly {
dest, mstore(
or( dest,
and(mload(src), not(mask)), or(
and(mload(dest), mask) and(mload(src), not(mask)),
and(mload(dest), mask)
)
) )
) }
}
return out; return out;
}
} }
/** /**
......
...@@ -228,11 +228,13 @@ library Lib_RLPWriter { ...@@ -228,11 +228,13 @@ library Lib_RLPWriter {
src += 32; src += 32;
} }
uint256 mask = 256 ** (32 - len) - 1; unchecked {
assembly { uint256 mask = 256 ** (32 - len) - 1;
let srcpart := and(mload(src), not(mask)) assembly {
let destpart := and(mload(dest), mask) let srcpart := and(mload(src), not(mask))
mstore(dest, or(destpart, srcpart)) let destpart := and(mload(dest), mask)
mstore(dest, or(destpart, srcpart))
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment