2
0
Эх сурвалжийг харах

* always keep the WebAssembly stack frame aligned on 16 bytes

git-svn-id: trunk@49179 -
nickysn 4 жил өмнө
parent
commit
340a71d2bc

+ 7 - 0
compiler/wasm32/cpupi.pas

@@ -36,6 +36,7 @@ interface
 
     tcpuprocinfo=class(tcgprocinfo)
     public
+      function calc_stackframe_size : longint;override;
       procedure setup_eh; override;
       procedure postprocess_code; override;
       procedure set_first_temp_offset;override;
@@ -77,6 +78,12 @@ implementation
                            tcpuprocinfo
 *****************************************************************************}
 
+    function tcpuprocinfo.calc_stackframe_size: longint;
+      begin
+        { the stack frame in WebAssembly should always have a 16-byte alignment }
+        Result:=Align(inherited calc_stackframe_size,16);
+      end;
+
     procedure tcpuprocinfo.setup_eh;
       begin
         cexceptionstatehandler:=twasmexceptionstatehandler;