From 19c8ba5021fd6d046921f2b00b2fb7e99e49828b Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Tue, 5 Sep 2017 11:51:32 -0700 Subject: [PATCH] Eliminate the `sig` argument to translate_operator. The current function's return types are pushed as the first control stack frame. --- lib/wasm/src/code_translator.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/wasm/src/code_translator.rs b/lib/wasm/src/code_translator.rs index 0b540782f6..1e96b02c4d 100644 --- a/lib/wasm/src/code_translator.rs +++ b/lib/wasm/src/code_translator.rs @@ -126,7 +126,6 @@ pub fn translate_function_body( &mut builder, runtime, &mut state, - sig, functions, signatures, exports, @@ -171,7 +170,6 @@ fn translate_operator( builder: &mut FunctionBuilder, runtime: &mut WasmRuntime, state: &mut TranslationState, - sig: &Signature, functions: &[SignatureIndex], signatures: &[Signature], exports: &Option>, @@ -439,7 +437,7 @@ fn translate_operator( } } Operator::Return => { - let return_count = sig.return_types.len(); + let return_count = state.control_stack[0].return_values().len(); let cut_index = state.stack.len() - return_count; builder.ins().return_(&state.stack[cut_index..]); state.stack.truncate(cut_index);