浏览代码

+ introduced TWasmValidationStacks.PopVals

Nikolay Nikolov 1 年之前
父节点
当前提交
064adbf3f8
共有 1 个文件被更改,包括 10 次插入0 次删除
  1. 10 0
      compiler/wasm32/aasmcpu.pas

+ 10 - 0
compiler/wasm32/aasmcpu.pas

@@ -97,6 +97,7 @@ uses
         function PopVal: TWasmBasicType;
         function PopVal(expect: TWasmBasicType): TWasmBasicType;
         procedure PushVals(vals: TWasmBasicTypeList);
+        function PopVals(vals: TWasmBasicTypeList): TWasmBasicTypeList;
       end;
 
       twasmstruc_stack = class;
@@ -490,6 +491,15 @@ uses
           PushVal(v);
       end;
 
+    function TWasmValidationStacks.PopVals(vals: TWasmBasicTypeList): TWasmBasicTypeList;
+      var
+        I: Integer;
+      begin
+        SetLength(Result,Length(vals));
+        for I:=High(vals) downto Low(Vals) do
+          Result[I]:=PopVal(vals[I]);
+      end;
+
     { twasmstruc_stack }
 
     function twasmstruc_stack.Get(Index: Integer): taicpu_wasm_structured_instruction;