Improve abi decoding functions for arrays.

This commit is contained in:
Daniel Kirchner
2021-09-15 13:50:19 +02:00
parent 0fa24c786b
commit d1c0b428fc
18 changed files with 58 additions and 63 deletions
@@ -14,9 +14,9 @@ contract Test {
// compileViaYul: also
// ----
// set(uint24[3][]): 0x20, 0x06, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12 -> 0x06
// gas irOptimized: 189567
// gas legacy: 211485
// gas legacyOptimized: 206394
// gas irOptimized: 189239
// gas legacy: 211149
// gas legacyOptimized: 206054
// data(uint256,uint256): 0x02, 0x02 -> 0x09
// data(uint256,uint256): 0x05, 0x01 -> 0x11
// data(uint256,uint256): 0x06, 0x00 -> FAILURE
@@ -12,9 +12,9 @@ contract Test {
// compileViaYul: also
// ----
// set(uint24[]): 0x20, 18, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 -> 18
// gas irOptimized: 100066
// gas legacy: 103815
// gas legacyOptimized: 101614
// gas irOptimized: 99873
// gas legacy: 103563
// gas legacyOptimized: 101397
// data(uint256): 7 -> 8
// data(uint256): 15 -> 16
// data(uint256): 18 -> FAILURE
@@ -21,6 +21,6 @@ contract B {
// compileViaYul: also
// ----
// f() -> 2, 3, 4, 5, 6, 1000, 1001, 1002, 1003, 1004
// gas irOptimized: 121038
// gas legacy: 235339
// gas legacyOptimized: 133299
// gas irOptimized: 120848
// gas legacy: 235199
// gas legacyOptimized: 133119
@@ -45,6 +45,6 @@ contract C {
// compileViaYul: also
// ----
// test() -> 5, 6, 7
// gas irOptimized: 299965
// gas legacy: 463662
// gas legacyOptimized: 296513
// gas irOptimized: 297690
// gas legacy: 462080
// gas legacyOptimized: 294938