This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic
Thursday, March 17 • 15:20 - 16:00
Bringing RenderScript to LLDB

Sign up or log in to save this to your schedule and see who's attending!

RenderScript is Android's compute framework for parallel computation via heterogeneous acceleration. It supports multiple target architectures and uses a two-stage compilation process, with both off-line and on-line stages, using LLVM bitcode as its intermediate representation. This split allows code to be written and compiled once, before execution on multiple architectures transparently from the perspective of the programmer.

In this talk, we give a technical tour of our upstream RenderScript LLDB plugin, and how it interacts with Android applications executing RenderScript code. We provide a brief overview of RenderScript, before delving into the LLDB specifics. We will discuss some of the challenges that we encountered in connecting to the runtime, and present some of the specific implementation techniques we used to hook into it and inspect its state. In addition, we will describe how we tweaked LLDB's JIT compiler for expression evaluation, and how we added commands specific to RenderScript data objects. This talk will cover topics such as the plug-in architecture of LLDB, the debugger's powerful hook mechanism, remote debugging, and generating debug information with LLVM.


Ewan Crawford

Codeplay Software Ltd

Luke Drummond

Codeplay Software Ltd

Thursday March 17, 2016 15:20 - 16:00

Attendees (12)