diff options
Diffstat (limited to 'src/jsifier.js')
-rw-r--r-- | src/jsifier.js | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 501ed3f9..b14c213f 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -926,7 +926,8 @@ function JSify(data, functionsOnly, givenFunctions) { return ret + ';'; }); makeFuncLineActor('resume', function(item) { - return (EXCEPTION_DEBUG ? 'print("Resuming exception");' : '') + 'throw [0,0];'; + return (EXCEPTION_DEBUG ? 'print("Resuming exception");' : '') + + 'throw ' + makeGetValue('_llvm_eh_exception.buf', '0', 'void*') + ';'; }); makeFuncLineActor('invoke', function(item) { // Wrapping in a function lets us easily return values if we are @@ -945,7 +946,8 @@ function JSify(data, functionsOnly, givenFunctions) { }); makeFuncLineActor('landingpad', function(item) { // Just a stub - return '{ f0: 0, f1: 0 }'; + return '{ f0: ' + makeGetValue('_llvm_eh_exception.buf', '0', 'void*') + + ', f1:' + makeGetValue('_llvm_eh_exception.buf', QUANTUM_SIZE, 'void*') + ' }'; }); makeFuncLineActor('load', function(item) { var value = finalizeLLVMParameter(item.pointer); |