| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
access to the members of the Objective-C self object.
The approach we take is to generate the method as a
@category on top of the self object, and to pass the
"self" pointer to it. (_cmd is currently NULL.)
Most changes are in ClangExpressionDeclMap, but the
change that adds support to the ABIs to pass _cmd
touches a fair amount of code.
llvm-svn: 121722
|
| |
|
|
|
|
|
|
|
| |
logic that supported calling functions with arbitrary
arguments. We use ClangFunction for this, and the
low-level logic is only required to support one or two
pointer arguments.
llvm-svn: 118871
|
| |
|
|
|
|
| |
Also changed eSetVarTypeBool to eSetVarTypeBoolean to make it consistent with eArgTypeBoolean.
llvm-svn: 118824
|
| |
|
|
|
|
|
|
|
| |
when a function starts and ends, and also the
disassembly for anything that is a client of
ClangExpressionParser after it has been JIT
compiled.
llvm-svn: 118401
|
| |
|
|
|
|
|
|
|
|
|
| |
don't crash if we disable logging when some code already has a copy of the
logger. Prior to this fix, logs were handed out as pointers and if they were
held onto while a log got disabled, then it could cause a crash. Now all logs
are handed out as shared pointers so this problem shouldn't happen anymore.
We are also using our new shared pointers that put the shared pointer count
and the object into the same allocation for a tad better performance.
llvm-svn: 118319
|
| |
|
|
|
|
|
| |
implementation of the Objective-C object checkers
into the Objective-C language runtime.
llvm-svn: 118226
|
| |
|
|
|
|
|
|
| |
exceptions for different languages out of
ThreadPlanCallFunction and put it into the
appropriate language runtimes.
llvm-svn: 118200
|
| |
|
|
|
|
|
|
| |
exception checks at the right time, and modified
ClangFunction so that it doesn't misinterpret the
stop as a timeout stop.
llvm-svn: 118189
|
| |
|
|
|
|
|
|
| |
set breakpoints at the different locations where
an exception could be thrown, so that exceptions
thrown by expressions are properly caught.
llvm-svn: 118142
|
| |
|
|
|
|
|
|
|
| |
being generated correctly.
Also added a messy way to single-step through expressions
that I will improve soon.
llvm-svn: 117342
|
| |
|
|
|
|
|
|
| |
on. Also made stopping
in mid-expression evaluation when we hit a breakpoint/signal work.
llvm-svn: 117341
|
| |
|
|
|
|
| |
Christopher for pointing it out.
llvm-svn: 116871
|
| |
|
|
|
|
|
| |
that occur while they run. This means that they
clean up after themselves even when they crash.
llvm-svn: 116870
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for C++ classes. Replaced it with a less hacky approach:
- If an expression is defined in the context of a
method of class A, then that expression is wrapped as
___clang_class::___clang_expr(void*) { ... }
instead of ___clang_expr(void*) { ... }.
- ___clang_class is resolved as the type of the target
of the "this" pointer in the method the expression
is defined in.
- When reporting the type of ___clang_class, a method
with the signature ___clang_expr(void*) is added to
that class, so that Clang doesn't complain about a
method being defined without a corresponding
declaration.
- Whenever the expression gets called, "this" gets
looked up, type-checked, and then passed in as the
first argument.
This required the following changes:
- The ABIs were changed to support passing of the "this"
pointer as part of trivial calls.
- ThreadPlanCallFunction and ClangFunction were changed
to support passing of an optional "this" pointer.
- ClangUserExpression was extended to perform the
wrapping described above.
- ClangASTSource was changed to revert the changes
required by the hack.
- ClangExpressionParser, IRForTarget, and
ClangExpressionDeclMap were changed to handle
different manglings of ___clang_expr flexibly. This
meant no longer searching for a function called
___clang_expr, but rather looking for a function whose
name *contains* ___clang_expr.
- ClangExpressionParser and ClangExpressionDeclMap now
remember whether "this" is required, and know how to
look it up as necessary.
A few inheritance bugs remain, and I'm trying to resolve
these. But it is now possible to use "this" as well as
refer implicitly to member variables, when in the proper
context.
llvm-svn: 114384
|
| |
|
|
|
|
| |
to symbolicate things without the need for a valid process subclass.
llvm-svn: 113895
|
| |
|
|
|
|
|
|
|
|
|
| |
call Objective-C methods from expressions. Also added
some more logging to the function-calling thread plan
so that we can see the registers when a function
finishes.
Also documented things maybe a bit better.
llvm-svn: 109938
|
| |
|
|
| |
llvm-svn: 108524
|
| |
|
|
|
|
|
|
|
|
|
| |
reasoning based on the kind of thread plan
without having to use RTTI.
Removed the ThreadPlanContinue and replaced with a ShouldAutoContinue query that serves the same purpose. Having to push
another plan to assert that if there's no other indication the target should continue when this plan is popped was flakey
and error prone. This method is more stable, and fixed problems we were having with thread specific breakpoints.
llvm-svn: 106378
|
|
|
llvm-svn: 105619
|