Skip to content

Commit

Permalink
T
Browse files Browse the repository at this point in the history
  • Loading branch information
Vectorized committed Jan 9, 2024
1 parent efb6b2a commit 14c0592
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
14 changes: 7 additions & 7 deletions .gas-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -914,9 +914,9 @@ ReceiverTest:test__codesize() (gas: 3310)
RedBlackTreeLibTest:testRedBlackTreeBenchUint160() (gas: 3438464)
RedBlackTreeLibTest:testRedBlackTreeBenchUint256() (gas: 5850774)
RedBlackTreeLibTest:testRedBlackTreeClear() (gas: 57543)
RedBlackTreeLibTest:testRedBlackTreeClear(uint256) (runs: 256, μ: 262319, ~: 214235)
RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 256, μ: 617283, ~: 516591)
RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 256, μ: 415017, ~: 386681)
RedBlackTreeLibTest:testRedBlackTreeClear(uint256) (runs: 256, μ: 321682, ~: 226397)
RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove(uint256) (runs: 256, μ: 655944, ~: 520109)
RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove2(uint256) (runs: 256, μ: 408850, ~: 364565)
RedBlackTreeLibTest:testRedBlackTreeInsertAndRemove3() (gas: 21537965)
RedBlackTreeLibTest:testRedBlackTreeInsertBenchStep() (gas: 3711341)
RedBlackTreeLibTest:testRedBlackTreeInsertBenchUint160() (gas: 3476959)
Expand All @@ -925,16 +925,16 @@ RedBlackTreeLibTest:testRedBlackTreeInsertOneGas() (gas: 45574)
RedBlackTreeLibTest:testRedBlackTreeInsertTenGas() (gas: 283398)
RedBlackTreeLibTest:testRedBlackTreeInsertThreeGas() (gas: 96286)
RedBlackTreeLibTest:testRedBlackTreeInsertTwoGas() (gas: 69823)
RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 256, μ: 229059, ~: 222642)
RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 256, μ: 251339, ~: 246502)
RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 256, μ: 227590, ~: 192926)
RedBlackTreeLibTest:testRedBlackTreeNearest(uint256) (runs: 256, μ: 235330, ~: 222642)
RedBlackTreeLibTest:testRedBlackTreeNearestAfter(uint256) (runs: 256, μ: 257881, ~: 246502)
RedBlackTreeLibTest:testRedBlackTreeNearestBefore(uint256) (runs: 256, μ: 222971, ~: 192926)
RedBlackTreeLibTest:testRedBlackTreePointers() (gas: 91923)
RedBlackTreeLibTest:testRedBlackTreeRejectsEmptyValue() (gas: 3238)
RedBlackTreeLibTest:testRedBlackTreeRemoveViaPointer() (gas: 58216)
RedBlackTreeLibTest:testRedBlackTreeTreeFullReverts() (gas: 50359)
RedBlackTreeLibTest:testRedBlackTreeTryInsertAndRemove() (gas: 56162)
RedBlackTreeLibTest:testRedBlackTreeValues() (gas: 175206)
RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 256, μ: 264454, ~: 218626)
RedBlackTreeLibTest:testRedBlackTreeValues(uint256) (runs: 256, μ: 280036, ~: 235491)
RedBlackTreeLibTest:test__codesize() (gas: 14795)
ReentrancyGuardTest:testRecursiveDirectUnguardedCall() (gas: 34256)
ReentrancyGuardTest:testRecursiveIndirectUnguardedCall() (gas: 47773)
Expand Down
6 changes: 3 additions & 3 deletions src/utils/RedBlackTreeLib.sol
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ library RedBlackTreeLib {
visit(and(packed_, _BITMASK_KEY)) // Visit left child.
let value_ := shr(_BITPOS_PACKED_VALUE, packed_) // Current value.
if iszero(value_) { value_ := sload(or(current_, _BIT_FULL_VALUE_SLOT)) }
mstore(mload(0x20), value_)
mstore(0x20, add(0x20, mload(0x20)))
mstore(mload(0x20), value_) // Append the value to results.
mstore(0x20, add(0x20, mload(0x20))) // Advance the results offset.
visit(and(shr(_BITPOS_RIGHT, packed_), _BITMASK_KEY)) // Visit right child.
}
result := mload(0x40)
Expand All @@ -117,7 +117,7 @@ library RedBlackTreeLib {
mstore(0x00, nodes) // Cache the nodes pointer in scratch space.
mstore(0x20, add(result, 0x20)) // Cache the results offset in scratch space.
mstore(0x40, add(mload(0x20), shl(5, mload(result)))) // Allocate memory.
visit(shr(128, rootPacked))
visit(shr(128, rootPacked)) // Start the tree traversal.
}
}

Expand Down

0 comments on commit 14c0592

Please sign in to comment.