Skip to content

Further enhancements to ExpressionRunner #2786

Open
@dcodeIO

Description

@dcodeIO

I've meanwhile integrated the new ExpressionRunner (#2702) and it does what I've been hoping for, except for one edge case:

The expression runner allows to evaluate just the value of an expression, but if we have code like

(block
 (drop
  (local.get $0)
 )
 (i32.const 0)
)

and there is no known value for the local.get, it considers the expression a NONCONSTANT_FLOW and stops, instead of recognizing that the local.get is being dropped anyway, returning i32.const(0). Have looked at the code again, but supporting this seems like a non-trivial change. Any suggestions?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions