< prev index next >
src/share/vm/compiler/compileBroker.cpp
Print this page
*** 1060,1069 ****
--- 1060,1076 ----
return NULL;
}
}
}
+ // 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);
if (comp == NULL || !comp->can_compile_method(method) ||
compilation_is_prohibited(method, osr_bci, comp_level, directive->ExcludeOption)) {
< prev index next >