PascalScript: sync with original from GIT

git-svn-id: trunk@42194 -
This commit is contained in:
martin 2013-07-24 11:10:00 +00:00
parent 34e144634c
commit e96caf8f0b
3 changed files with 10 additions and 3 deletions

View File

@ -10875,7 +10875,7 @@ begin
Result := Caller.InnerfuseCall(FSelf, p.Ext2, cdregister, Params, nil);
finally
Params.Clear;
DestroyHeapVariant(n2);
//DestroyHeapVariant(n2);
DisposePPSVariantIFCList(Params);
end;
end;

View File

@ -14,7 +14,7 @@ procedure x64call(
_RCX, _RDX, _R8, _R9: IPointer;
var _XMM0: 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
(* Registers:
RCX: Address
@ -41,7 +41,7 @@ asm
push qword ptr [rdx]
{$ELSE}
push [rdx]
{$IFEND}
{$ENDIF}
dec rcx
sub rdx,8
@compareitems:

View File

@ -253,6 +253,7 @@ var
pp: ^Byte;
{$IFDEF FPC}
IsConstructor,IsVirtualCons: Boolean;
MethodData: TMethod;
{$ENDIF}
EAX, EDX, ECX: Longint;
@ -464,9 +465,15 @@ var
btProcPtr:
begin
{$IFDEF FPC}
MethodData := MKMethod(Self, Longint(FVar.Dta^));
TempStr := StringOfChar(AnsiChar(#0),4);
Pointer((@TempStr[1])^) := @MethodData;
{$ELSE}
tempstr := StringOfChar(AnsiChar(#0),8);
TMethod((@TempStr[1])^) := MKMethod(Self, Longint(FVar.Dta^));
UseReg := false;
{$ENDIF}
end;
{$IFNDEF PS_NOINT64}bts64: