diff -r 66570bfdbdd7 -r bbbef54e3b30 src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java --- a/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Thu Jan 23 14:09:29 2014 +0100 +++ b/src/share/classes/com/sun/tools/javac/comp/LambdaToMethod.java Thu Jan 23 06:34:53 2014 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -96,6 +96,9 @@ /** dump statistics about lambda code generation */ private boolean dumpLambdaToMethodStats; + /** force serializable representation, for stress testing **/ + private final boolean forceSerializable; + /** Flag for alternate metafactories indicating the lambda object is intended to be serializable */ public static final int FLAG_SERIALIZABLE = 1 << 0; @@ -131,6 +134,7 @@ Options options = Options.instance(context); dumpLambdaToMethodStats = options.isSet("dumpLambdaToMethodStats"); attr = Attr.instance(context); + forceSerializable = options.isSet("forceSerializable"); } // @@ -1694,6 +1698,9 @@ /** does this functional expression require serialization support? */ boolean isSerializable() { + if (forceSerializable) { + return true; + } for (Type target : tree.targets) { if (types.asSuper(target, syms.serializableType.tsym) != null) { return true;