summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/LanguageRuntime
Commit message (Collapse)AuthorAgeFilesLines
...
* Newer versions of the ObjC runtime have an extra field in objc_opt_t.Sean Callanan2015-11-201-6/+32
| | | | llvm-svn: 253732
* Allow renderscript runtime to read MIPS target arguments.Aidan Dodds2015-11-121-1/+41
| | | | llvm-svn: 252914
* Change the way we read data from the ObjC runtimeEnrico Granata2015-11-061-18/+20
| | | | llvm-svn: 252272
* Completely avoid building Apple simulator on non-Darwin platforms.Chaoren Lin2015-11-051-2/+6
| | | | | | | | | | | | | | Summary: This is a resubmission of r252179, but correctly ignores the source files for other platforms. Reviewers: granata.enrico, tberghammer, zturner, jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14389 llvm-svn: 252205
* Explicitly cast size_t var to (uint64_t) when printf format is PRIx64.Jason Molenda2015-10-291-2/+2
| | | | llvm-svn: 251585
* Fix Clang-tidy modernize-use-override warnings in ↵Eugene Zelenko2015-10-272-161/+123
| | | | | | source/Plugins/LanguageRuntime and Platform; other minor fixes. llvm-svn: 251374
* [RenderScript] Add option to break on a specific kernel invocationEwan Crawford2015-10-262-21/+262
| | | | | | | | | Adds option -c <x,y,z> to the 'language renderscript kernel breakpoint set' command. Breaks only on the invocation of the kernel with specified coordinate. Implemented by adding a callback to the kernel breakpoint which checks the coordinates of every invocation. llvm-svn: 251293
* Fix a build issue on Debian unstable. The compiler rejected the convertion ↵Sylvestre Ledru2015-10-261-2/+2
| | | | | | to ‘bool’ from ‘std::nullptr_t’ llvm-svn: 251276
* Attempt to fix MSVC builds after rL250966.Eugene Zelenko2015-10-221-9/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D13968 llvm-svn: 251031
* [AppleObjCRuntime] Don't bother looking for the runtime on non-apple targetsPavel Labath2015-10-221-1/+4
| | | | | | | | | | | | | | | Summary: This short-circuits the GetObjCVersion function to avoid iterating through target modules on non-apple targets. This function is called on every Process::IsDynamicValue call, so this overhead is not negligible. Reviewers: clayborg, jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13948 llvm-svn: 251004
* [RenderScript] Support for mips64 runtime hookEwan Crawford2015-10-221-16/+61
| | | | | | | | | Previously we could not hook the RS runtime on mips64 architectures. Patch implements ABI specific code for inspecting function arguments. Author: Dean De Leo, dean@codeplay.com llvm-svn: 251003
* Fix Clang-tidy modernize-use-override warnings in some files in ↵Eugene Zelenko2015-10-2210-425/+363
| | | | | | | | source/Plugins/LanguageRuntime; other minor fixes. Differential Revision: http://reviews.llvm.org/D13966 llvm-svn: 250966
* [RenderScript] Fix out of bounds warning.Ewan Crawford2015-10-211-3/+3
| | | | llvm-svn: 250891
* [RenderScript] New commands to save/load RS allocations to file.Ewan Crawford2015-10-212-40/+410
| | | | | | | | | | | | | | Patch adds command 'language renderscript allocation save' to store the contents of an allocation in a binary file. And 'language renderscript allocation load' to restore an allocation with the saved data from a binary file. Binary file format contains a header FileHeader with meta information preceding the raw data. Reviewed by: jingham, clayborg Subscribers: lldb-commits, domipheus Differential Revision: http://reviews.llvm.org/D13903 llvm-svn: 250886
* Resubmit: RenderScript command for printing allocation contents Ewan Crawford2015-10-162-0/+463
| | | | | | | | | Previous commit r250281 broke TestDataFormatterSmartArray.py Resolved in in this patch by adding the new enum eFormatVectorOfFloat16 to FormatManager. Differential Revision: http://reviews.llvm.org/D13730 llvm-svn: 250499
* Revert "RenderScript command for printing allocation contents"Pavel Labath2015-10-142-463/+0
| | | | | | This commit breaks TestDataFormatterSmartArray on all buildbots. llvm-svn: 250290
* RenderScript command for printing allocation contentsEwan Crawford2015-10-142-0/+463
| | | | | | | | | | | | | | | | | | | This patch adds the command 'language renderscript allocation dump <ID>' for printing the contents of a RS allocation. Displaying the coordinate of each element as well as its formatted value e.g (lldb) language renderscript allocation dump 1 Data (X, Y, Z): (0, 0, 0) = {0 1} (1, 0, 0) = {2 3} (2, 0, 0) = {4 5} A --file <filename> option is also included, since for large allocations it may be more helpful to view this text as a file. Reviewed by: jingham, clayborg Subscribers: lldb-commits, ADodds, domipheus, brucem Differential Revision: http://reviews.llvm.org/D13699 llvm-svn: 250281
* [Go] Fix inconsistent-missing-override warnings.Bruce Mitchener2015-10-071-4/+4
| | | | llvm-svn: 249531
* Add missing GoLanguageRuntime files.Ryan Brown2015-10-064-0/+350
| | | | llvm-svn: 249459
* Create GoLanguageRuntime.Ryan Brown2015-10-061-0/+1
| | | | | | GoLanguageRuntime supports finding the runtime type for Go interfaces. llvm-svn: 249456
* RenderScript command for printing allocation information Ewan Crawford2015-10-062-19/+637
| | | | | | | | | | | | | | | | This patch adds a new command 'language renderscript allocation list' for printing the details of all loaded RS allocations. In order to work out this information lldb JITs the runtime for the data it wants. This has a penalty of a couple seconds latency, so is only done once for each allocation and the results cached. If the user later wants to recalculate this information however, they can force lldb to do so with the --refresh flag. Reviewed by: jingham, clayborg Subscribers: lldb-commits, ADodds, domipheus, dean, tberghammer, danalbert, srhines Differential Revision: http://reviews.llvm.org/D13247 llvm-svn: 249380
* Moved more Clang-specific parts of the expression parser into the Clang plugin.Sean Callanan2015-09-251-1/+1
| | | | | | | | | There are still a bunch of dependencies on the plug-in, but this helps to identify them. There are also a few more bits we need to move (and abstract, for example the ClangPersistentVariables). llvm-svn: 248612
* Rename clang_type -> compiler_type for variables.Bruce Mitchener2015-09-241-9/+9
| | | | | | | | | | Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13102 llvm-svn: 248461
* The Visual Studio compiler does not like this C-ism when 'enum class'es are ↵Enrico Granata2015-09-231-1/+1
| | | | | | involved llvm-svn: 248429
* Make the ObjCLanguageRuntimes comply with llvm-style RTTIEnrico Granata2015-09-236-13/+45
| | | | llvm-svn: 248427
* On second thought, amend the previous patch to pass itself the ValueObject& ↵Enrico Granata2015-09-226-10/+14
| | | | | | for the static value instead of just its type llvm-svn: 248316
* Move the logic to post-process dynamic types for ValueObject purposes from ↵Enrico Granata2015-09-226-0/+83
| | | | | | | | | | | | the ValueObjects to the LanguageRuntime plugins This is meant to cover cases such as the obvious Base *base = new Derived(); where GetDynamicTypeAndAddress(base) would return the type "Derived", not "Derived *" llvm-svn: 248315
* RenderScript lookup bug fixEwan Crawford2015-09-221-3/+2
| | | | | | | | | | After the std::move operation the unique pointer is null. So this statement always returns a null pointer. Also remove unnecessary call to Module::ParseAllDebugSymbols(), which spews errors due to how it incorrectly tries to parse DWARF DIE types. llvm-svn: 248274
* Groundwork for better tracking of renderscript allocations and scriptsEwan Crawford2015-09-212-46/+237
| | | | | | | | | | | | This patch adds some of the groundwork required for tracking the lifetime of scripts and allocations and collecting data associated with them during execution. Committed on behalf of Aidan Dodds. Authored by: ADodds Reviewed by: clayborg, jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12936 llvm-svn: 248149
* Differential Revision: http://reviews.llvm.org/D12966Aidan Dodds2015-09-182-89/+234
| | | | | | On behalf of Dean De Leo llvm-svn: 248003
* Make LanguageRuntime::GetDynamicTypeAndAddress return a ValueTypeEnrico Granata2015-09-1710-12/+25
| | | | | | | | | For C++ and ObjC, dynamic values are always (at least somewhat) pointer-like in nature, so a ValueType of scalar is actually good enough that it could originally be hardcoded as the right choice Other languages, might have broader notions of things that are dynamic (e.g. a language where a value type can be dynamic). In those cases, it might actually be the case that a dynamic value is a pointer-to the data, or even a host address if dynamic expression results entirely in host space are being talked about This patch enables the language runtime to make that decision, and makes ValueObjectDynamicValue comply with it llvm-svn: 247957
* Add names to RenderScript kernel breakpoints.Ewan Crawford2015-09-161-2/+7
| | | | | | | Use Breakpoint::AddName to mark all RenderScript kernel breakpoints with the name 'RenderScriptKernel'. Also update logging channels to include LIBLLDB_LOG_BREAKPOINT where appropriate. llvm-svn: 247782
* This patch makes Clang-independent base classes for all the expression types ↵Jim Ingham2015-09-1511-218/+199
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that lldb currently vends. Before we had: ClangFunction ClangUtilityFunction ClangUserExpression and code all over in lldb that explicitly made Clang-based expressions. This patch adds an Expression base class, and three pure virtual implementations for the Expression kinds: FunctionCaller UtilityFunction UserExpression You can request one of these expression types from the Target using the Get<ExpressionType>ForLanguage. The Target will then consult all the registered TypeSystem plugins, and if the type system that matches the language can make an expression of that kind, it will do so and return it. Because all of the real expression types need to communicate with their ExpressionParser in a uniform way, I also added a ExpressionTypeSystemHelper class that expressions generically can vend, and a ClangExpressionHelper that encapsulates the operations that the ClangExpressionParser needs to perform on the ClangExpression types. Then each of the Clang* expression kinds constructs the appropriate helper to do what it needs. The patch also fixes a wart in the UtilityFunction that to use it you had to create a parallel FunctionCaller to actually call the function made by the UtilityFunction. Now the UtilityFunction can be asked to vend a FunctionCaller that will run its function. This cleaned up a lot of boiler plate code using UtilityFunctions. Note, in this patch all the expression types explicitly depend on the LLVM JIT and IR, and all the common JIT running code is in the FunctionCaller etc base classes. At some point we could also abstract that dependency but I don't see us adding another back end in the near term, so I'll leave that exercise till it is actually necessary. llvm-svn: 247720
* New RenderScript command to break on all kernelsEwan Crawford2015-09-102-10/+169
| | | | | | | | | | | | | | | | Patch adds a command to RenderScript plugin allowing users to automatically set breakpoints on every RS kernel. Command syntax is 'language renderscript kernel breakpoint all <enable/disable>.' Enable sets breakpoints on all currently loaded kernels, and any kernels which will be loaded in future. Disable results in breakpoints no longer being set on loaded kernels, but doesn't affect existing breakpoints. Current command 'language renderscript kernel breakpoint' is changed to 'language renderscript kernel breakpoint set' Reviewed by: clayborg, jingham Subscribers: lldb-commits, ADodds, domipheus Differential Revision: http://reviews.llvm.org/D12728 llvm-svn: 247262
* RenderScript pending kernel breakpoints.Ewan Crawford2015-09-042-59/+109
| | | | | | | | | | | | Currently the RS breakpoint command can only find a kernel if it's in an already loaded RS module. This patch allows users to set pending breakpoints on RenderScript kernels which will be loaded in the future. Implemented by creating a RS breakpoint resolver, to limit search scope to only RS modules. Reviewed by: clayborg, jingham Subscribers: lldb-commits, ADodds, domipheus Differential Revision: http://reviews.llvm.org/D12360 llvm-svn: 246842
* [cmake] Remove LLVM_NO_RTTI.Bruce Mitchener2015-09-033-6/+0
| | | | | | | | | | | | | | Summary: This doesn't exist in other LLVM projects any longer and doesn't do anything. Reviewers: chaoren, labath Subscribers: emaste, tberghammer, lldb-commits, danalbert Differential Revision: http://reviews.llvm.org/D12586 llvm-svn: 246749
* Simplify find_first_of & find_last_of on single char.Bruce Mitchener2015-09-012-3/+3
| | | | | | | | | | | | | | | Summary: When calling find_first_of and find_last_of on a single character, we can instead just call find / rfind and make our intent more clear. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12518 llvm-svn: 246609
* Add logging to a couple of regions of codeEnrico Granata2015-09-011-2/+22
| | | | llvm-svn: 246580
* Stop objects from keeping a strong reference to the process when they should ↵Greg Clayton2015-08-312-63/+82
| | | | | | have a weak reference. llvm-svn: 246488
* Final bit of type system cleanup that abstracts declaration contexts into ↵Greg Clayton2015-08-244-19/+19
| | | | | | | | | | | | | | | | | | | | lldb_private::CompilerDeclContext and renames ClangType to CompilerType in many accessors and functions. Create a new "lldb_private::CompilerDeclContext" class that will replace all direct uses of "clang::DeclContext" when used in compiler agnostic code, yet still allow for conversion to clang::DeclContext subclasses by clang specific code. This completes the abstraction of type parsing by removing all "clang::" references from the SymbolFileDWARF. The new "lldb_private::CompilerDeclContext" class abstracts decl contexts found in compiler type systems so they can be used in internal API calls. The TypeSystem is required to support CompilerDeclContexts with new pure virtual functions that start with "DeclContext" in the member function names. Converted all code that used lldb_private::ClangNamespaceDecl over to use the new CompilerDeclContext class and removed the ClangNamespaceDecl.cpp and ClangNamespaceDecl.h files. Removed direct use of clang APIs from SBType and now use the abstract type systems to correctly explore types. Bulk renames for things that used to return a ClangASTType which is now CompilerType: "Type::GetClangFullType()" to "Type::GetFullCompilerType()" "Type::GetClangLayoutType()" to "Type::GetLayoutCompilerType()" "Type::GetClangForwardType()" to "Type::GetForwardCompilerType()" "Value::GetClangType()" to "Value::GetCompilerType()" "Value::SetClangType (const CompilerType &)" to "Value::SetCompilerType (const CompilerType &)" "ValueObject::GetClangType ()" to "ValueObject::GetCompilerType()" many more renames that are similar. llvm-svn: 245905
* ClangASTType is now CompilerType.Greg Clayton2015-08-118-27/+27
| | | | | | This is more preparation for multiple different kinds of types from different compilers (clang, Pascal, Go, RenderScript, Swift, etc). llvm-svn: 244689
* First step in getting LLDB ready to support multiple different type systems.Greg Clayton2015-08-114-14/+13
| | | | | | | | This is the work done by Ryan Brown from http://reviews.llvm.org/D8712 that makes a TypeSystem class and abstracts types to be able to use a type system. All tests pass on MacOSX and passed on linux the last time this was submitted. llvm-svn: 244679
* Update lldb's ExternalASTSources to match Clang r244161.Richard Smith2015-08-061-7/+0
| | | | llvm-svn: 244194
* Initialize variable to prevent garbage values (RenderScriptRuntime)Ewan Crawford2015-07-241-1/+1
| | | | | | | | | | | The kernels_found variable is not initialized, so if it is not assigned true on line 823, then it will be a garbage value in the branch condition on line 828. This patch initializes the variable to false. Patch by neilparikh. Reviewers: domipheus Differential Revision: http://reviews.llvm.org/D11323 llvm-svn: 243104
* Add UNUSED_IF_ASSERT_DISABLED and apply it.Bruce Mitchener2015-07-241-1/+1
| | | | | | | | | | | | | | | Summary: This replaces (void)x; usages where they x was subsequently involved in an assertion with this macro to make the intent more clear. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11451 llvm-svn: 243074
* Don't specify languages when setting breakpoints in C function names. We ↵Greg Clayton2015-07-223-3/+3
| | | | | | won't be able to tell from the symbol value alone what language the symbol is. llvm-svn: 242969
* Add support for specifying a language to use when parsing breakpoints.Dawn Perchik2015-07-213-0/+3
| | | | | | | | | | | | | | | | | | | | Target and breakpoints options were added: breakpoint set --language lang --name func settings set target.language pascal These specify the Language to use when interpreting the breakpoint's expression (note: currently only implemented for breakpoints on identifiers). If the breakpoint language is not set, the target.language setting is used. This support is required by Pascal, for example, to set breakpoint at 'ns.foo' for function 'foo' in namespace 'ns'. Tests on the language were also added to Module::PrepareForFunctionNameLookup for efficiency. Reviewed by: clayborg Subscribers: jingham, lldb-commits Differential Revision: http://reviews.llvm.org/D11119 llvm-svn: 242844
* [Makefiles] Align library names with CMake buildKeno Fischer2015-07-143-9/+9
| | | | | | | | | | | | Summary: This aligns the library names used by the Makefile build to be the same as those create by the CMake build to make switching between the two easier. The only major difficulty was lldbHost which was one library in the CMake system and several in the Makefile system. Most of the other changes are trivial renames. Reviewers: labath Subscribers: emaste, tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D11154 llvm-svn: 242196
* Make many mangled functions that might demangle a name be allowed to specify ↵Greg Clayton2015-07-081-1/+1
| | | | | | a language to use in order to soon support Pascal and Java demangling. Dawn Perchik will take care of making this so. llvm-svn: 241751
* Fix build after recent clang interface changesPavel Labath2015-07-071-3/+5
| | | | llvm-svn: 241573
OpenPOWER on IntegriCloud