~/talk

Adventures on the Road to Valhalla

Talkat JVM Language Summit 2015 · 2015-08-10..08-12· [java, concurrency]
slides:none on file

Prototype implements generics over primitives by keeping erased class files plus a specializer that uses a bytecode-mapping attribute and name-mangled specializer to emit specialized classes and i/load i/return replacements; generic methods use invokeDynamic and unsafe.defineAnonymousClass for installation. It proves compatibility and ports Streams with ~70% less code, but is brittle (bytecode-index dependent) and yields poor code sharing between instantiations. Proposed fixes: synthetic box$any interface, array-any abstraction, and constant-pool or universal-bytecode designs to let the VM manage sharing.

AI-written summary · about

  1. 0:00Intro
  2. 1:16Why do we need better generics?
  3. 2:45What's the problem with generics?
  4. 4:10Many paths to parametric polymorphism
  5. 5:51The Prime Directive
  6. 7:23Generic class specialization
  7. 8:43Specialization example
  8. 9:33Specialization metadata
  9. 15:37Generic methods
  10. 20:35Summary - Act 1
  11. 22:51What about Foo
  12. 24:41Rescuing wildcards
  13. 26:33Translation with wildcards
  14. 28:29More translation examples
  15. 29:13Wildcard challenge - accessibility
  16. 31:13Wildcard challenge - arrays
  17. 34:05Summary - Act 2
  18. 39:13overly typed bytecodes
  19. 42:04erasure
  20. 43:36describing specializations
  21. 44:47method signatures
  22. 46:34What's the point?
  23. 48:12Summary - Act 3
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.