# Valhalla EG Meeting 20200129

Dan S., Remi, Brian, Dan (IBM), Tobi (IBM) 

  Brian:
        language side implementation:
        compiler support to inject InlineObject/IdentityObject super-types at 
compilation time
        some issues with reflection code assuming type hierarchy


  Remi:
        Annotation of j.l.Object


  Brian:
        j.l.Object is not annotated by either  InlineObject or IdentityObject


  Remi:
        new Object()?

  Brian:
        new Object() will be the instanciation of an abtract class subclass of 
j.l.Object
        push people to move away from this construct with new way to get an 
Object.

  Remi:
        could be in the IdentityObject interface

  Brian:
        working on reference projection as an interface or an abstract class
        possible update next week, working on simplification
        would lead to rewrite of "State of Valhalla"

  Remi:
        did analysis of static fields set at VM startup but not read (bytecode 
level analysis)

  Brian:
        Lazy static: push people to initalize at time of declaration
        but issue with checked exception => reasons why people at initializing 
fields
        in big static initializers
        we need a construct in the language to declare a lazy static with 
shared throw
        clause for all lazy static fields

  Remi:
        Foreign Memory Access API: issue with VarHandles and checked exceptions
        Talk at Brest JUG:
             no questions about Records, but a lot of questions about instanceof
             lot of confusion between inline types and records

  Brian:
        arithmetic benchmarks being developped
        mixed results
              HashMap:
                optimized for many years
                lot of corner cases

  Remi:
        did some experiments with HashMap
        saw benefits only if both key and values are in-lined

  Brian:
        issue with big flattened values => lot of data to be moved
        need to educate people about algorithms/designs that work or don't work 
with inline types

  Remi:
        references Google's fluent API to re-work abstractions

  Brian:
        hope that using inline types for lambdas would help escape analysis 
getting it right

  Dan (IBM):
      is there a JDK release targeted for Valhalla?

  Brian:
        too early to say
        VM work is consolidating
        language work still needs significant work before having a road-map
        
        first release won't have all the features but have to have further 
additions in mind

        next Valhalla off-site probably during spring

  Remi:
        John wants to move to a specialized generics prototype


  Fred:
        start with a simpler specialized generics model so language and VM 
teams can work in parallel:
        VM team extending VM data structures (constant pool patching)
        language team working on full specialization model

  Brian:
        retrofitting of Integer: seemed impossible, but now seems more feasible
        

Reply via email to