File tree 1 file changed +3
-3
lines changed
1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -3716,7 +3716,7 @@ procedure TSEGarbageCollector.GC;
3716
3716
begin
3717
3717
VM := VMList[I];
3718
3718
P := @VM.Stack[0 ];
3719
- while P <= VM.StackPtr do
3719
+ while P < VM.StackPtr do
3720
3720
begin
3721
3721
Mark(P);
3722
3722
Inc(P);
@@ -4449,7 +4449,6 @@ procedure TSEVM.Exec;
4449
4449
StackPtrLocal := Self.StackPtr;
4450
4450
BinaryPtrLocal := Self.BinaryPtr;
4451
4451
BinaryLocal := Self.Binaries[Self.BinaryPtr].Ptr(0 );
4452
- GC.CheckForGC;
4453
4452
4454
4453
while True do
4455
4454
try
@@ -4934,6 +4933,7 @@ procedure TSEVM.Exec;
4934
4933
{ $ifdef SE_COMPUTED_GOTO} labelCallScript{ $else} opCallScript{ $endif} :
4935
4934
begin
4936
4935
CallScript:
4936
+ GC.CheckForGC;
4937
4937
ArgCount := Integer(BinaryLocal[CodePtrLocal + 2 ].VarPointer);
4938
4938
FuncScriptInfo := Self.Parent.FuncScriptList.Ptr(Integer(BinaryLocal[CodePtrLocal + 1 ].VarPointer));
4939
4939
Inc(Self.FramePtr);
@@ -4951,7 +4951,6 @@ procedure TSEVM.Exec;
4951
4951
end ;
4952
4952
{ $ifdef SE_COMPUTED_GOTO} labelPopFrame{ $else} opPopFrame{ $endif} :
4953
4953
begin
4954
- GC.CheckForGC;
4955
4954
CodePtrLocal := Self.FramePtr^.Code;
4956
4955
StackPtrLocal := Self.FramePtr^.Stack;
4957
4956
BinaryPtrLocal := Self.FramePtr^.Binary;
@@ -5276,6 +5275,7 @@ procedure TSEVM.Exec;
5276
5275
Self.CodePtr := CodePtrLocal;
5277
5276
Self.StackPtr := StackPtrLocal;
5278
5277
Self.BinaryPtr := BinaryPtrLocal;
5278
+ GC.CheckForGC;
5279
5279
end ;
5280
5280
5281
5281
constructor TEvilC.Create;
You can’t perform that action at this time.
0 commit comments