[Lldb-commits] [lldb] r252108 - AddInitialArguments -> AddArguments, and we pass in the struct_address and push it too. All the
Jim Ingham via lldb-commits
lldb-commits at lists.llvm.org
Wed Nov 4 16:24:18 PST 2015
Author: jingham
Date: Wed Nov 4 18:24:18 2015
New Revision: 252108
URL: http://llvm.org/viewvc/llvm-project?rev=252108&view=rev
Log:
AddInitialArguments -> AddArguments, and we pass in the struct_address and push it too. All the
callers had to do this by hand and we ended up never actually adding initial arguments and then
reusing them by passing in the struct address separately, so the distinction wasn't needed.
Modified:
lldb/trunk/include/lldb/Expression/LLVMUserExpression.h
lldb/trunk/source/Expression/LLVMUserExpression.cpp
lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
Modified: lldb/trunk/include/lldb/Expression/LLVMUserExpression.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Expression/LLVMUserExpression.h?rev=252108&r1=252107&r2=252108&view=diff
==============================================================================
--- lldb/trunk/include/lldb/Expression/LLVMUserExpression.h (original)
+++ lldb/trunk/include/lldb/Expression/LLVMUserExpression.h Wed Nov 4 18:24:18 2015
@@ -77,11 +77,13 @@ class LLVMUserExpression : public UserEx
virtual void ScanContext(ExecutionContext &exe_ctx, lldb_private::Error &err) = 0;
bool PrepareToExecuteJITExpression(Stream &error_stream, ExecutionContext &exe_ctx, lldb::addr_t &struct_address);
+
virtual bool
- AddInitialArguments(ExecutionContext &exe_ctx, std::vector<lldb::addr_t> &args, Stream &error_stream)
- {
- return true;
- }
+ AddArguments (ExecutionContext &exe_ctx,
+ std::vector<lldb::addr_t> &args,
+ lldb::addr_t struct_address,
+ Stream &error_stream) = 0;
+
lldb::addr_t m_stack_frame_bottom; ///< The bottom of the allocated stack frame.
lldb::addr_t m_stack_frame_top; ///< The top of the allocated stack frame.
Modified: lldb/trunk/source/Expression/LLVMUserExpression.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Expression/LLVMUserExpression.cpp?rev=252108&r1=252107&r2=252108&view=diff
==============================================================================
--- lldb/trunk/source/Expression/LLVMUserExpression.cpp (original)
+++ lldb/trunk/source/Expression/LLVMUserExpression.cpp Wed Nov 4 18:24:18 2015
@@ -111,14 +111,12 @@ LLVMUserExpression::Execute(Stream &erro
std::vector<lldb::addr_t> args;
- if (!AddInitialArguments(exe_ctx, args, error_stream))
+ if (!AddArguments(exe_ctx, args, struct_address, error_stream))
{
- error_stream.Printf("Errored out in %s, couldn't AddInitialArguments", __FUNCTION__);
+ error_stream.Printf("Errored out in %s, couldn't AddArguments", __FUNCTION__);
return lldb::eExpressionSetupError;
}
- args.push_back(struct_address);
-
function_stack_bottom = m_stack_frame_bottom;
function_stack_top = m_stack_frame_top;
@@ -143,14 +141,12 @@ LLVMUserExpression::Execute(Stream &erro
std::vector<lldb::addr_t> args;
- if (!AddInitialArguments(exe_ctx, args, error_stream))
+ if (!AddArguments(exe_ctx, args, struct_address, error_stream))
{
- error_stream.Printf("Errored out in %s, couldn't AddInitialArguments", __FUNCTION__);
+ error_stream.Printf("Errored out in %s, couldn't AddArguments", __FUNCTION__);
return lldb::eExpressionSetupError;
}
- args.push_back(struct_address);
-
lldb::ThreadPlanSP call_plan_sp(new ThreadPlanCallUserExpression(exe_ctx.GetThreadRef(), wrapper_address,
args, options, shared_ptr_to_me));
Modified: lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp?rev=252108&r1=252107&r2=252108&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp (original)
+++ lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp Wed Nov 4 18:24:18 2015
@@ -555,9 +555,10 @@ ClangUserExpression::Parse (Stream &erro
}
bool
-ClangUserExpression::AddInitialArguments (ExecutionContext &exe_ctx,
- std::vector<lldb::addr_t> &args,
- Stream &error_stream)
+ClangUserExpression::AddArguments (ExecutionContext &exe_ctx,
+ std::vector<lldb::addr_t> &args,
+ lldb::addr_t struct_address,
+ Stream &error_stream)
{
lldb::addr_t object_ptr = LLDB_INVALID_ADDRESS;
lldb::addr_t cmd_ptr = LLDB_INVALID_ADDRESS;
@@ -612,7 +613,11 @@ ClangUserExpression::AddInitialArguments
if (m_in_objectivec_method)
args.push_back(cmd_ptr);
-
+ args.push_back(struct_address);
+ }
+ else
+ {
+ args.push_back(struct_address);
}
return true;
}
Modified: lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h?rev=252108&r1=252107&r2=252108&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h (original)
+++ lldb/trunk/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h Wed Nov 4 18:24:18 2015
@@ -188,9 +188,10 @@ private:
lldb_private::Error &err) override;
bool
- AddInitialArguments (ExecutionContext &exe_ctx,
- std::vector<lldb::addr_t> &args,
- Stream &error_stream) override;
+ AddArguments (ExecutionContext &exe_ctx,
+ std::vector<lldb::addr_t> &args,
+ lldb::addr_t struct_address,
+ Stream &error_stream) override;
ClangUserExpressionHelper m_type_system_helper;
More information about the lldb-commits
mailing list