From 677d54e46deedc17840a19968477cc9db2e4b1e3 Mon Sep 17 00:00:00 2001 From: Jef Date: Wed, 27 Feb 2019 17:59:27 +0100 Subject: [PATCH] Experimental br_table support --- src/backend.rs | 110 ++++++++++++++++++++++++++++++++++++++++--- src/function_body.rs | 61 +++++++++++++++++++++++- src/microwasm.rs | 52 ++++++++++++++++---- src/tests.rs | 46 ++++++++++++++++-- 4 files changed, 248 insertions(+), 21 deletions(-) diff --git a/src/backend.rs b/src/backend.rs index 41debc84ba..93d3aaff8d 100644 --- a/src/backend.rs +++ b/src/backend.rs @@ -1,6 +1,6 @@ #![allow(dead_code)] // for now -use microwasm::{SignlessType, Type, F32, F64, I32, I64}; +use microwasm::{BrTarget, SignlessType, Type, F32, F64, I32, I64}; use self::registers::*; use dynasmrt::x64::Assembler; @@ -631,6 +631,7 @@ pub enum MemoryAccessMode { #[derive(Default)] struct Labels { trap: Option