• Karl Schimpf's avatar
    Reland "Start migration of try/throw/catch to match proposal." · ad49b7b4
    Karl Schimpf authored
    This is a reland of 470a1001
    Original change's description:
    > Start migration of try/throw/catch to match proposal.
    > 
    > This CL does the first baby steps on moving the current (experimental)
    > exception handling to match that of the WebAssembly proposal.
    > 
    > It does the following:
    > 
    > 1) Use exception tags instead of integers.
    > 
    > 2) Only handle empty exception signatures (i.e. no values associated
    >    with the exception tag.
    > 
    > 3) Only handle one catch clause.
    > 
    > 4) Be sure to rethrow the exception if the exception tag does not match.
    > 
    > Note: There are many things that need to be fixed, and are too
    > numerous to list here. However, the code should have TODO's on each
    > missing parts of the implementation.
    > 
    > Also note that the code currently doesn't handle nested catch blocks,
    > nor does it change the throw value being an integer. Rather, the
    > integer value is still being thrown, and currently is the exception
    > tag. Therefore, we don't build an exception object. This is the reason
    > why this CL doesn't handle exceptions that pass values.
    > 
    > Also, the current implementation still can't handle multiple modules
    > because tag resolution (between) modules has not be implemented yet.
    > 
    > Bug: v8:6577
    > Change-Id: Id6d08b641b3c42d1eec7d4db582f2dab35406114
    > Reviewed-on: https://chromium-review.googlesource.com/591910
    > Reviewed-by: Brad Nelson <bradnelson@chromium.org>
    > Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#47087}
    
    Bug: v8:6577
    Change-Id: I41c3309827c292cb787681a95aaef7cf9b931835
    Reviewed-on: https://chromium-review.googlesource.com/598968Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarBrad Nelson <bradnelson@chromium.org>
    Commit-Queue: Brad Nelson <bradnelson@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47100}
    ad49b7b4
module-decoder.cc 55.2 KB