android 292
play

ANDROID 292 IMPLEMENTING INVOKEDYNAMIC IN ANDROID Jrme Pilliet Rmi - PowerPoint PPT Presentation

ANDROID 292 IMPLEMENTING INVOKEDYNAMIC IN ANDROID Jrme Pilliet Rmi Forax , and Gilles Roussel University of Paris-Est Marne-la-Valle JAVA SPECIFICATION REQUEST 292 2006: start of the JSR 2011: included in Java 7 new instruction:


  1. ANDROID 292 IMPLEMENTING INVOKEDYNAMIC IN ANDROID Jérôme Pilliet Rémi Forax , and Gilles Roussel University of Paris-Est Marne-la-Vallée

  2. JAVA SPECIFICATION REQUEST 292 2006: start of the JSR 2011: included in Java 7 new instruction: invokedynamic flexible method invocation very late linking (at runtime) and dynamic re-linking new API: java.lang.invoke MethodHandle: type safe function pointers combiners which do arguments fiddling

  3. ANDROID Google's OS for smartphones and tablets uses the JVM: Dalvik almost Java 6 specification registers based DEX format: read-only limited battery and calculating power

  4. WHY ?

  5. ANDROID 292

  6. A NEW SPECIFICATION add constant pools and call site count in class format one instruction for each new kind of method invocation MH.invokeExact → invoke-exact MH.invoke → invoke-generic invokedynamic → invoke-dynamic all these instructions run in the C interpreter

  7. METHODHANDLE HIERARCHY

  8. COMBINERS INTERPRETER written in Java call by the C interpreter all arguments are boxed one stack frame for the whole tree unboxing when calling a method handle leaf

  9. RESULTS: INSTRUCTIONS VS REFLECTION

  10. RESULTS: INSTANCEOF VS COMBINERS INTERPRETER def plus(a, b): return a + b def choose(): if randint(0, 10) % 2 == 0: return plus(40, 2) else: return plus('foo', 'bar')

  11. CONCLUSION it works ! retro-compatibility FUTUR improve the dual stack prototype stack storage the arrays

  12. ANDROID 292 QUESTIONS ? https://bitbucket.org/jpilliet/android-292 https://github.com/brachior/Android-292

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend