[fpc-pascal] ppcjvm issues
Jonas Maebe
jonas at freepascal.org
Fri Jan 27 19:41:14 CET 2017
On 27/01/17 19:37, Dmitry Boyarintsev wrote:
> Object Pascal semantic of calling .Free suggests that "o" would no
> longer be a valid object.
> If a dummy Free method is available for JVM, then such semantic is violated.
Calling Free is not defined as "any further access to this object must
now crash or return invalid data". It is defined as "if the instance is
not nil, then it calls the destroy method, and next it calls
FreeInstance". You could override FreeInstance to not free memory on any
platform.
> However, if JVM free method would at least reset "o" reference to nil,
> then the semantic of "o" being an invalid object remains.
There is no need to do this.
> It also suggests to the garbage collector that the memory could be
> recycled earlier, that the variable leaves the scope.
That is true.
Jonas
More information about the fpc-pascal
mailing list