• Enrico Bacis's avatar
    [wasm] Add tests for grow_memory in functions inside loops · 08e8bbaf
    Enrico Bacis authored
    This CL introduces 4 test that verify that the effects of a grow_memory
    instruction executed in a function invoked inside a loop are visible
    also when the loop is over. This is needed because the
    AnalyzeLoopAssignment method in function-body-decoder.cc is creating Phi
    nodes only for variables assigned inside the loop. The test cases
    introduced by this CL verify that the mem_size and mem_start variables
    are always correct.
    
    The tests verify the output of the current_memory instruction and the
    result of loading a variable stored in the grown memory inside the
    loop in the following cases:
    
     * the memory is grown in a directly called function inside a loop;
    
     * the memory is grown in an indirectly called function inside a loop.
    
    R=ahaas@chromium.org,clemensh@chromium.org,gdeepti@chromium.org
    
    Change-Id: I2992bf4086b5eac9580c87e2e0ca06364b99714c
    Reviewed-on: https://chromium-review.googlesource.com/637911Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
    Commit-Queue: Enrico Bacis <enricobacis@google.com>
    Cr-Commit-Position: refs/heads/master@{#47674}
    08e8bbaf
grow-memory-in-call.js 19 KB