Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[qvtd-dev] OCL ScopeFilter API evolution

Hi Horace

ScopeFilter had a MetaModelManager field that was not being released by MetaModelManager.dispose()
causing heap growth and a heap exhausted in the OCL Editor tests.

It was easier to lose the field and pass the MetaModelManager as an additional argument to compareMatches
than make ScopeFilter a MetaModelManagerListener.

qvtd GIT master has a transitional change to allow the ocl GIT master to change.

When you've picked it up, I can eliminate the old API.

----

Use of MetaModelManager fields should be avoided since they can participate in access loops that prevent GC. If they can't be avoided the MetaModelManagerListener interface can be implemented to null the field when required.

MetaModelManager leakage can be debugged by uncommenting the allLiveInstances code in MetaModelManager.java.

    Regards

        Ed


Back to the top