mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Use round up function.
This commit is contained in:
committed by
Alex Beregszaszi
parent
6ad0ea9f23
commit
7d6331e26f
@@ -2056,8 +2056,7 @@ string YulUtilFunctions::arrayAllocationSizeFunction(ArrayType const& _type)
|
||||
// Make sure we can allocate memory without overflow
|
||||
if gt(length, 0xffffffffffffffff) { <panic>() }
|
||||
<?byteArray>
|
||||
// round up
|
||||
size := and(add(length, 0x1f), not(0x1f))
|
||||
size := <roundUp>(length)
|
||||
<!byteArray>
|
||||
size := mul(length, 0x20)
|
||||
</byteArray>
|
||||
@@ -2070,6 +2069,7 @@ string YulUtilFunctions::arrayAllocationSizeFunction(ArrayType const& _type)
|
||||
w("functionName", functionName);
|
||||
w("panic", panicFunction(PanicCode::ResourceError));
|
||||
w("byteArray", _type.isByteArray());
|
||||
w("roundUp", roundUpFunction());
|
||||
w("dynamic", _type.isDynamicallySized());
|
||||
return w.render();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user