summaryrefslogtreecommitdiff
path: root/compiler/driver/compiler_options.cc
AgeCommit message (Collapse)Author
2016-03-16Remove --native-debuggable compiler option.David Srbecky
Check if both --debuggable and --generate-debug-info are set instead. History: I have recently added the --native-debuggable flag to control whether extra stack maps are generated in order to produce accurate native line number mapping of all generated code. I didn't want to include it into --debuggable since we compile boot.oat as debuggable and so it would be affected. On second thought, it would have been reasonable to generate the extra stackmaps only if both --debuggable and --generate-debug-info are set, instead of introducing another compiler flag. This means we do not affect boot.oat but we still get the extra stack maps if DWARF debug information is explicitly requested. Change-Id: I7e5e557e4850a88b3b6f86178d2cb645fb1e1110
2016-01-28Merge "ART: Add option to ensure deterministic compilation"Andreas Gampe
2016-01-27ART: Add option to ensure deterministic compilationAndreas Gampe
To ensure reliable stable generation of a boot image, add a flag for forced determinism, trading compile time for a deterministic output. We have to run certain passes in the compiler-driver single-threaded. It is also necessary to try to make the heap layout deterministic. Switch to nonconcurrent GC, use the free-list implementation for LOS, and try to allocate the main space at a known location. This is best effort at the moment. To allow the compiler phase to be parallelized, const-strings need to be created beforehand. The identity hashcode seed needs to be pinned. Besides the Dex object we also need to null the DexFile pointer in dex caches. For classes, we need to remove the clinit thread ID. Fix oatdump alignment padding accounting. Bug: 26687569 Change-Id: Ia82120e8f715bb3691d861817b12778ac677355a
2016-01-27Merge "ART: Allow --no-inline-from to specify multiple dex files."Vladimir Marko
2016-01-27ART: Allow --no-inline-from to specify multiple dex files.Vladimir Marko
This will allow tests to specify arbitrary dex files from which we should not inline, in addition to core-oj, so that we can test the related functionality. Additionally, should the core-oj.jar core grow beyond a single classes.dex and require a multi-dex .jar, this change makes sure that we prevent inlining also from the extra classes<N>.dex files. Change-Id: I74da4839bf9bb405dd62ad80563bf646a7a65dd9
2016-01-26Revert "Revert "Add option to generate compressed backtrace info.""David Srbecky
This reverts commit 8546cc9aeb05e866e1fb6a9e4130d53ea330baa8. Change-Id: I676fdf9af27fa3b16fa8921778ff8832ab8c437d
2016-01-25Revert "Add option to generate compressed backtrace info."David Srbecky
This reverts commit 5fdcc3c931b70204fd8c491afa66f57f8428490f. Change-Id: I9c1f5aad6933a46af6717e3a90a51f76111f9c8a
2016-01-22Add option to generate compressed backtrace info.David Srbecky
Add flag --generate-mini-debug-info which generates LZMA compressed .symtab and .debug_frame, which are sufficient to print java backtraces in libunwind. If enabled, it increases the size of boot.oat by about 3.5%. Change-Id: Ic3c2ef7704c05fa328720c6781ca2a9b8e3935a3
2016-01-18Move --dump-cfg and dump-cfg-append to CompilerOptions.Nicolas Geoffray
It simplifies passing the option to the JIT. Change-Id: Iee1b722362899e5809ef97be90961e3dda1e16cc
2016-01-12Disable --generate-debug-info by default in all cases.David Srbecky
The option is disabled by default unless explicitly enabled. In particular, it is no longer enabled in debug builds, and the --debuggable option does not affect it. I want to use this flag to control the debug data generated by the JIT as well. Since this takes run-time memory, I want to avoid enabling it unless explicitly requested. Change-Id: I2e2afa2f56bb0a113e92cc2e26e00dceac1689ca
2015-12-23Dex2oat support for multiple oat file and image file outputs.Jeff Hao
Multiple changes to dex2oat and the runtime to support a --multi-image option. This generates a separate oat file and image file output for each dex file input. Change-Id: Ie1d6f0b8afa8aed5790065b8c2eb177990c60129
2015-12-23Generate more stack maps during native debugging.David Srbecky
Generate extra stack map at the start of each java statement. The stack maps are later translated to DWARF which allows LLDB to set breakpoints and view local variables. Change-Id: If00ab875513308e4a1399d1e12e0fe8934a6f0c3
2015-12-15Fix --inline-max-code-units option.Nicolas Geoffray
Change-Id: I73d99904a9eed69eb89efb6fb764db4a5d199f20
2015-10-30Refactor code so that JIT can parse compiler options.Nicolas Geoffray
Currently only the CompilerOptions class. We should also do it for the CompilerDriver options. This will fix the flakiness seen on jdwp testing, as the debuggable flag was not passed to the compiler. Change-Id: I4218dd5928c9f4fe2d6191ab11e5598e7cf84bcf
2015-07-29Allow for fine tuning the inliner.Calin Juravle
Bug: 21868508 Change-Id: Ice7f1604ed65e3d4ed2a010ee431272b7d000cdb
2015-05-28Add --generate-debug-info flag and remove the other two flags.David Srbecky
Replace the flags --include-debug-symbols and --include-cfi with single flag called --generate-debug-info (with alias -g). The name "symbol" was not ideal, since depending on context it may be interpreted as "ELF symbols", or "debugging information". This CL also means that we have only the options to include either all debugging information or none. This should be fine, since we can use standard tools to strip anything we do not want. Change-Id: I721fded56d755d7eed0ef36aa84e841a1f5747f8
2015-04-13Add --include-cfi compiler option.David Srbecky
Decouple generation of CFI from the rest of debug symbols. This makes it possible to generate oat with CFI but without the rest of debug symbols. This is in line with intention of the .eh_frame section. The section does not have the .debug_ prefix because it is considered somewhat different to the rest of debug symbols. Change-Id: I32816ecd4f30ac4e0dc69d69a4993e349c737f96
2015-04-12Remove the --gen-gdb-info compiler option.David Srbecky
It is never used. We generally use --include-debug-symbols instead. Change-Id: I933495cd85ab4f7dfcf3ef3cd2d943d4b870ffeb
2015-04-02Refactor RelativePatcher out of OatWriter.Vladimir Marko
Move the relative patcher classes to compiler/linker/ and compiler/linker/<arch>/ . Refactor them to avoid OatWriter dependency so that they can be unit tested. Add tests for x86 and x86-64. Change-Id: I1b42baa9fc431378e4cce1399bec590c5b5a409f
2015-03-05ART: Add option to abort dex2oat on hard failureAndreas Gampe
Add an option that aborts dex2oat when a hard verifier failure occurs. Bug: 19606409 Change-Id: I53195284e22fe6207274101e85745af763c06271
2015-03-04ART: Add debuggable compiler flagAndreas Gampe
Add a flag to compiler options that shows debuggability. Change-Id: Id17ec72babe2ee88713a0d274eff86508de30666
2015-01-28Clean up pass driverMathieu Chartier
Added pass manager to hold the state which used to be in global variables. Static variables caused issues with Runtime.exit since they are destroyed by the global destructors while threads are still executing. Bug: 17950037 Change-Id: Ie0e4546dc9e48909c8df996a5c135be682d50044