RFR: JDK-8013225: Refresh jdk's private ASM to the latest.
paul.sandoz at oracle.com
Fri Apr 26 14:12:43 UTC 2013
On Apr 26, 2013, at 3:25 PM, Remi Forax <forax at univ-mlv.fr> wrote:
> On 04/26/2013 01:43 PM, Paul Sandoz wrote:
>> On Apr 26, 2013, at 1:26 AM, Kumar Srinivasan <kumar.x.srinivasan at oracle.COM> wrote:
>>> On 4/25/2013 3:53 PM, Mike Duigou wrote:
>>>> The restyling changes obfustucated things a bit but I didn't see anything of concern in casual review.
>>>> I had hoped to see the updated SmallSet that didn't try to implement Iterator directly.
>>> Remi, Paul and Brian discussed that and struck a deal, maybe Paul/Brain
>>> can shed some light on that.
>> If we had stayed with the method names Iterator.forEach and Iterable.forEach (the former was renamed to Iterator.forEachRemaining) then that would have forced a change to SmallSet to fix its rampant layering violation. I don't recall we struck a deal to fix it, but it would be nice if we could do so.
> The"rampant layering violation" was introduced consciously.
> ASM is still used on small devices to re-transform bytecodes at runtime (ASM was originally created for that)
> so the core of ASM tries to minimize its memory impact, hence use tricks to avoid to create more classes than it should.
Is it really so terribly constrained that there is no room for another class?
Out of curiosity how much does the static memory footprint increase by if you add an additional class implementing an Iterator over 0, 1, or 2 elements?
More information about the core-libs-dev