diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-02-21 09:55:01 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-02-21 09:55:01 -0800 |
commit | 282f297568fbdc7d347ef3cdf8a00324b39eace7 (patch) | |
tree | affa91349b69f1da2e91411a8bbcdf03082c4e26 /src/jsifier.js | |
parent | 3c61023b189c412302981d6d029e21a58e9b428a (diff) | |
parent | e6f092d69f1806153571e6e808caea76f8bf5190 (diff) |
Merge pull request #265 from adetaylor/polymorphic-exception-handling
Polymorphic exception handling.
Diffstat (limited to 'src/jsifier.js')
-rw-r--r-- | src/jsifier.js | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index b3701112..bc827135 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -988,9 +988,8 @@ function JSify(data, functionsOnly, givenFunctions) { } }); makeFuncLineActor('landingpad', function(item) { - // Just a stub - return '{ f0: ' + makeGetValue('_llvm_eh_exception.buf', '0', 'void*') + - ', f1:' + makeGetValue('_llvm_eh_exception.buf', QUANTUM_SIZE, 'void*') + ' }'; + var catchTypeArray = item.catchables.map(finalizeLLVMParameter).join(','); + return '___cxa_find_matching_catch('+ makeGetValue('_llvm_eh_exception.buf', '0', 'void*') +',' + makeGetValue('_llvm_eh_exception.buf', QUANTUM_SIZE, 'void*') + ',[' + catchTypeArray +'])'; }); makeFuncLineActor('load', function(item) { var value = finalizeLLVMParameter(item.pointer); |