Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kotlin improvements: debugger and compilation (MobiVM#349)
* LLVM: line number info extended with column number (will be used to reference debug information) * LLVM, debugger: debug information retrieved from object file renamed to have Dwarf* prefix. Just to make difference with all kinds of debug information * * hooks updated to include PC as part of call stack (will be used to find offset from method start) * Debugger: local variable resolution rework (work in progress): - for each instruction variable slice is generated (list of visible variables at this instruction) - variables are being resolved not by line number of call stack but by PC - for this special table of pc to method start is generated which point to variables visible at specific PC * * removed exception and replaced with trace to log (in case RoboVM runs in debug mode) for case when type of local doesn't match debug information. its kotlin case * * reverted commited by mistake debug configuration for VM libraries * * debugger: added support for Kotlin SMAP * debug locations that were throwing exceptions removed * cleanup * * always append to @llvm.used as array even if only element has to be added. as debug version of llvm has assertion that checks for array type and will crash * * variable slicer reworked to ignore parameter information while resolving variables. As kotlin reuses arguments slots and this made mess. Now only relies on debug information provided in class file * * fixed to support recent builds, don't build 32bit version for mac anymore * * fixed instrumentation of instruction. hook has to be called before first instruction of line, not before last. othervise complex expressions will be half solved when BP reaches. * * reworked emitting .spfpoffset for arm targets in the way to use two different symbols: one for saving offset and second for emitting it. otherwise it crashes on assert due symbol was used reason in debug builds
- Loading branch information