- Rollup Version: 2.15.2
- Operating System (or Browser): any
- Node Version (if applicable): 14
- Link to reproduction (IMPORTANT, read below):
Expected Behavior
When rollup watch restart, the modules of last time will be released.
Actual Behavior
But it will be not. these modules are still keep by ARRAY_PROTOTYPE.
So it cause a memory leak.
I take memory snapshot before and after watch restart. Please see the picture below:

I read the code of ARRAY_PROTOTYPE, then find some code maybe cause memory leak.
expressionsToBeDeoptimizedByKey & thisParametersToBeDeoptimized
ARRAY_PROTOTYPE is a global variable, so the propertyexpressionsToBeDeoptimizedByKey and thisParametersToBeDeoptimized never clear.


Expected Behavior
When rollup watch restart, the modules of last time will be released.
Actual Behavior
But it will be not. these modules are still keep by ARRAY_PROTOTYPE.
So it cause a memory leak.
I take memory snapshot before and after watch restart. Please see the picture below:
I read the code of ARRAY_PROTOTYPE, then find some code maybe cause memory leak.
expressionsToBeDeoptimizedByKey&thisParametersToBeDeoptimizedARRAY_PROTOTYPEis a global variable, so the propertyexpressionsToBeDeoptimizedByKeyandthisParametersToBeDeoptimizednever clear.