aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-01-20 15:47:08 -0800
committerAlon Zakai <alonzakai@gmail.com>2014-01-20 15:47:08 -0800
commit6367ccb17a347bb3cf80ca21858d4869ae84c4da (patch)
tree928b3e7489d6d42b0599af85264c628ea8b9e47b
parent68befa5a3eea1514fb95049419299978c10fd66f (diff)
initialize start of setjmp table
-rw-r--r--lib/Target/JSBackend/CallHandlers.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/JSBackend/CallHandlers.h b/lib/Target/JSBackend/CallHandlers.h
index 10227e9b89..1ecde2c064 100644
--- a/lib/Target/JSBackend/CallHandlers.h
+++ b/lib/Target/JSBackend/CallHandlers.h
@@ -131,7 +131,8 @@ DEF_CALL_HANDLER(emscripten_resume, {
// setjmp support
DEF_CALL_HANDLER(emscripten_prep_setjmp, {
- return getAssign("_setjmpTable", Type::getInt32Ty(CI->getContext())) + "STACKTOP; STACKTOP=(STACKTOP+168)|0"; // XXX FIXME
+ return getAssign("_setjmpTable", Type::getInt32Ty(CI->getContext())) + "STACKTOP; STACKTOP=(STACKTOP+168)|0;" + // XXX FIXME
+ "HEAP32[_setjmpTable>>2]=0";
})
DEF_CALL_HANDLER(emscripten_setjmp, {
// env, label, table