summaryrefslogtreecommitdiff
path: root/src/binaryen-c.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/binaryen-c.cpp')
-rw-r--r--src/binaryen-c.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp
index 8e9ea8589..b0250a270 100644
--- a/src/binaryen-c.cpp
+++ b/src/binaryen-c.cpp
@@ -2373,12 +2373,13 @@ const char* BinaryenExportGetValue(BinaryenExportRef export_) {
// ========== CFG / Relooper ==========
//
-RelooperRef RelooperCreate(void) {
+RelooperRef RelooperCreate(BinaryenModuleRef module) {
if (tracing) {
- std::cout << " the_relooper = RelooperCreate();\n";
+ std::cout << " the_relooper = RelooperCreate(the_module);\n";
}
- return RelooperRef(new CFG::Relooper());
+ auto* wasm = (Module*)module;
+ return RelooperRef(new CFG::Relooper(wasm));
}
RelooperBlockRef RelooperAddBlock(RelooperRef relooper, BinaryenExpressionRef code) {
@@ -2440,15 +2441,15 @@ void RelooperAddBranchForSwitch(RelooperBlockRef from, RelooperBlockRef to, Bina
fromBlock->AddSwitchBranchTo(toBlock, std::move(values), (Expression*)code);
}
-BinaryenExpressionRef RelooperRenderAndDispose(RelooperRef relooper, RelooperBlockRef entry, BinaryenIndex labelHelper, BinaryenModuleRef module) {
+BinaryenExpressionRef RelooperRenderAndDispose(RelooperRef relooper, RelooperBlockRef entry, BinaryenIndex labelHelper) {
auto* R = (CFG::Relooper*)relooper;
R->Calculate((CFG::Block*)entry);
- CFG::RelooperBuilder builder(*(Module*)module, labelHelper);
+ CFG::RelooperBuilder builder(*R->Module, labelHelper);
auto* ret = R->Render(builder);
if (tracing) {
auto id = noteExpression(ret);
- std::cout << " expressions[" << id << "] = RelooperRenderAndDispose(the_relooper, relooperBlocks[" << relooperBlocks[entry] << "], " << labelHelper << ", the_module);\n";
+ std::cout << " expressions[" << id << "] = RelooperRenderAndDispose(the_relooper, relooperBlocks[" << relooperBlocks[entry] << "], " << labelHelper << ");\n";
relooperBlocks.clear();
}