Value Types Optimization Dependencies
Karen Kinnear
karen.kinnear at oracle.com
Fri Jun 15 14:43:37 UTC 2018
Trying a photo of the matrix below:
> On Jun 15, 2018, at 10:33 AM, Karen Kinnear <karen.kinnear at oracle.com> wrote:
>
>
> Value Types Optimization Dependencies
>
> Optimizations in the JVM runtime for Value Types depend on three different kinds of characteristics:
>
> Type Information:
> - Value Type vs. Identity Type
> All the optimizations below depend on the static type information, specifically
> the key type properties of being identity-less and immutable.
>
> It is important to ensure Value Type Consistency to enable these optimizations.
> This relies on disallowing value types to ever migrate to become identity types.
> Value-Based-Classes migrating to value types are a corner case which will require
> special handling.
>
> Non-nullability/flattenability
> Some optimizations additionally require non-nullability which enables flattenability.
> This could be thought of as container properties.
>
> Runtime dynamic information
> Some optimizations additionally require dynamic information such as:
> is_flattened (is flattened in heap containers)
> (requires flattenable, implementation-dependent)
> non-null (either non-nullable or dynamically non-null)
>
> *1: Calling convention optimizations will require additional exploration.
> Here are some possibilities.
>
> JIT optimizations have been destabilized with the introduction of the null reference for value types. Current implementation switches back to interpreted mode when a null reference to a value type is detected, it is primordial to have value types optimization re-enabled whenever possible. Considered explorations include:
> null profiling to scalarize only value types that are non-null most of the time
> support for multiple nmethods
> use of a new non-null emotional type/carrier type to provide non-nullability guarantees
> New JIT optimizations might also be required to fully optimize the different kind of value arrays.
>
>
>
>
>
>
>> On Jun 15, 2018, at 10:06 AM, Remi Forax <forax at univ-mlv.fr> wrote:
>>
>> Hi Karen,
>> the pdf was scrubbed.
>>
>> Rémi
>>
>> ----- Mail original -----
>>> De: "Karen Kinnear" <karen.kinnear at oracle.com>
>>> À: "valhalla-dev" <valhalla-dev at openjdk.java.net>
>>> Envoyé: Vendredi 15 Juin 2018 16:00:08
>>> Objet: Re: Value Types Optimization Dependencies
>>
>>> resend again - Attaching the .pdf - I had cut-and-pasted from preview - sorry
>>> that didn’t translate.
>>> Feedback contents requested.
>>>
>>> thanks,
>>> Karen
>>>
>>>>
>>>> Goal of the exercise is to clarify which optimizations depend on which
>>>> characteristics, in part to
>>>> understand the impact of null on optimizations.
>
More information about the valhalla-dev
mailing list