mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 09:09:17 +02:00
PascalScript: sync with original from GIT
git-svn-id: trunk@42194 -
This commit is contained in:
parent
34e144634c
commit
e96caf8f0b
@ -10875,7 +10875,7 @@ begin
|
|||||||
Result := Caller.InnerfuseCall(FSelf, p.Ext2, cdregister, Params, nil);
|
Result := Caller.InnerfuseCall(FSelf, p.Ext2, cdregister, Params, nil);
|
||||||
finally
|
finally
|
||||||
Params.Clear;
|
Params.Clear;
|
||||||
DestroyHeapVariant(n2);
|
//DestroyHeapVariant(n2);
|
||||||
DisposePPSVariantIFCList(Params);
|
DisposePPSVariantIFCList(Params);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
@ -14,7 +14,7 @@ procedure x64call(
|
|||||||
_RCX, _RDX, _R8, _R9: IPointer;
|
_RCX, _RDX, _R8, _R9: IPointer;
|
||||||
var _XMM0: Double;
|
var _XMM0: Double;
|
||||||
_XMM1, _XMM2, _XMM3: Double;
|
_XMM1, _XMM2, _XMM3: Double;
|
||||||
aStack: Pointer; aItems: {$IFDEF FPC}PtrUInt{$ELSE}IntPtr{$IFEND}); assembler; {$IFDEF FPC}nostackframe;{$ENDIF}
|
aStack: Pointer; aItems: {$IFDEF FPC}PtrUInt{$ELSE}IntPtr{$ENDIF}); assembler; {$IFDEF FPC}nostackframe;{$ENDIF}
|
||||||
asm
|
asm
|
||||||
(* Registers:
|
(* Registers:
|
||||||
RCX: Address
|
RCX: Address
|
||||||
@ -41,7 +41,7 @@ asm
|
|||||||
push qword ptr [rdx]
|
push qword ptr [rdx]
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
push [rdx]
|
push [rdx]
|
||||||
{$IFEND}
|
{$ENDIF}
|
||||||
dec rcx
|
dec rcx
|
||||||
sub rdx,8
|
sub rdx,8
|
||||||
@compareitems:
|
@compareitems:
|
||||||
|
@ -253,6 +253,7 @@ var
|
|||||||
pp: ^Byte;
|
pp: ^Byte;
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
IsConstructor,IsVirtualCons: Boolean;
|
IsConstructor,IsVirtualCons: Boolean;
|
||||||
|
MethodData: TMethod;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
EAX, EDX, ECX: Longint;
|
EAX, EDX, ECX: Longint;
|
||||||
@ -464,9 +465,15 @@ var
|
|||||||
|
|
||||||
btProcPtr:
|
btProcPtr:
|
||||||
begin
|
begin
|
||||||
|
{$IFDEF FPC}
|
||||||
|
MethodData := MKMethod(Self, Longint(FVar.Dta^));
|
||||||
|
TempStr := StringOfChar(AnsiChar(#0),4);
|
||||||
|
Pointer((@TempStr[1])^) := @MethodData;
|
||||||
|
{$ELSE}
|
||||||
tempstr := StringOfChar(AnsiChar(#0),8);
|
tempstr := StringOfChar(AnsiChar(#0),8);
|
||||||
TMethod((@TempStr[1])^) := MKMethod(Self, Longint(FVar.Dta^));
|
TMethod((@TempStr[1])^) := MKMethod(Self, Longint(FVar.Dta^));
|
||||||
UseReg := false;
|
UseReg := false;
|
||||||
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFNDEF PS_NOINT64}bts64:
|
{$IFNDEF PS_NOINT64}bts64:
|
||||||
|
Loading…
Reference in New Issue
Block a user