mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-25 17:29:26 +02:00
* fixed JVM stack height calculation after calls returning an
implicit pointer tpe git-svn-id: trunk@48832 -
This commit is contained in:
parent
4c2e0b9ff0
commit
ab0531f0ce
@ -2292,6 +2292,10 @@ implementation
|
|||||||
{ a constructor doesn't actually return a value in the jvm }
|
{ a constructor doesn't actually return a value in the jvm }
|
||||||
if (tabstractprocdef(pd).proctypeoption=potype_constructor) then
|
if (tabstractprocdef(pd).proctypeoption=potype_constructor) then
|
||||||
totalremovesize:=paraheight
|
totalremovesize:=paraheight
|
||||||
|
else if jvmimplicitpointertype(realresdef) then
|
||||||
|
totalremovesize:=paraheight-1
|
||||||
|
else if is_void(realresdef) then
|
||||||
|
totalremovesize:=paraheight
|
||||||
else
|
else
|
||||||
{ even a byte takes up a full stackslot -> align size to multiple of 4 }
|
{ even a byte takes up a full stackslot -> align size to multiple of 4 }
|
||||||
totalremovesize:=paraheight-(align(realresdef.size,4) shr 2);
|
totalremovesize:=paraheight-(align(realresdef.size,4) shr 2);
|
||||||
|
Loading…
Reference in New Issue
Block a user