Skip to content

Conversation

@chfast
Copy link
Member

@chfast chfast commented May 22, 2024

This is more correct C++ because it avoids the "bottom" pointer (one below the stack space base pointer). In C++ only pointers to the elements of an array and the "end" pointers are well defined.

This also potentially helps with the "overaligned" stack space optimization. To be continued...

@codecov
Copy link

codecov bot commented May 22, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.54%. Comparing base (53bcba6) to head (e9bb059).
Report is 1 commits behind head on master.

Additional details and impacted files
@@ Coverage Diff @@ ## master #895 +/- ## ======================================= Coverage 94.54% 94.54% ======================================= Files 175 175 Lines 19673 19674 +1 ======================================= + Hits 18599 18600 +1  Misses 1074 1074 
Flag Coverage Δ
eest_gmp 15.28% <59.09%> (-0.01%) ⬇️
eof_execution_spec_tests 19.77% <83.33%> (-0.01%) ⬇️
ethereum_tests 21.34% <58.33%> (-0.01%) ⬇️
ethereum_tests_silkpre 18.29% <59.09%> (-0.01%) ⬇️
execution_spec_tests 18.44% <58.33%> (-0.01%) ⬇️
unittests 91.95% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
lib/evmone/advanced_analysis.hpp 96.15% <100.00%> (ø)
lib/evmone/baseline_execution.cpp 100.00% <100.00%> (ø)
lib/evmone/execution_state.hpp 95.52% <100.00%> (-0.07%) ⬇️
lib/evmone/instructions.hpp 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
@chfast
Copy link
Member Author

chfast commented May 22, 2024

Seems no performance regressions:

Zen2, clang-18:

baseline/execute/main/blake2b_huff/empty_mean +0.0013 +0.0013 10 10 10 10 baseline/execute/main/blake2b_huff/8415nulls_mean -0.0105 -0.0105 603 597 603 597 baseline/execute/main/blake2b_shifts/8415nulls_mean -0.0268 -0.0268 5650 5498 5650 5498 baseline/execute/main/sha1_divs/empty_mean -0.0080 -0.0080 42 42 42 42 baseline/execute/main/sha1_divs/5311_mean +0.0010 +0.0010 3335 3338 3335 3338 baseline/execute/main/sha1_shifts/empty_mean -0.0070 -0.0070 22 21 22 21 baseline/execute/main/sha1_shifts/5311_mean -0.0081 -0.0081 1776 1761 1776 1761 baseline/execute/main/snailtracer/benchmark_mean -0.0088 -0.0088 29799 29538 29799 29538 baseline/execute/main/structarray_alloc/nfts_rank_mean -0.0136 -0.0136 396 391 396 391 baseline/execute/main/swap_math/spent_mean -0.0081 -0.0081 2 2 2 2 baseline/execute/main/swap_math/received_mean -0.0133 -0.0133 2 2 2 2 baseline/execute/main/swap_math/insufficient_liquidity_mean -0.0034 -0.0034 1 1 1 1 baseline/execute/main/weierstrudel/1_mean -0.0019 -0.0019 139 139 139 139 baseline/execute/main/weierstrudel/15_mean -0.0119 -0.0119 1387 1370 1387 1370 OVERALL_GEOMEAN -0.0085 -0.0085 0 0 0 0 
@chfast chfast force-pushed the stack_space_end branch 3 times, most recently from 35df236 to fdfdaaa Compare May 15, 2025 21:05
@chfast chfast requested review from gumb0, pdobacz and rodiazet May 15, 2025 21:05
@chfast chfast force-pushed the stack_space_end branch from fdfdaaa to e9bb059 Compare May 15, 2025 21:52
Copy link
Member

@pdobacz pdobacz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

codewise LGTM, but what does this accomplish? (put in the pr description too)

@chfast chfast merged commit d9b77e5 into master May 16, 2025
26 checks passed
@chfast chfast deleted the stack_space_end branch May 16, 2025 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants