Difference between revisions of "What the JVM needs"

From JVMLangSummit
Jump to navigationJump to search
Line 5: Line 5:
 
* fences
 
* fences
 
* typestate: now immutable
 
* typestate: now immutable
 +
* [[Why Tailcalls]]: as a guarantee, not just an optimization
  
 
=== numbers ===
 
=== numbers ===
Line 17: Line 18:
 
* 31-bit arrays
 
* 31-bit arrays
 
* 16-bit instructions
 
* 16-bit instructions
 +
* static data structures (array literals)
  
 
=== types ===
 
=== types ===
 
* structs, value types
 
* structs, value types

Revision as of 11:34, 28 July 2010

Notes from Rich Hickey's workshop

user mode limitations

  • please optimize this
  • fences
  • typestate: now immutable
  • Why Tailcalls: as a guarantee, not just an optimization

numbers

  • fixnums
  • need a uniform entry/exit types (Object => boxing)
  • Hacker's delight overflow detection is OK (only for add/sub); need a static method that throws overflow-exception?

storage management

  • floating garbage foo(o, o=null); is tailcall a solution?

limits

  • 31-bit arrays
  • 16-bit instructions
  • static data structures (array literals)

types

  • structs, value types