|
@@ -26,7 +26,7 @@ unit aasmcpu;
|
|
|
interface
|
|
interface
|
|
|
|
|
|
|
|
uses
|
|
uses
|
|
|
- cclasses,
|
|
|
|
|
|
|
+ sysutils,cclasses,
|
|
|
globtype,globals,verbose,
|
|
globtype,globals,verbose,
|
|
|
aasmbase,aasmtai,aasmdata,aasmsym,
|
|
aasmbase,aasmtai,aasmdata,aasmsym,
|
|
|
cgbase,cgutils,cpubase,cpuinfo,ogbase,
|
|
cgbase,cgutils,cpubase,cpuinfo,ogbase,
|
|
@@ -539,8 +539,8 @@ uses
|
|
|
|
|
|
|
|
destructor TWasmValidationStacks.Destroy;
|
|
destructor TWasmValidationStacks.Destroy;
|
|
|
begin
|
|
begin
|
|
|
- FValueStack.Free;
|
|
|
|
|
- FCtrlStack.Free;
|
|
|
|
|
|
|
+ FreeAndNil(FValueStack);
|
|
|
|
|
+ FreeAndNil(FCtrlStack);
|
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -1272,9 +1272,9 @@ uses
|
|
|
|
|
|
|
|
destructor tai_wasmstruc_if.Destroy;
|
|
destructor tai_wasmstruc_if.Destroy;
|
|
|
begin
|
|
begin
|
|
|
- then_asmlist.free;
|
|
|
|
|
- else_asmlist.free;
|
|
|
|
|
- if_instr.free;
|
|
|
|
|
|
|
+ FreeAndNil(then_asmlist);
|
|
|
|
|
+ FreeAndNil(else_asmlist);
|
|
|
|
|
+ FreeAndNil(if_instr);
|
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -1450,8 +1450,8 @@ uses
|
|
|
|
|
|
|
|
destructor tai_wasmstruc_block.Destroy;
|
|
destructor tai_wasmstruc_block.Destroy;
|
|
|
begin
|
|
begin
|
|
|
- inner_asmlist.free;
|
|
|
|
|
- block_instr.free;
|
|
|
|
|
|
|
+ FreeAndNil(inner_asmlist);
|
|
|
|
|
+ FreeAndNil(block_instr);
|
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -1519,8 +1519,8 @@ uses
|
|
|
|
|
|
|
|
destructor tai_wasmstruc_loop.Destroy;
|
|
destructor tai_wasmstruc_loop.Destroy;
|
|
|
begin
|
|
begin
|
|
|
- inner_asmlist.free;
|
|
|
|
|
- loop_instr.free;
|
|
|
|
|
|
|
+ FreeAndNil(inner_asmlist);
|
|
|
|
|
+ FreeAndNil(loop_instr);
|
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -1605,7 +1605,7 @@ uses
|
|
|
|
|
|
|
|
destructor tai_wasmstruc_legacy_try.Destroy;
|
|
destructor tai_wasmstruc_legacy_try.Destroy;
|
|
|
begin
|
|
begin
|
|
|
- try_asmlist.free;
|
|
|
|
|
|
|
+ FreeAndNil(try_asmlist);
|
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -1714,10 +1714,10 @@ uses
|
|
|
begin
|
|
begin
|
|
|
for i:=low(catch_list) to high(catch_list) do
|
|
for i:=low(catch_list) to high(catch_list) do
|
|
|
begin
|
|
begin
|
|
|
- catch_list[i].asmlist.free;
|
|
|
|
|
- catch_list[i].catch_instr.free;
|
|
|
|
|
|
|
+ FreeAndNil(catch_list[i].asmlist);
|
|
|
|
|
+ FreeAndNil(catch_list[i].catch_instr);
|
|
|
end;
|
|
end;
|
|
|
- catch_all_asmlist.free;
|
|
|
|
|
|
|
+ FreeAndNil(catch_all_asmlist);
|
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -1811,8 +1811,8 @@ uses
|
|
|
|
|
|
|
|
destructor tai_wasmstruc_try_table.Destroy;
|
|
destructor tai_wasmstruc_try_table.Destroy;
|
|
|
begin
|
|
begin
|
|
|
- inner_asmlist.free;
|
|
|
|
|
- try_table_instr.free;
|
|
|
|
|
|
|
+ FreeAndNil(inner_asmlist);
|
|
|
|
|
+ FreeAndNil(try_table_instr);
|
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -1862,7 +1862,7 @@ uses
|
|
|
|
|
|
|
|
destructor tai_wasmstruc_legacy_try_delegate.Destroy;
|
|
destructor tai_wasmstruc_legacy_try_delegate.Destroy;
|
|
|
begin
|
|
begin
|
|
|
- delegate_instr.free;
|
|
|
|
|
|
|
+ FreeAndNil(delegate_instr);
|
|
|
inherited Destroy;
|
|
inherited Destroy;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -1967,7 +1967,7 @@ uses
|
|
|
|
|
|
|
|
destructor tai_functype.destroy;
|
|
destructor tai_functype.destroy;
|
|
|
begin
|
|
begin
|
|
|
- functype.free;
|
|
|
|
|
|
|
+ FreeAndNil(functype);
|
|
|
inherited;
|
|
inherited;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -2028,7 +2028,7 @@ uses
|
|
|
|
|
|
|
|
destructor taicpu.Destroy;
|
|
destructor taicpu.Destroy;
|
|
|
begin
|
|
begin
|
|
|
- try_table_catch_clauses.free;
|
|
|
|
|
|
|
+ FreeAndNil(try_table_catch_clauses);
|
|
|
inherited;
|
|
inherited;
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
@@ -4011,7 +4011,7 @@ uses
|
|
|
else
|
|
else
|
|
|
destlist.Concat(p);
|
|
destlist.Concat(p);
|
|
|
end;
|
|
end;
|
|
|
- tmplist.free;
|
|
|
|
|
|
|
+ FreeAndNil(tmplist);
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
@@ -4060,7 +4060,7 @@ uses
|
|
|
begin
|
|
begin
|
|
|
q:=tai(mapres.newlist.First);
|
|
q:=tai(mapres.newlist.First);
|
|
|
l.insertListAfter(p,mapres.newlist);
|
|
l.insertListAfter(p,mapres.newlist);
|
|
|
- mapres.newlist.free;
|
|
|
|
|
|
|
+ FreeAndNil(mapres.newlist);
|
|
|
l.Remove(p);
|
|
l.Remove(p);
|
|
|
p:=q;
|
|
p:=q;
|
|
|
end;
|
|
end;
|
|
@@ -4094,7 +4094,7 @@ uses
|
|
|
begin
|
|
begin
|
|
|
q:=tai(mapres.newlist.First);
|
|
q:=tai(mapres.newlist.First);
|
|
|
l.insertListAfter(p,mapres.newlist);
|
|
l.insertListAfter(p,mapres.newlist);
|
|
|
- mapres.newlist.free;
|
|
|
|
|
|
|
+ FreeAndNil(mapres.newlist);
|
|
|
l.Remove(p);
|
|
l.Remove(p);
|
|
|
p:=q;
|
|
p:=q;
|
|
|
end;
|
|
end;
|
|
@@ -4116,7 +4116,7 @@ uses
|
|
|
begin
|
|
begin
|
|
|
blockstack:=twasmstruc_stack.create;
|
|
blockstack:=twasmstruc_stack.create;
|
|
|
map_structured_asmlist_inner(l,f,blockstack);
|
|
map_structured_asmlist_inner(l,f,blockstack);
|
|
|
- blockstack.free;
|
|
|
|
|
|
|
+ FreeAndNil(blockstack);
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
|