mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-01 11:02:37 +02:00
+ single, double, string and widestring operand support for jvm
git-svn-id: branches/jvmbackend@18293 -
This commit is contained in:
parent
c373748e26
commit
19275d1a4c
@ -37,7 +37,11 @@ interface
|
||||
cpuinfo,cpubase,
|
||||
cgbase,cgutils,
|
||||
symtype,
|
||||
aasmbase,aasmdata,ogbase;
|
||||
aasmbase,aasmdata,ogbase
|
||||
{$ifdef jvm}
|
||||
,widestr
|
||||
{$endif jvm}
|
||||
;
|
||||
|
||||
type
|
||||
{ keep the number of elements in this enumeration less or equal than 32 as long
|
||||
@ -187,7 +191,14 @@ interface
|
||||
{ m68k only }
|
||||
,top_regset
|
||||
{$endif m68k}
|
||||
{ i386 only});
|
||||
{$ifdef jvm}
|
||||
{ jvm only}
|
||||
,top_single
|
||||
,top_double
|
||||
,top_string
|
||||
,top_wstring
|
||||
{$endif jvm}
|
||||
);
|
||||
|
||||
{ kinds of operations that an instruction can perform on an operand }
|
||||
topertype = (operand_read,operand_write,operand_readwrite);
|
||||
@ -223,6 +234,12 @@ interface
|
||||
{$ifdef m68k}
|
||||
top_regset : (regset:^tcpuregisterset);
|
||||
{$endif m68k}
|
||||
{$ifdef jvm}
|
||||
top_single : (sval:single);
|
||||
top_double : (dval:double);
|
||||
top_string : (pcvallen: aint; pcval: pchar);
|
||||
top_wstring : (pwstrval: pcompilerwidestring);
|
||||
{$endif jvm}
|
||||
end;
|
||||
poper=^toper;
|
||||
|
||||
@ -2119,6 +2136,12 @@ implementation
|
||||
top_regset:
|
||||
dispose(regset);
|
||||
{$endif ARM}
|
||||
{$ifdef jvm}
|
||||
top_string:
|
||||
freemem(pcval);
|
||||
top_wstring:
|
||||
donewidestring(pwstrval);
|
||||
{$endif jvm}
|
||||
end;
|
||||
typ:=top_none;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user