--- old/src/share/vm/compiler/compileBroker.cpp 2017-07-25 14:58:09.891844537 +0200 +++ new/src/share/vm/compiler/compileBroker.cpp 2017-07-25 14:58:05.408853887 +0200 @@ -1062,6 +1062,13 @@ } } + // Returning a value type as a pointer can break if the compiled + // call site knows the value type being returned and expects it in + // registers. + if (ValueTypeReturnedAsFields && method->is_compiled_lambda_form() && method->is_returning_vt()) { + return NULL; + } + // lock, make sure that the compilation // isn't prohibited in a straightforward way. AbstractCompiler* comp = CompileBroker::compiler(comp_level);