[WebAssembly] Add asm.js-style setjmp/longjmp handling for wasm (reland r280302)
authorHeejin Ahn <aheejin@gmail.com>
Thu, 1 Sep 2016 21:05:15 +0000 (21:05 +0000)
committerHeejin Ahn <aheejin@gmail.com>
Thu, 1 Sep 2016 21:05:15 +0000 (21:05 +0000)
commitc0f18172f56ad349f56fefc15131cef2782bec8a
tree3a6cb93d770c4ae800194de111d700ee170d57b8
parent06d466a9bc4996a915cda13274aaccaf4323f9c5
[WebAssembly] Add asm.js-style setjmp/longjmp handling for wasm (reland r280302)

Summary: This patch adds asm.js-style setjmp/longjmp handling support for WebAssembly. It also uses JavaScript's try and catch mechanism.

Reviewers: jpp, dschuff

Subscribers: jfb, dschuff

Differential Revision: https://reviews.llvm.org/D24121

llvm-svn: 280415
llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-options.ll [new file with mode: 0644]
llvm/test/CodeGen/WebAssembly/lower-em-exceptions-whitelist.ll
llvm/test/CodeGen/WebAssembly/lower-em-exceptions.ll
llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll [new file with mode: 0644]