• Andreas Haas's avatar
    [wasm] Cleanup calls to CalculateGlobalOffsets · 960c672c
    Andreas Haas authored
    CalculateGlobalOffsets has to be called once after all globals got
    defined but before global offsets get accessed, e.g. during code
    generation. It is not clear though when exactly CalculateGlobalOffsets
    should be called. The globals section may not exist, so at the end of
    the globals section is not enough (globals can also be defined in the
    import section). At the beginning of the code section is also not good
    enough, because the code section may not exist. At the end of the module
    may be too late.
    
    With this CL, CalculateGlobalOffsets is called after the global section,
    before the code section, and at the end of the module. Additionally the CL
    checks if CalculateGlobalOffsets has already been called, so that it is
    not executed a second time.
    
    R=manoskouk@chromium.org
    
    Bug: v8:11185
    Change-Id: I922b9f60a4a17a09d2527fd9ab35cda71226030c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2551100
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarManos Koukoutos <manoskouk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71314}
    960c672c
module-decoder.cc 94.4 KB