aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-01-10 18:25:05 -0800
committerAlon Zakai <alonzakai@gmail.com>2014-01-10 18:25:05 -0800
commitf7dee4ac94ca763fa329ff8d274550e359848dd2 (patch)
tree5ca5642e02342f1fa238d452259c6c58c5d13c40
parente0d2e7e012a9b0aad5352382da3cade16dfaac6c (diff)
implement resume
-rw-r--r--lib/Target/JSBackend/CallHandlers.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/JSBackend/CallHandlers.h b/lib/Target/JSBackend/CallHandlers.h
index b1fb16beb3..3b7887fceb 100644
--- a/lib/Target/JSBackend/CallHandlers.h
+++ b/lib/Target/JSBackend/CallHandlers.h
@@ -124,6 +124,9 @@ DEF_CALL_HANDLER(emscripten_landingpad, {
Ret += ")|0";
return Ret;
})
+DEF_CALL_HANDLER(emscripten_resume, {
+ return "___resumeException(" + getValueAsCastStr(CI->getOperand(0)) + ")";
+})
DEF_CALL_HANDLER(getHigh32, {
return getAssign(getJSName(CI), CI->getType()) + "tempRet0";
@@ -577,6 +580,7 @@ void setupCallHandlers() {
SETUP_CALL_HANDLER(emscripten_preinvoke);
SETUP_CALL_HANDLER(emscripten_postinvoke);
SETUP_CALL_HANDLER(emscripten_landingpad);
+ SETUP_CALL_HANDLER(emscripten_resume);
SETUP_CALL_HANDLER(getHigh32);
SETUP_CALL_HANDLER(setHigh32);
SETUP_CALL_HANDLER(FPtoILow);