Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Nov 27 23:42
    cameel commented #10429
  • Nov 27 22:57
    axic synchronize #10430
  • Nov 27 22:57

    axic on wasm-select

    [ewasm] Use select instruction … (compare)

  • Nov 27 22:48
    axic review_requested #10404
  • Nov 27 22:48
    axic review_requested #10404
  • Nov 27 22:48
    axic review_requested #10404
  • Nov 27 22:48
    axic synchronize #10404
  • Nov 27 22:48
    axic ready_for_review #10404
  • Nov 27 22:48

    axic on ewasm-eq-simplify

    [ewasm] Change eq() in polyfill… (compare)

  • Nov 27 22:41
    axic review_requested #10430
  • Nov 27 22:41
    axic review_requested #10430
  • Nov 27 22:41
    axic opened #10430
  • Nov 27 22:40

    axic on wasm-select

    [ewasm] Add i32.select/i64.sele… [ewasm] Use select instruction … (compare)

  • Nov 27 22:39
    axic edited #10404
  • Nov 27 21:57
    cameel synchronize #10429
  • Nov 27 21:57

    cameel on fix-and-enable-external-tests

    Don't force a higher Truffle ve… (compare)

  • Nov 27 21:35
    cameel synchronize #10429
  • Nov 27 21:35

    cameel on fix-and-enable-external-tests

    [TMP] Switch Gnosis external te… (compare)

  • Nov 27 21:21
    axic synchronize #10404
  • Nov 27 21:21

    axic on ewasm-eq-simplify

    [ewasm] Simplify eq() polyfill … f (compare)

Kamil Śliwak
@cameel
which used to be the effect of m_generateEvmBytecode.
Alex Beregszaszi
@axic
generateEVMFromIR is the replacement for acompileContract — the whole point of the issue this implements is to change the internal pipeline to IR and compileContract is the only piece which does the old route, but both functions output the same fields
Kamil Śliwak
@cameel
I mean, it's an alternative for it.
You can call one, the other or none of them.
Alex Beregszaszi
@axic
I just don’t see how EVM bytecode generation is skipped in the PR.
Kamil Śliwak
@cameel
Maybe I'll try to explain in a different way. My primary concern is this:
https://github.com/ethereum/solidity/blob/develop/libsolidity/interface/StandardCompiler.cpp#L913
Alex Beregszaszi
@axic
What does that has to do with the IR?
Kamil Śliwak
@cameel
i.e. standard JSON already has code to decide whether to enable evm bytecode compilation or not. and m_generateEvmBytecode was just a dumb flag
Alex Beregszaszi
@axic
I think you may be misreading the diff in the PR because the logic is not changed
Or perhaps you are talking about introducing further clarification which is tangential to the PR?
Kamil Śliwak
@cameel
Let's put it differently: why not do enableEvmBytecodeGeneration(!m_viaIR) in CommandLineInterface.cpp instead?
It would be more in line with what standard JSON does.
Alex Beregszaszi
@axic
The viaIR option is not only for the EVM output, but plenty of others.
It changes the source maps, the gas estimates, etc.
Kamil Śliwak
@cameel
I'm not saying to remove it.
I'm just wondering why standard JSON enables/disables evm compilation via enableEvmBytecodeGeneration() while CLI goes around it.
Alex Beregszaszi
@axic
The original discussion which this PR fixes is #8722 and that proposes the exact thing you are saying, but now I am more on the side with @chriseth that switching the pipeline is a clearer option.

I'm just wondering why standard JSON enables/disables evm compilation via enableEvmBytecodeGeneration() while CLI goes around it.

Because nobody cares about the CLI. We have been asking everyone to move over to the standard json. I consider the non-standard-json options of the CLI for compiler development purposes, and not as production tools.

Kamil Śliwak
@cameel
No, that's not what I mean. I'm not saying that your options should be an output options.
Alex Beregszaszi
@axic
Please read #8722 :)
Kamil Śliwak
@cameel
I've read it already :)
Alex Beregszaszi
@axic
#8722 says to add an output option, —ir-bin.
Kamil Śliwak
@cameel
Yeah. And that's not what I'm saying. I know that your option just changes the pipeline so that the --bin output starts coming from IR.
Alex Beregszaszi
@axic

I'm just wondering why standard JSON enables/disables evm compilation via enableEvmBytecodeGeneration() while CLI goes around it.

I’m not sure what the CLI is doing, but that thing is added to the standard json for speed purposes — to avoid generating that code in the first place. I assume the CLI just filters afterwards, as was the JSON interface doing initially. And the json interface is the one used by most so that is speed critical. Probably someone forgot to update the CLI code.

Kamil Śliwak
@cameel
ok, my bad, I reread what you wrote here and looks like I got it wrong. Sorry.
I mean, I understand what #8722 says and the difference between --ir-bin and your flag. Just for some reason I was interpreting the meaning of m_generateEvmBytecode in different ways in different contexts...
Alex Beregszaszi
@axic

No worries, sorry if I came across as a bit antsy :)

Just knew that it would take forever resolving this via github comments.

Kamil Śliwak
@cameel
Right :)
Leonardo
@leonardoalt
@mijovic ethereum/solidity#10120 and ethereum/solidity#10139 still need to be reviewed though
Đorđe Mijović
@mijovic
@leonardoalt ah, missed them. Will do review. Also, what is state of CHC early return PR?
Alex Beregszaszi
@axic
Every time I try to close some projects or issues, it turns into finding some obscene rabbit hole.
Leonardo
@leonardoalt
@mijovic no hurry, just wanted to let you know. I need to rewrite the return PR, will do it next week
@axic you should work for the government
Alex Beregszaszi
@axic
Why?
Leonardo
@leonardoalt
Imagine how much stuff you'd find
StackenBotten
@stackenbotten
❌ Nightly job t_ubu_ossfuzz failed on develop. Please see https://circleci.com/gh/ethereum/solidity/484489 for details.
StackenBotten
@stackenbotten
❌ Nightly job t_ubu_ossfuzz failed on develop. Please see https://circleci.com/gh/ethereum/solidity/484498 for details.
DIGITALAX
@DIGITALAX__twitter
Hey guys! It is Emma here from DIGITALAX. We are a new project, just announced our launch a few days ago. We are a digital fashion NFT tool stack on Ethereum. We are addressing core problems around NFT liquidity and stability and introducing digital-only materials & the bridging between real-world precious commodities (gold, silver, diamonds), single edition NFT auctions, decentralised supply chain management & automation, Open Digital Licenses, NFT Composition management (Parent & Child NFT), NFT + crypto asset wrapper, NFT staking, and NFT Collateralization Contracts (Vir).
You can read more here: https://digitalax.gitbook.io/digitalax/
We are currently working with over 30 digital fashion designers globally, and going live with our first auctions mid November.
We are looking to expand our team and bring on board full time Solidity and full stack developers to join us. If you are interested please see full details here: https://drive.google.com/file/d/1QzZIXSTlfe7Tk0DEHhHjsbWyofuOxpOj/view?usp=sharing
StackenBotten
@stackenbotten
❌ Nightly job t_ubu_ossfuzz failed on develop. Please see https://circleci.com/gh/ethereum/solidity/484548 for details.
chriseth
@chriseth
@cameel abount solc-bin: We are actually not mentioning it in https://solidity.readthedocs.io/en/v0.7.4/installing-solidity.html at all - can you update that page, please?
chriseth
@chriseth
@axic did you participate in friday's all core devs? Which version of the subroutine eip is currently being considered?
Đorđe Mijović
@mijovic

@chriseth Does it make sense to move tests like this:

BOOST_AUTO_TEST_CASE(many_local_variables)
{
    char const* sourceCode = R"(
        contract test {
            function run(uint x1, uint x2, uint x3) public returns(uint y) {
                uint8 a = 0x1; uint8 b = 0x10; uint16 c = 0x100;
                y = a + b + c + x1 + x2 + x3;
                y += b + x2;
            }
        }
    )";
    auto f = [](u256 const& x1, u256 const& x2, u256 const& x3) -> u256
    {
        u256 a = 0x1;
        u256 b = 0x10;
        u256 c = 0x100;
        u256 y = a + b + c + x1 + x2 + x3;
        return y + b + x2;
    };
    ALSO_VIA_YUL(
        DISABLE_EWASM_TESTRUN()

        compileAndRun(sourceCode);
        testContractAgainstCpp("run(uint256,uint256,uint256)", f, u256(0x1000), u256(0x10000), u256(0x100000));
    )
}

to semnatic tests?
If yes, we can move a lot of them in that case

Kamil Śliwak
@cameel
@chriseth Sure. I'll update it.
chriseth
@chriseth
@mijovic yes, unless it uses the feature to compare a c++ and a solidity implemnetation in a loop
I'm not feeling well today, I think I cannot do proper reviews
Leonardo
@leonardoalt
get well soon @chriseth , go recover!
chriseth
@chriseth
would be nice to get a review on ethereum/solidity#10096 so It can be merged into breaking and be enabled by default there
thanks!
is anyone working on ethereum/solidity#7999 ? it is in the "in progress" column
Leonardo
@leonardoalt
I don't think so
chriseth
@chriseth
@a3d4 are you working on ethereum/solidity#9951 ?