Project: JDT
Bug 35523 Scalability of refactoring (avoid OOMs during change execution).
Reported: 2003-03-21 16:36:47 | Status: resolved fixed

Build: 2.1 RC3a VM: IBM JRE 1.3.0 build cn130-20010502 I was testing the scalability of some of the java refactorings with today's build. I was getting OutOfMemoryErrors for a number of tests, which I've almost never experienced with this VM. For example, I tried: 1) Import jdt.ui and all required projects as source using the plugin import wizard. 2) Refactor > Change Method Signature on org.eclipse.core.runtime.Status 3) Change order of method arguments. This was giving me OutOfMemoryErrors on Windows and Linux. After setting my max java heap very high (-Xmx700M), it was successful, but VM size according to Windows went from 150M to over 700M allocated. This refactoring isn't as big as it seems. There were under 700 references to this constructor, so that's almost 1MB of memory per reference.

Files changed in fix:
org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/ChangeSignatureRefactoring.java org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/MoveInnerToTopRefactoring.java org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PullUpRefactoring.java org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PushDownRefactoring.java