MH compilation is broken in valhalla(mvt branch) build

Roland Westrelin rwestrel at redhat.com
Fri Jun 23 13:29:18 UTC 2017


> to mitigate the impact of this, we could only bail out if the compiled lambda form really contains a value type in it's signature:
>
> diff -r 67cdfd4b0995 src/share/vm/compiler/compileBroker.cpp
> --- a/src/share/vm/compiler/compileBroker.cpp	Tue Jun 20 11:18:10 2017 +0200
> +++ b/src/share/vm/compiler/compileBroker.cpp	Thu Jun 22 16:55:50 2017 +0200
> @@ -1054,7 +1054,12 @@
>    // value type. If compiled as root of a compilation, C2 has no way
>    // to know a value type is passed.
>    if (ValueTypePassFieldsAsArgs && method->is_compiled_lambda_form()) {
> -    return NULL;
> +    ResourceMark rm;
> +    for (SignatureStream ss(method->signature()); !ss.at_return_type(); ss.next()) {
> +      if (ss.type() == T_VALUETYPE) {
> +        return NULL;
> +      }
> +    }
>    }
>  
>    // lock, make sure that the compilation
>
> Roland, what do you think?

That sounds like a good idea.

Roland.


More information about the valhalla-dev mailing list