Valhalla EG 20200129
Frederic Parain
frederic.parain at oracle.com
Wed Jan 29 17:57:36 UTC 2020
# 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
More information about the valhalla-spec-experts
mailing list