deduplicating lambda methods

Vicente Romero vicente.romero at
Tue Mar 27 17:20:10 UTC 2018


On 03/27/2018 11:07 AM, Maurizio Cimadamore wrote:
> Hi Liam,
> I believe --debug options are used to generate extra information out 
> of javac, not to alter its behavior - it's probably better to use an 
> hidden flag (e.g. -XDdeduplicateLambdas=...) - which is consistent to 
> what we have done for indy string concat.

I will introduce this change before pushing the patch,

> Maurizio


> On 27/03/18 11:53, Liam Miller-Cushon wrote:
>> On Tue, Mar 27, 2018 at 3:17 AM Maurizio Cimadamore 
>> <maurizio.cimadamore at 
>> <mailto:maurizio.cimadamore at>> wrote:
>>     I see that the dedup logic is disabled for serializable lambdas
>>     and also
>>     when debugging options are present. As you said, there are some tests
>>     that rely on certain bytecode shape, so in such case it might be
>>     handy
>>     to switch off the machinery entirely; rather than switching off the
>>     machinery by using '-g' (which could result in potentially other
>>     bytecode changes), I guess I'd prefer to have an escape hatch hidden
>>     flag we could use to shut down the dedup machinery entirely, without
>>     altering any other javac codegen behavior. This could be useful as a
>>     conservative prevention measures in build systems (e.g. JDK itself).
>> I should have clarified that the flag I added in the last update to 
>> fix the tests
>> is actually a new flag (--debug:deduplicateLambdas={true,false}), 
>> instead of
>> using '-g' to disable deduplication as a side-effect.
>> Here it is as a webrev:
>> <>

More information about the amber-dev mailing list